Les zones spéciales

« zone spéciale » est un terme générique pour désigner des zones qui ont un traitement différents du traitement normal des paragraphes. Les zones spéciales sont aux nombres de quatre : les tableaux, les insertions de média, les lignes de codes et les données HTML brutes. Le début d’une zone est indiquée par la répétition au début d’une ligne de trois caractères identiques propres à la zone et sa fin est indiquée par la répétition de ces mêmes caractères.

Les successions de caractères valides sont les suivants :

En début de zone, le nombre de caractères répétés doit être exactement trois ; en effet, suivant les zones, des paramètres supplémentaires peuvent être attendus après ces trois caractère. En fin de zone, le nombre de caractères est au minimum trois mais peut être supérieur pour mieux marquer la fin de la zone.

Toutes les zones sont susceptibles de posséder un numéro (exemples : Figure 11, Tableau 22) et une légende. Ce numéro et cette légende doivent être définis impérativement juste après la ligne indiquant le début de la zone. Le numéro est défini en commençant une ligne par n= et la légende est définie en commençant une ligne par l=. Comme un paragraphe, numéro et légende peuvent comprendre des mises en forme (gras, italique)

Les tableaux

Une zone de tableau commence par les caractères : ===. Ces trois caractères peuvent être suivi des caractères h et v. Le caractère h indique que la première ligne du tableau est une ligne d’en-tête, le caractère v indique que c’est la première colonne qui est une ligne d’entête. h et v peuvent être combinées.

Il y a deux manières de représenter un tableau, le mode par défaut et le mode d’importation. On bascule en mode d’importation si un des caractères suivants est présent sur la ligne de début de zone (en plus des caractères h et v) : « t,;:|* ». En absence d’un tel caractère, on suit le mode par défaut.

Dans tous les cas, une cellule qui commence par un chiffre ou le signe moins est considéré comme un cellule contenant un nombre, ce qui a pour conséquence de l’aligner à droite (dans l’affichage par défaut).

Mode par défaut de présentation d’un tableau

À l’intérieur de la zone, chaque ligne indique le contenu d’une cellule du tableau Une ligne blanche marque un changement de ligne. Une cellule contenant uniquement le caractère - est considéré comme une cellule vide.

Une cellule peut être étendue sur plusieurs colonnes en la commençant par [(colspan=x)]x est le nombre de colonnes.

Une cellule peut être étendue sur plusieurs lignes en la commençant par [(rowspan=y)]y est le nombre de lignes.

Il est possible d’étendre une cellule à la fois sur plusieurs lignes et plusieurs colonnes en la commençant par la combinaison [(colspan=x rowspan=y)]. Les raisons de cette syntaxe sont expliquées en Les attributs des styles de paragraphe, de caractères et des zones spéciales

===h
n= Tableau 1.1
l= Exemple

En-tête 1
En-tête 2
En-tête 3

Cellule 1.1
[(colspan=2)] valeur sur deux colonnes

-
La cellule précédente est vide
Cellule 2.3

Cellule 3.1
[(rowspan=2)] Cellule sur deux lignes

Cellule 4.1
Cellule 4.3

Cellule 5.1
[(colspan=2 rowspan=2)] Cellule sur deux lignes et deux colonnes

Cellule 6.1

===========

Exemple de tableau dans le mode par défaut

Ce qui donne le résultat suivant :

Tableau 1 : Exemple
En-tête 1En-tête 2En-tête 3
Cellule 11valeur sur deux colonnes
 La cellule précédente est videCellule 23
Cellule 31Cellule sur deux lignes
Cellule 41Cellule 43
Cellule 51Cellule sur deux lignes et deux colonnes
Cellule 61

Mode d’importation

Le mode d’importation est conçu pour récupérer facilement des données tabulaires à partir d’un autre programme via un copier/coller. La plupart du temps, en effet, un tableau par copier/coller se présente sous la forme d’une ligne de texte pour une ligne de tableau avec un séparateur délimitant au sein de la ligne les différentes colonnes (dans LibreOffice, il s’agit de la tabulation).

La présence d’un des caractères suivant dans la ligne de début de tableau : « t,;:|* » indique non seulement que ce qui va suivre doit être traité via le mode d’importation mais aussi le caractère à utiliser comme séparateur Le caractère t indique qu’il faut utiliser les tabulations comme séparateur

===h*
n=Tableau 2
l=Avec l'astérisque comme séparteur

Fruits*Prix au kilo*Producteur
Pommes*2,90 €*Saveurs de Normandie
Pêches*4,65 €*Soleil du midi
Abricots*3,90 €*Soleil du midi
===


===hv,
n=Tableau 3
l=Avec la virgule comme séparateur

,Nbre de tables,Nbre de chaises
Salle Victor Hugo,15,75
Salle des fêtes,4,160

============================

Deux exemples de tableau en mode d’importation

Ce qui donne les résultats suivants :

Tableau 2 : Avec l’astérisque comme séparateur
FruitsPrix au kiloProducteur
Pommes2,90 €Saveurs de Normandie
Pêches4,65 €Soleil du midi
Abricots3,90 €Soleil du midi
Tableau 3 : Avec la virgule comme séparateur
 Nbre de tablesNbre de chaises
Salle Victor Hugo1575
Salle des fêtes4160

Précisons qu’en mode d’importation, il n’y a ni traitement typographique (remplacement de l’apostrophe, espaces insécables) ni traitement des possibilités de mise en forme des caractères, ceci à fin de réduire le risque de pertes d’information à l’importation.

Les insertions de média

Note : pour le moment, les seuls médias pris en compte sont les images, la prise en compte des vidéos et de l’audio (balises <audio> et <video> de HTML5).

Une zone d’insertion de média commence par les caractères :::, qui doivent être suivi par un ou plusieurs caractères indiquant le type de média. Les choix possibles sont les suivants :

La zone d’insertion comprend ensuite une série de paramètres (en plus des paramètres n= et l= communs à toutes les zones).

s= et i= sont deux paramètres mutuellement excluant. s= indique que la source est une URL qui peut être absolue ou relatice (une URL est relative est résolue à partir de l’URL de base des images définie dans la configuration de la fichothèque. i= est une référence à une illustration d’un album de la fiche sous la forme {nom de l'album}/{identifiant de l'illustration}.

Une « image-bloc » :
:::
n=Schéma 1.2
l= Extrait de schéma

s=exemples/schema.png
w=408
h=106
a=http://www.exemole.fr
::::

Une « lettrine » à gauche :
:::ll
s=illu_paragraphe17.jpg
c=Semences paysannes
:::

Une « lettrine » à droite avec référence à l'illustration d'identifiant 2 de l'album exemple :
:::lr
i=exemple/2
:::

Plusieurs exemples

Ce qui donne le résultat suivant :

Schéma 12 : Extrait de schéma

Semences paysannes

Paragraphe « s’écoulant » à droite de l’image en lettrine gauche;

Tout comme le paragraphe suivant

Vient ensuite l’exemple de la lettrine à droite :

Remarque : pour les images, il existe un autre moyen d’insertion au sein d’un texte (voir Les styles de paragraphe).

Lignes de code

Une zone de lignes de code par les caractères +++. Comme son nom l’indique, elle sert à indiquer des lignes de code informatique, ce qui permet d’éviter des traitements typographiques non désirés et de prendre en compte l’indentation (les blocs d’exemple de saisie de cette page sont des zones de ligne de code).

Chaque série de deux espaces ou une tabulation en début de ligne sont considérées comme un « pas » d’indentation.

Lorsque les trois premiers caractères +++ de déclaration de la zone sont suivi de x ou xml, l’indentation est automatiquement calculée en se basant sur les balises fermantes et ouvrantes.

Lorsque les trois premiers caractères +++ de déclaration de la zone sont suivi de s ou script, l’indentation est automatiquement calculée en se basant sur les accolades fermantes et ouvrantes.

Dans les zones de code, les lignes blanches sont prises en compte sauf celles de début et de fin et il n’y a pas de possibilité de mise en forme.

Zone Xml :

+++x
l= Xml d'une fiche
<fiche>
<entete><titre>Titre</titre>
<soustitre>Sous-titre</soustitre>
</entete>
</fiche>
+++

Zone de script

+++s
n=Script 2.2
l=Fonction d'affichage

function affiche(id) {
var el = document.getElementById(id);
if (el != null) {
el.style.display="visible";
}
}

+++

Zone sans indication avec indentation précisée :

+++
Sommaire du guide
  Chapitre 1 : la prise en main
    1.1 se connecter
    1.2 saisir des fiches
  Chapitre 2 : aller plus loin
+++

Différents exemples de zone de code

Ce qui donne le résultat suivant :

<fiche>
  <entete><titre>Titre</titre>
    <soustitre>Sous-titre</soustitre>
  </entete>
</fiche>

Xml d’une fiche

function affiche(id) {
  var el = document.getElementById(id);
  if (el != null) {
    el.style.display="visible";
  }
}

Script 22 : Fonction d’affichage

Sommaire du guide
  Chapitre 1 : la prise en main
    1.1 se connecter
    1.2 saisir des fiches
  Chapitre 2 : aller plus loin

Les encadrés

Les zones d’encadré commence par les caractères !!!. Ces trois caractères peuvent être suivi d’un code de langue, pour indiquer que cet encadré correspond à une langue particulière. Cette indication de langue n’a pas d’effet visible à l’affichage mais peut être utile pour créer des textes multilingues.

Comme toutes autres zones, on peut spécifier un numéro ou une légende à l’encadré avec des lignes commençant par l= ou n= juste après la ligne de déclaration de la zone. Pour la suite, une zone d’encadré se comporte exactement comme du texte normal : on peut y inclure des niveaux de titres, des tableaux, des images, etc. La seule zone que l’on ne peut pas inclure c’est un autre encadré (pas de « sous-encadré).

!!!fr
n=Encadré 1
l= exemple de code

Texte normal avec toutes les possibilités comme {l'italique} et le {{gras}}.
+++
plus une zone de code !
+++
Fin de l'encadré
!!!

Exemple d’encadré comprenant du code avec indication du français (fr) comme langue

Ce qui donne le résultat suivant :

Texte normal avec toutes les possibilités comme l’italique et le gras

plus une zone de code !

Fin de l’encadré

Encadré 1 : exemple de code

Les données brutes HTML

Les zones de données brutes HTML commence par les caractères ???. Le texte à l’intérieur d’une telle zone n’est pas traité et est fourni tel quel lors de l’affichage HTML.

De telles zones sont utiles lorsqu’il s’agit d’insérer une vidéo hébergée sur un serveur de type DailyMotion ou Youtube. Il faut cependant être conscient qu’une zone de données brutes peut entrainer l’insertion de code HTML non valide ou même cassant la mise en forme générale de la page HTML. En outre, les données HTML brutes ne sont pas reprises dans l’exportation au format ODT.

???
n=
l= Code d'insertion d'une carte UMap

<iframe width="100%" height="300px" frameBorder="0" src="http://umap.openstreetmap.fr/fr/map/a-partir-de-chabenet_1200?scaleControl=false&miniMap=false&scrollWheelZoom=false&zoomControl=true&allowEdit=false&moreControl=true&datalayersControl=true&onLoadPanel=undefined"></iframe><p><a href="http://umap.openstreetmap.fr/fr/map/a-partir-de-chabenet_1200">Voir en plein écran</a></p>

???

Ce qui donne :

Voir en plein écran

Code d’insertion d’une carte UMap