Les tableaux sous LaTeX

Dans ce chapitre, vous découvrirez comment insérer un tableaux dans un document LaTeX. Pour un débutant, le code pour générer un tableau peut paraître complexe mais avec un peu d'habitude et d'entraînement, vous vous apercevrez très vite et comme toujours que finalement vous réaliserez vos tableaux très facilement. Vous découvrirez tout d'abord comment faire un tableau simple, puis comment gérer la taille des cellules et la largeur de vos tableaux. Commentez Donner une note à l'article (5)

Article lu   fois.

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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 évidement on finira par \end{tabular} Compilez le code suivant et observez le rendu.

 
Sélectionnez
\documentclass{article}
\begin{document}
\begin{tabular}{cc}
        cellule 1 & cellule 2 \\ 
        cellule 3 & cellule 4\\ 
\end{tabular} 
\end{document}
Image non disponible

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
\documentclass{article}
\begin{document}
\begin{tabular}{cc}
        \hline
        cellule 1 & cellule 2 \\ 
        \hline
        cellule 3 & cellule 4\\ 
        \hline
\end{tabular} 
\end{document}
Image non disponible

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
\documentclass{article}
\begin{document}
\begin{tabular}{|c||c|}
        \hline
        cellule 1 & cellule 2 \\ 
        \hline
        cellule 3 & cellule 4\\ 
        \hline
\end{tabular} 
\end{document}
Image non disponible

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
\begin{tabular}{|c|c|l|r|} 
\hline  
quatre colonnes &des cellules centr\'ees & align\'ees \`a gauche &ou \`a droite \\  
\hline 
centr\'ee & centr\'ee & \`a gauche & \`a droite \\  
\hline\hline 
un & deux & trois & quatre\\ 
\hline 
\end{tabular}
Image non disponible

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
\begin{tabular}{|c|c|} 
\hline  
Une cellule contenant un texte tr\`es long & Une autre cellule contenant un texte encore plus long, beaucoup, beaucoup plus long   \\  
\hline  
\end{tabular}
Image non disponible

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
\begin{tabular}{|p{3cm}|p{3cm}|} 
\hline  
Une cellule contenant un texte tr\`es long & Une autre cellule contenant un texte encore plus long, beaucoup, beaucoup plus long   \\  
\hline  
\end{tabular}
Image non disponible

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 grandes. 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 suivante :

  • \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
\begin{tabular}{|p{3.5cm}|p{3.5cm}|} 
\hline  
\centering Une cellule contenant un texte tr\`es long, beaucoup, beaucoup trop long & \raggedright  Une cellule contenant un texte tr\`es long, beaucoup, beaucoup trop long \tabularnewline  
\hline
\raggedleft Une cellule contenant un texte tr\`es long, beaucoup, beaucoup trop long&  Une cellule contenant\par un texte tr\`es long,\par  beaucoup trop long  \tabularnewline  
\hline  
\end{tabular}
Image non disponible

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 :

 
Sélectionnez
\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 :

Image non disponible

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 :
 
Sélectionnez
\hline
Colonne 1 & Colonne 2 & Colonne 3 \endfoot
\hline

Par exemple :

 
Sélectionnez
\documentclass{article}
\usepackage{longtable}
\begin{document}
\begin{longtable}{|c|c|c|} 
\hline
Colonne 1 & Colonne 2 & Colonne 3 \endhead
\hline
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
1&2&3\\ 
4&5&6\\ 
7&8&9\\ 
\hline
\end{longtable}
\end{document}
Image non disponible

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 évidement il y a de nombreux moyens d'améliorer ces tableaux ainsi que de nombreuses façon de les personnaliser. Pour cela lisez le chapitre suivant : améliorations et personnalisations des tableaux.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 -nikopol-. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.