I. Les tableaux simples▲
Pour insérer un tableau, aucune extension n'est nécessaire, il faut utiliser l'environnement tabular déjà défini par LaTeX. On commencera donc par \begin{tabular}et bien évidemment, on finira par \end{tabular}. Compilez le code suivant et observez le rendu.
Sélectionnez
|
|
Vous venez de réaliser votre premier tableau. Quelques explications sont tout de même nécessaires :
- l'environnement tabular prend en argument les descripteurs de colonne, ici -cc- pour deux colonnes centrées (on y reviendra plus tard) ;
- ensuite, on remplit les cellules qui doivent être séparées par une esperluette (« et » commercial) & ;
- chaque ligne du tableau se termine par \\ pour passer à la ligne suivante.
I-A. Les filets horizontaux▲
Le tableau précédent extrêmement simple ne possède pas de filet horizontal. Compilez le code suivant et observez le rendu.
Sélectionnez
|
|
La commande \hline sert à insérer une ligne horizontale de la largeur du tableau.
I-B. Les filets verticaux▲
Pour insérer des filets verticaux, il faut utiliser le caractère | (tube ou pipe en anglais) que l'on obtient par la combinaison de touches alt gr + 6. Ce caractère est à insérer dans l'argument de tabular, entre les descripteurs de colonne (il est possible d'en mettre plusieurs).
Sélectionnez
|
|
I-C. Les descripteurs de colonne▲
Comme vu précédemment en argument de tabular, il faut ajouter les descripteurs de colonne et le nombre de colonnes que l'on souhaite. On ajoutera donc autant de descripteurs que l'on souhaite de colonnes.
Sélectionnez
|
Vous remarquerez qu'il y a quatre descripteurs de colonne en argument de tabular. (on obtient donc un tableau à quatre colonnes) : deux descripteurs c, et deux nouveaux l et r.
- c pour « center », le contenu des deux premières colonnes sera centré.
- l pour « left », le contenu de la troisième cellule sera justifié à gauche.
- r pour « right », le contenu de la quatrième colonne sera justifié à droite.
Lorsque l'on a plusieurs fois le même type de colonnes, il peut être intéressant d'utiliser la syntaxe suivante pour la déclaration des descripteurs : *{<nb de colonnes>}{<colonne>}. Ainsi, |*{6}{p{3cm}|} et équivalent à {|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|p{3cm}|}.
II. Taille et espacement▲
II-A. Fixer la taille d'une cellule▲
Un des premiers problèmes rencontrés concerne la taille des cellules. En effet, les descripteurs « c », « l » et « r » ne permettent pas de retour à la ligne. La largeur des colonnes est celle de la plus grande ligne de cette colonne. Ce qui peut très vite devenir inesthétique et provoquer des débordements.
Sélectionnez
|
Comme vous pouvez le voir, le code précédent provoque un dépassement du tableau de la feuille, vous obtiendrez aussi un avertissement de LaTeX, vous indiquant la taille de ce déplacement.
Pour résoudre ce problème, on va utiliser le descripteur de colonne p{<taille>} où <taille> sera la longueur souhaitée de la colonne dans une unité reconnue par LaTeX.
Ainsi, le tableau précédent utilisant p{3cm} va donner :
Sélectionnez
|
|
Les deux colonnes ont maintenant une largeur de trois cm, mais force est de constater que ce résultat n'est pas du meilleur effet, notamment les espaces entre les mots qui sont trop grands. D'ailleurs, vous pouvez remarquer en compilant ce code que LaTeX vous avertit gentiment que le texte dans les cellules n'est pas acceptable typographiquement.
Heureusement la solution est très simple. Les colonnes de type « p » acceptent les commandes suivantes :
- \centering : contenu de la cellule centrée ;
- \raggedright : en drapeau à droite, c'est-à-dire le texte collé à gauche ;
- \raggedleft : en drapeau à gauche, c'est-à-dire le texte collé à droite ;
- \par : changement de paragraphe.
Sélectionnez
|
|
Les commandes telles que \raggedleft et \raggedright redéfinissent \\, il va donc falloir utiliser \tabularnewline à la place de \\
II-B. Fixer la largeur d'un tableau.▲
Bien qu'il soit préférable de laisser LaTeX s'occuper de la mise en page, il est parfois nécessaire de devoir fixer la largeur d'un tableau. Pour cela il faut utiliser l'extension tabularx. Il faut donc ajouter au préambule .\usepackage{tabularx}.
L'environnement tabularx fonctionne de la même façon que l'environnement tabular, à ceci près qu'il introduit un paramètre supplémentaire (la longueur totale du tableau) et un nouveau descripteur de colonne, qui prendra la largeur restante du tableau après que LaTeX ait affecté la longueur nécessaire aux autres colonnes (« c », « l », « r », « p »…).
Par exemple, pour la déclaration suivante : \begin{tabularx}{<longueur>}{|c|X|l|} :
- <longueur> sera la longueur totale du tableau ;
- X prendra la longueur restante après que les colonnes « c » et « l » seront remplies.
<longueur> peut prendre toutes les unités de longueur définies par LaTeX, ainsi que les commandes \textwidth ou \linewidth, pour avoir un tableau de la longueur totale de la ligne.
Ainsi le code suivant :
\documentclass
{article}
\usepackage
{tabularx}
\begin
{document}
\noindent
\noindent
\begin
{tabularx}{\linewidth
}{|c|X|l|}
\hline
Du texte centr\'
e & ici la colonne s'
adapte \`
a la longueur de la ligne restante & du texte align\'
e \`
a gauche\\
\hline
4&5&6\\
7&\centering
8&9\\
\hline
\end
{tabularx}
\end
{document}
nous donne un tableau de la largeur de la ligne :
Si l'environnement tabularx ne se trouve pas dans un autre environnement de mise en page, il ne faut pas oublier de supprimer l'indentation avec la commande \noindent sinon le tableau débordera forcément de la page.
II-C. Tableaux sur plusieurs pages▲
Les environnements tabular et tabularx ne permettent pas d'obtenir des tableaux s'étendant sur plusieurs pages. Pour insérer un long tableau, il est possible d'utiliser l'extension longtable et donc ajouter dans le préambule \usepackage{longtable}. La syntaxe et les descripteurs de colonne sont les mêmes que pour l'environnement tabular. L'extension longtable ajoute des options, selon ce que l'on souhaite obtenir. Il est possible, par exemple de :
-
déclarer la première ligne du tableau :
Sélectionnez\hline
Colonne 1 & Colonne 2 & Colonne 3\endfirsthead
\hline
-
déclarer la première ligne de chaque page :
Sélectionnez\hline
Colonne 1 & Colonne 2 & Colonne 3\endhead
\hline
-
déclarer la dernière ligne du tableau :
Sélectionnez\hline
Colonne 1 & Colonne 2 & Colonne 3\endlastfoot
\hline
- Déclarer la dernière ligne de chaque page :
\hline
Colonne 1 & Colonne 2 & Colonne 3 \endfoot
\hline
Par exemple :
Sélectionnez
|
Pour plus d'informations sur ces options, vous pouvez vous reporter à la documentation de l'extension longtable.
III. Conclusion▲
Vous savez maintenant réaliser un tableau simple sous LaTeX, bien évidemment il y a de nombreux moyens d'améliorer ces tableaux ainsi que de nombreuses façons de les personnaliser. Pour cela, lisez le chapitre suivant : améliorations et personnalisations des tableaux.