21. Environnements prédéfinis

Table des matières

Suivant

Précédent

 21.1 Alignement du texte
 21.2 Les dérivées des listes
 21.2.1 Liste de points
 21.2.2 Enumération
 21.2.3 Description
 21.3 Citation et poème
 21.4 Tabulation
 21.5 Tableau
 21.6 Texte littéral

Nous avons déjà cité quelques environnements qui sont prédéfinis par LaTeX. Nous décrivons ici leur fonctionnement avec plus de précisions.

21.1 Alignement du texte

Dans la plupart des ouvrages, le texte est justifié, c'est-à-dire qu'une ligne de texte débute à la marge de gauche et se termine à la marge de droite, les espaces entre les mots étant ajustés en fonction de cet impératif. Pour certains extraits, on peut désirer supprimer cette contrainte en choisissant d'aligner le texte à gauche ou à droite ou de le centrer sur la largeur de la page. Pour cela, on utilise l'un des trois environnements center, flushleft ou flushright

  • center est utilisé pour produire une ou plusieurs lignes de texte centré sur la page. La commande \\ permet de passer à la ligne. Les paragraphes sont également permis mais ne sont pas indentés.
  • flushleft produit un texte aligné à gauche et non justifié (les lignes ne se terminent pas toutes à la marge de droite).
  • flushright produit un texte aligné à la marge de droite et non justifié (donc ne commence pas nécessairement à la marge de gauche).

Les commandes \centering, \raggedleft et \raggedright modifient les paramètres de mise en page de LaTeX et s'utilise dans un environnement pour produire un effet similaire aux trois environnements définis ci-dessus. Le placement d'une de ces commandes dans l'environnement principale change donc la pagination de la suite du document tout entier.

21.2 Les dérivés des listes

LaTeX propose trois environnements basés sur les listes. La structure de ceux-ci est identique mais c'est la manière de présenter le texte qui diffère.

Pour les trois, chaque nouvel élément débute par la commande \item. Elle accepte un argument optionnel dont l'effet dépend de l'environnement.

LaTeX autorise qu'un élément d'une liste soit également une liste. Dans les explications ci-dessous, un élement d'une liste insérée dans le document est de profondeur 1. Si un élément d'une liste est encore une liste, les éléments de cette deuxième liste auront une profondeur 2 et ainsi de suite.

Remarque  LaTeX propose un environnement plus général intitulé list qui permet à l’utilisateur de définir ses propres environnements de liste. Nous espérons introduire celui-ci dans une future mise à jour de ce guide.

21.2.1 Liste de points

Par défaut, itemize commence chaque nouvelle ligne par un symbole dépendant du style et de sa profondeur. Par exemple, un gros point noir pour les éléments de la profondeur 1, un tiret pour ceux de profondeur 2,...

L'argument optionnel d'un nouvel élément remplace le symbole. Il est aligné à droite avec les autres symboles et peut même déborder dans la marge de gauche sans provoquer d'erreur.

Voici un exemple.

ListePoints

Cette liste est obtenue par le texte d’entrée suivant.
\begin{itemize}
\item Voici le premier élement de cette liste. Vous constatez que les lignes sont décalée de la marge de gauche du texte et sont alignées derrière le symbole. Les lignes sont cependant justifiées comme dans tout le texte si on ne modifie pas cette option de \LaTeX.
\begin{itemize}
\item Comme deuxième élément de la liste, nous avons placé une autre liste. On remarque le changement de symbole pour désigner un nouvel élément ainsi que le décalage de l'alignement vers la droite.
\item Le deuxième élément de cette liste s'aligne sur le premier.
\item[N.B.] Fournir un argument optionnel pour un nouvel élément provoque le remplacement du symbole.
\end{itemize}
\end{itemize}

21.2.2 Enumératon

Une énumération est fort similaire à une liste de points. La différence est le symbole qui identifie un nouvel élément. Dans ce cas, le symbole n'est plus identique pour chaque élément d'une même profondeur mais c'est un symbole qui est incrémenté à chaque nouvel élément. Par exemple, pour la profondeur 1, c'est un nombre et pour la 2, c'est une lettre.

Un argument optionnel remplace encore une fois le numéro et ne provoque pas son incrémentation comme le montre l'exemple ci dessous.

ListeEnum

Cette énumération est obtenue par le texte suivant.
\begin{enumerate}
\item Le premier élément de profondeur 1 est numéroté par un chiffre.
\begin{enumerate}
\item Un énumération dans une autre provoque le changement du type de numérotation
\item[N.B.] L'argument optionnel annule la numérotation
\item C'est le troisième élément mais il est identifié par le deuxième symbole car l'argument optionnel du deuxième élément ne provoque pas l'incrémentation.
\end{enumerate}
\end{enumerate}

21.2.3 Description

Une description se présente comme les deux précédents environnements mais il n'y a pas de symbole qui identifie un nouvel élément. Cependant, la première ligne débute avec un retrait négatif par rapport aux autres. Si un argument optionnel est fourni, il est placé en gras avant la ligne et sert donc d'identificateur de la ligne.

ListeDescription

Ce texte est obtenu grâce aux lignes suivantes.
\begin{description}
\item Comme aucun argument optionnel n'est fourni, le texte est simplement placé légèrement en retrait.
\item[option] L'argument optionnel (option) est placé en gras et en retrait. Observez comment se comporte da deuxième ligne de texte dans une description.
\end{description}

21.3 Citation et poème

LaTeX propose trois environnements pour les citations dans lesquels les marges gauche et droite sont déplacées de la même distance. Un poème est similaire à ceux-ci.

  • quote  est utilisé pour de brèves citations, séparées par un ligne vide (dans le texte d'entrée). Il n'y a pas de retrait de paragraphe et un espace vertical supplémentaire est ajouté entre les paragraphes.
  • quotation  est utilisé pour des citations de plus d'un paragraphe, séparés par une ligne vide également. Il y a un retrait de paragraphe et l'espace normal entre les paragraphes est utilisé.
  • verse  est utilisé pour un poème. Les lignes d'une même strophe sont séparées par \\ et les strophes sont determinées par une ou plusieurs lignes vides.
  • poetry  Cet environnement est similaire à verse. Une nouvelle strophe s'obtient en laissant une ligne vide. Une nouvelle ligne s'obtient par \\ .

Nous laissons le soin à l’utilisateur de tester ces environnements que nous utilisons rarement.

21.4 Tabulation

Les tabulations sont assez complexes à réaliser en LaTeX et doivent être limitée autant que possible à notre avis. Nous allons tout d'abord décrire systématiquement le fonctionnement des tabulations et ensuite envisager un exemple qui, nous l'espérons, sera beaucoup plus compréhensible.

Cet environnement tabbing produit une séquence de lignes (en mode texte) avec un alignement basé sur des tabulations. Les tabulations sont numérotées 0, 1, 2,... Une tabulation est dite définie si on lui a assigné une position horizontale sur la page. La tabulation 0 est toujours définie par défaut (côté gauche de la page) et si une tabulation i (un nombre) est définie, les précédentes le sont également.

Le fonctionnement est basé sur les valeurs next_tab_stop et left_margin_tab. Initialement la valeur de next_tab_stop est 1 et celle de left_margin_tab est 0. La valeur de next_tab_stop est incrémentée par \= ou \> et réinitialisée par \\ ou \kill. Les commandes suivantes peuvent être utilisées dans l'environnement.

  • \= Si la valeur de next_tab_stop est i , alors la tabulation i est initialisée à cette position et la valeur de next_tab_stop est incrémentée.
  • \> si next_tab_stop vaut i , alors le texte qui suit débute à la tabulation i (même si elle est à gauche de la position où l'on se trouve!) et la valeur de next_tab_stop est incrémentée.
  • \\ Débute une nouvelle ligne en initialisant next_tab_stop à left_margin_tab. Donc le texte de la nouvelle ligne débutera à la tabulation left_margin_tab.
  • \kill Elimine la ligne courante en gardant les définitions des tabulations de cette ligne, initialise next_tab_stop à left_margin_tab. Elle permet de définir des tabulations en se basant sur une ligne fictive.
  • \+ Augmente d'une unité la valeur de left_margin_tab .
  • \- Diminue la valeur de left_margin_tab , qui doit être positive, d'une unité.
  • \ Diminue la valeur de next_tab_stop d'une unité. Cette commande ne peut être utilisée qu'en début de ligne pour annuler l'effet d'un \+ pour cette ligne.
  • \' Place le texte juste à droite de la tabulation suivante ou contre la marge de gauche.
  • \` Place le texte contre la marge de droite. Il ne peut y avoir de \> , \= ou de \ commande après sur cette ligne.
  • \pushtabs Sauve les positions des tabulations pour les réutiliser lors de la commande \poptabs suivante.
  • \poptabs voir \pushtabs .
  • \a... Les commandes \= , \' et \` produisent généralement des accents mais sont redéfinies dans un tabbing . Les commandes \a= , \a' et \a` remplacent ces commandes.

Considérons à présent un exemple très simple. Nous allons donner le texte introduit pour créer les lignes suivantes.

 Le texte placé dans le fichier d'entrée est le suivant.
 \begin{tabbing}
 xxxxxxxxx\=xxxx\= \kill         %définition des tabulations
 pomme \>50 \> bonne qualité\\
 poire \> 41 \> qualité moyenne\\
 annanas \> 87 \> médiocre
 \end{tabbing}

Remaque  Dans ce cas, il aurait certainement été plus facile d’utiliser un tableau.

21.5 Tableau

Pour mettre en forme un tableau avec LaTeX, il existe deux environnements: tabular et array. Ceux-ci s'utilisent de manière similaire. La différence entre les deux est simple: par défaut, le mode texte est utilisé pour les éléments des cellules dans un tabular alors que c'est le mode mathématique pour un array. On distingue les deux environnements essentiellement par l'utilité que l'on en fait: array est utilisé pour créer des matrices (ou tout autre tableau dont les éléments nécessitent le mode mathématique) et tabular pour créer des tableaux dont les éléments sont en mode texte.

Un tableau est considéré par LaTeX comme une boite et donc doit être plus petit qu'une page.

Décrivons les notions qui sont communes aux deux. Ce que nous écrivons pour tabular dans ces paragraphes reste valable pour array sauf mention explicite du contraire.

Ces environnements nécessitent un argument supplémentaire pour spécifier le nombre de colonnes. La syntaxe d'un tableau est
\begin{tabular}[pos]{cols}
lignes
\end{tabular}
 où

  • pos est un argument optionnel qui spécifie la position en hauteur du tableau sur la ligne; par défaut, le tableau est centré, un t aligne le dessus avec la ligne et un b , le dessous. C'est un paramètre courant pour les boites.
  • cols précise le format des colonnes. Chaque caractère correspond à une colonne ou une séparation de colonne.
     l Une colonne où les éléments sont alignés à gauche.
     r Une colonne où les éléments sont alignés à droite.
     c Une colonne où les éléments sont centrés.
     | Une ligne verticale entre deux colonnes.
     @{texte} Insère le texte dans toutes les lignes de la colonne. Le texte est en mode texte ou mathé\-matique suivant que l'on est dans un tabular ou un array . Cette commande annule l'espace normal entre les deux colonnes où elle se trouve.
     p{larg} produit une colonne de largeur larg (une longueur) où le texte est comme dans une commande \parbox.
     *{nbr}{cols} est équivalent à nbr copies de cols qui peut lui même contenir une *-expression.
  • lignes est une séquence de lignes séparées par \\ . Chaque ligne est une séquence d'éléments séparés par & et il doit y avoir le même nombre d'éléments que de colonnes spécifiées par cols . Chaque élément est compilé comme s'il se trouvait entre accolades et, donc, l'effet d'une macro (de changement de caractères par exemple) se limite à cet élément. Les commandes suivantes peuvent apparaître dans les lignes.
    -    \multicolumn{num}{col}{texte} fait de texte l'élément d'une cellule qui prend la place de num cellules dans la lignes où elle se trouve. Si num=1, alors la commande sert uniquement à changer la position de cet élément dans la cellule. col peut contenir exactement les mêmes caractères que cols mais ne peut contenir qu'une seule colonne.
    -    \vline Lorsqu'elle est utilisée à l'intérieur d'une colonne, elle produit une ligne verticale de la hauteur de la cellule.

    Les instructions suivantes peuvent venir entre les lignes (c’est-à-dire après un \\)pour produire des lignes horizontales.
    -     \hline produit une ligne horizontale sur toute la largeur du tableau.
    -     \cline{i - j} produit une ligne horizontale de la colonne i à la colonne j incluses.

La largeur des colonnes est automatiquement ajustée à la largeur du plus large élément de cette colonne. Il ne peut pas y avoir un & après le dernier élément d'une ligne. On peut inclure un tableau dans un tableau (récursivement).

Considérons un exemple pour éclairer tout cela et donnons le code pour créer le tableau qui suit.

Tableau

 \begin{tabular}{|l|c|c|c|}\hline
 & \multicolumn{3}{c|}{Vente}\\\cline{2-4}
 \multicolumn{1}{|c|}{\raisebox{6pt}[0pt][0pt]{Fruit}}
 & 1995 & 1996 & 1997 \\\hline
 Poire & 6.5 & 7.8 & 7.2 \\
 Pomme & 15 & 16 &15.5 \\
 Prune & 7.8 & 9 & 9.2 \\\hline
 \end{tabular}

21.6 Texte littéral

L'environnement verbatim restitue exactement le texte d'entrée en sortie. Il respecte tous les caractères (même réservés) ainsi que les espaces et les fins de ligne. La police utilisée est de type typewriter. Cet environnement commence une nouvelle ligne et passe à la ligne lorsqu'il se termine avec l’ajout d’un espace supplémentaire.

Il est possible de produire quelques caractères affichés exactement comme introduits mais qui ne se trouvent pas sur une ligne séparée. La commande à utiliser est \verb et sa syntaxe est un peu particulière. Cette commande prend un argument (le texte à afficher) délimité par une paire de caractères identiques (à l'exception de l'espace, de * et d'une lettre). Ainsi les commandes
\verb-$\é &- et \verb+$\é &+ produisent le même texte qui est $\é &.

 Il y a également l'environnement verbatim* et la commande \verb*. Elles agissent comme verbatim et \verb au fait près qu'un espace produit un caractère particulier.

Il y a trois restrictions à l'utilisation de cet environnement et de cette commande:
(1) ils ne peuvent apparaître dans un argument d'une commande mais bien dans un autre environnement,
(2) il ne peut y avoir aucun espace entre la commande \verb ou \verb* et son argument et
(3) il ne peut y avoir d'espace entre \end et {verbatim}.

Table des matières

Précédent

Suivant

Conception et réalisation : Frédéric Geraerds
Consultez l'historique de ce guide.
Dernière modifcation le 29/09/97
Commentaire avec mention du site LaTeX.

Picture