Comment faire un tableau?
L'environnement permettant de faire un tableau en mode texte
s'appelle tabular
. Il prend un argument optionnel et un argument obligatoire:
\begin{tabular}[⟨position⟩]{⟨format⟩} contenu du tableau \end{tabular}
L'argument obligatoire ⟨format⟩ décrit le format des colonnes du tableau. Cela suppose que vous connaissiez à l'avance le nombre de colonnes que vous aller produire, sinon affichera un message d'erreur. Une colonne est représentée par une lettre parmi:
l
(pour que le texte soit aligné à gauche dans la colonne),c
(pour que le texte soit centré dans la colonne) etr
(pour que le texte soit aligné à droite).
Les trois types de colonne (l
, c
et r
)
ne passent jamais à la ligne et sont, par conséquent, adaptées aux
cellules dont le contenu est court. Lorsque les cellules sont bien
remplies, il faut opter pour p{larg}
(p
comme paragraphe)
qui compose le contenu de la cellule dans un paragraphe justifié de largeur larg
.
Une répétition n
fois d'un motif élémentaire est facilitée par
*{n}{motif}
. *{20}{lcc}
est équivalent à lcclcclcc…lcc
(en tout
60 colonnes), plus concrètement l'exemple suivant montre un tableau
utilisant ce genre de descriptions.
Exemple de tableau (remarquez que le second |
fait partie de l'argument de *
).
\begin{tabular}{|*{5}{p{1cm}|}} \hline 0 & 1 & 2 & 3 & 4 \\ \hline 1 & 2 & 3 & 4 & 5 \\ \hline 2 & 3 & 4 & 5 & 6 \\ \hline \end{tabular}
L'argument optionnel ⟨position⟩ définit la position verticale du
tableau par rapport à la ligne courante: t
pour top
(le haut du tableau sera aligné avec la ligne courante),
c
pour center et b
pour bottom (le bas du tableau
sera aligné avec la ligne courante).
L'effet de ces options est illustré ici:
b \begin{tabular}[b]{l} A \\ B \end{tabular}\quad c \begin{tabular}[c]{l} A \\ B \end{tabular}\quad t \begin{tabular}[t]{l} A \\ B \end{tabular}
Il existe d'autres possibilités, que nous verrons plus bas.
Chaque colonne peut être séparée de sa voisine par un ou plusieurs filets verticaux,
que l'on indique à l'aide du caractère |
(la barre verticale).
À l'intérieur de l'environnement tabular
, on remplit ligne par ligne,
chaque ligne se terminant par \\
(ou \tabularnewline
):
et à l'intérieur de chaque ligne, on remplit cellule par cellule de
gauche à droite, chaque cellule étant séparée de la suivante par &
:
\begin{tabular}{cccc} cellule $1$ & cellule $2$ & \dots & cellule $m$ \\ \end{tabular}
L'exemple suivant présente un tableau simple:
\begin{tabular}{|l|r|c||r|} \hline Article & Prix unitaire & Quantité & Prix total \\ \hline Arrosoir & $19,90$~\EUR & 2 & $39,80$~\EUR \\ Brouette & $129,00$~\EUR & 1 & $129,00$~\EUR \\ Râteau & $9,90$~\EUR & 1 & $9,90$~\EUR \\ \hline Total & & & $178,70$~\EUR \\ \hline \end{tabular}
Pour placer des filets verticaux (traits délimitant les colonnes), il
faudra insérer |
dans l'argument format
de l'environnement tabular
.
Placer des filet horizontaux se fait en plaçant la commande \hline
(horizontal line)
après le \\
.
Par défaut, toutes les colonnes, quel que soit leur type, sont
entourées par un blanc contrôlé par le paramètre \tabcolsep
.
Deux colonnes successives sont donc séparées par un espace de largeur 2 × \tabcolsep
.
Dans un tableau à trois colonnes, on aurait:
Enfin, il est possible de séparer deux colonnes par autre chose qu'un
filet vertical, en remplaçant le |
par @{code}
.
Dans ce cas, l'espacement entre les colonnes est supprimé,
et l'argument code
de @
remplace la barre verticale « classique ».
Pour faire un tableau en mode mathématique, on utilisera l'environnement array
,
dont l'utilisation est similaire. Voir la question
« Comment composer un tableau en mode mathématique? »
pour un exemple.
L'environnement tabbing
permet également de créer des
tableaux, avec une optique assez différente. Voir la section
« tabulations »
pour des informations complémentaires.
Où placer son tableau?
Placé tel quel dans un paragraphe, votre tableau va s'intégrer au texte avec les règles d'alignement évoquées ci-dessus.
Le flottant table
défini par la plupart des classes
classiques (les classes standard, et leurs clones memoir et
les classes KOMA-script). Le tableau peut alors flotter (c'est-à-dire
trouver la place la plus confortable) et être affublé d'une légende
(commande \caption
) accompagnée d'un numéro que l'on peut
référencer par le mécanisme habituel (\label
, \ref
).
\dots{}voir le tableau~\ref{tab=Un_tableau_simple}. % \begin{table} \begin{tabular}{ll} A & B \\ C & D \\ \end{tabular} \caption{Un tableau simple} \label{tab=Un_tableau_simple} \end{table}
Si l'on désire que le tableau ne flotte pas, on pourra utiliser
les environnements center
, flushleft
, qui placeront le tableau
dans un paragraphe à part avec un peu d'espace pour le séparer du texte.
\dots{}le tableau suivant: \begin{center} \begin{tabular}{ll} A & B \\ C & D \\ \end{tabular} \end{center}
On perd cependant toute possibilité d'attacher une légende et de référencer le tableau. Lisez les réponses à la question « Comment est géré le positionnement des flottants? ».