Repartons avec un exemple du simple tableau défini avec l'environnement tabular
. Ce tableau possède deux colonnes et trois lignes, la première colonne voit son texte aligné à gauche (l
) et la seconde colonne a une taille fixe de 5 centimètres (p{5cm}
).
| \begin{tabular}{|l|p{5cm}|} | \hline | Mot & \\ \hline | Table & Objet permettant de en hauteur des petits objets \\ \hline | Table & Constellation de sud, peu lumineuse \\ \hline | Livre & Un livre est un document transportable, formant une et comme tel \\ \hline | \end{tabular} |
|
listing l13.1 Un tableau avec l'environnement tabular
Description du tableau
Le paramètre de l'environnement tabular
donne la description du tableau, il donne le nombre de colonnes, des informations sur comment le texte de ces colonnes est rendu et enfin défini les séparateurs de colonnes. Le tableau suivant liste les différents descripteurs à utiliser avec l'environnement tabular
.
Symboles |
Description |
l |
Le texte qui doit tenir sur une seule ligne est aligné à gauche |
r |
Le texte qui doit tenir sur une seule ligne est aligné à gauche |
c |
Le texte qui doit tenir sur une seule ligne est centré |
p{largeur} |
Le texte est considéré comme un paragraphe et est placé dans une cellule de largeur fixe spécifiée par le paramètre largeur . Le texte peut s'étendre sur plusieurs lignes et reste dans la même cellule |
| |
Ajoute une ligne horizontale entre les deux colonnes. On peut avoir une double ligne avec || |
@{Texte} |
Le Texte spécifié sera écrit entre les deux colonnes. Aucun espacement horizontal est inséré entre Texte et le texte des colonnes |
*{Num}{Desc} |
La description Desc est répétée Num fois |
tab l13.1 Descripteurs pour l'environnement tabular
On a pas eu l'occasion de voir le dernier symbole dans le chapitre 4, il permet d'éviter d'écrire une très longue description lorsque celle-ci est répétitive. Le listing suivant donne un exemple qui utilise ce descripteur ainsi que le descripteur @{}
pour se rafraichir la mémoire.
| \begin{tabular}{|c|*{4}{@{\ $\times$\ }c@{\ =\ }c|}} | 1 & 1 & 1 & 2 & 2 & 3 & 3 & 4 & 4 \\ | 2 & 1 & 2 & 2 & 4 & 3 & 6 & 4 & 8 \\ | 3 & 1 & 3 & 2 & 6 & 3 & 9 & 4 & 12 \\ | 4 & 1 & 4 & 2 & 8 & 3 & 12 & 4 & 16 \\ | \end{tabular} |
|
listing l13.2 Utilisation des descripteurs @{}
et *{}{}
La description du tableau consiste donc en une première colonne dont le texte est centré suivi de la description @{\ $\times$\ }c@{\ =\ }c|}
répétée quatre fois. On a donc le symbole ×
en tant que séparateur de colonnes, suivi d'une colonne dont le texte est centré suivi du symbole =
et enfin encore une colonne dont le texte est centré suivi d'une ligne horizontale. Remarquez l'utilisation de la commande \
qui permet d'ajouter une espace insécable.
Nouveaux descripteurs
Une série de nouveaux descripteurs ont été ajouté avec le package array
. Nous allons maintenant passer en revue ces différents descripteurs qui sont repris dans le tableau suivant.
Symboles |
Description |
m{largeur} |
Le texte est considéré comme un paragraphe et est placé dans une cellule de largeur fixe spécifiée par le paramètre largeur . Le texte peut s'étendre sur plusieurs lignes et reste dans la même cellule mais le texte des autres cellules est centré verticalement |
b{largeur} |
Le texte est considéré comme un paragraphe et est placé dans une cellule de largeur fixe spécifiée par le paramètre largeur . Le texte peut s'étendre sur plusieurs lignes et reste dans la même cellule mais le texte des autres cellules est aligné en bas |
>{Texte} |
Le Texte spécifié est ajouté au début de la colonne suivante, le texte est mis dans la cellule |
<{Texte} |
Le Texte spécifié est ajouté à la fin de la colonne suivante, le texte est mis dans la cellule |
!{Texte} |
Le Texte spécifié sera écrit entre les deux colonnes mais contrairement à @{} , l'espacement horizontal est conservé |
tab l13.2 Nouveaux descripteurs du package array
Les deux premiers descripteurs m{}
et b{}
jouent le même rôle que p{}
si ce n'est que ces descripteurs vont agir sur l'alignement vertical du texte des autres cellules du tableau. L'exemple suivant montre l'utilisation de m{}
, remarquez la différence avec le premier exemple de cette section.
| \begin{tabular}{|l|m{5cm}|} | \hline | Mot & \\ \hline | Table & Objet permettant de en hauteur des petits objets \\ \hline | Table & Constellation de sud, peu lumineuse \\ \hline | Livre & Un livre est un document transportable, formant une et comme tel \\ \hline | \end{tabular} |
|
listing l13.3 Le descripteur m{}
Grâce aux deux descripteurs >{}
et <{}
, il est possible d'insérer un même texte dans chaque cellule d'une colonne. On peut insérer une texte avant ou après le texte des cellules, et on peut bien entendu également utiliser des commandes pour mettre par exemple toute une colonne en gras.
| \begin{tabular}{|>{\tt \color{blue}}l|>{\small}m{5cm}<{.}|} | \hline | ls & liste les fichiers et d'un \\ \hline | cp & permet de faire une copie de fichiers ou \\ \hline | mv & permet de des fichiers ou \\ \hline | \end{tabular} |
|
listing l13.4 Les descripteurs >{}
et <{}
Le texte de la première colonne est rendu avec une police machine à écrire et en bleu. Le texte de la second colonne est rendu avec une petite police, de plus, un point est inséré après le texte de chaque cellule de la colonne.
Définir un descripteur
Enfin, il est possible de définir ses propres descripteurs de colonne pour éviter de toujours devoir retaper une longue description. Pour ce faire, il faut utiliser la commande newcolumntype
qui prend deux paramètres : le premier paramètre est une lettre à utiliser comme descripteur de colonne et le second paramètre est la description proprement dite. Le listing suivant montre comment utiliser la commande en simplifiant l'exemple précédent.
| \newcolumntype{C}{>{\tt \color{blue}}l} | \newcolumntype{T}{>{\small}m{5cm}<{.}} | | \begin{tabular}{|C|T|} | \hline | ls & liste les fichiers et d'un \\ \hline | cp & permet de faire une copie de fichiers ou \\ \hline | mv & permet de des fichiers ou \\ \hline | \end{tabular} |
|
listing l13.5 Définir un nouveau descripteur de colonne