Aller au contenu

LaTeX/Faire des tableaux

Un livre de Wikilivres.

N. B. : Pour obtenir des tableaux typographiquement corrects, il est préférable de charger l’extension array. On placera donc un \usepackage{array} dans le préambule du document. Cependant, sauf exception signalée, les exemples ci-dessous sont utilisables sans cette extension.


Commencons par faire un tableau assez simple qui contient 2 lignes et trois colonnes :

Fichier source Résultat (en PostScript)
\begin{tabular}{lll}
   1.1 & 1.2 & 1.3 \\
   2.1 & 2.2 & 2.3 \\
\end{tabular}

L'environnement de base pour les tableaux en LaTeX est tabular, il prend un argument obligatoire qui spécifie le nombre de colonnes du tableau :

\begin{tabular}{<colonnes>}
   <lignes>
\end{tabular}

L'argument <colonnes> est une suite de caractères qui peuvent être :

  • un l pour une colonne alignée à gauche (left) ;
  • un r pour une colonne alignée à droite (right) ;
  • un c pour une colonne centrée (center).
  • un p{largeur} pour une colonne avec un paragraphe en pavé (c'est-à-dire justifié, mais sans alinéa) ; la largeur est indiquée de manière classique, par exemple p{3cm} ou p{10em}.

Les <lignes> sont représentées par les valeurs des colonnes séparées par des esperluettes & et terminées par deux contre-obliques \\.

Si l'on veut séparer les colonnes par des filets (traits) verticaux, on ajoutera des tubes | à l'endroit souhaité dans l'argument de l'environnement.

On peut aussi ajouter des filets horizontaux avec la commande \hline.

Fichier source Résultat (en PostScript)
\begin{tabular}{|l|c|r|}
  \hline
  colonne 1 & colonne 2 & colonne 3 \\
  \hline
  1.1 & 1.2 & 1.3 \\
  2.1 & 2.2 & 2.3 \\
  \hline
\end{tabular}

On peut faire suivre deux \hline pour avoir une ligne double.

 Même lorsque l'on n'a pas besoin de fonctionnalités spécifiques, il est utile de déclarer l'extension array, qui règle un certain nombre de défauts.

Fusionner les colonnes

[modifier | modifier le wikicode]

Pour fusionner des colonnes, on utilise l'instruction \multicolumn. Celle-ci se place à l'endroit où se trouve la première des cellules fusionnées. Sa syntaxe est :

\multicolumn{<nombre>}{<colonne>}{<texte>}

  • <nombre> est le nombre de colonnes fusionnées ;
  • <colonne> indique l'alignement (l, c, r) ; le filet de gauche est le filet normal de la première cellule (celui défini dans la définition du tableau), mais il faut définir le filet de droite.

Par exemple :

\begin{tabular}{|l|c|r|}
   \hline
   colonne 1 & \multicolumn{2}{c|}{colonnes 2 et 3} \\
   \hline
   1.1 & 1.2 & 1.3 \\
   \hline
   2.1 & 2.2 & 2.3 \\
   \hline
\end{tabular}

donne

colonne 1 colonnes 2 et 3
1.1 1.2 1.3
2.1 2.2 2.3

Si l'on veut changer la composition du texte (alignement) pour une cellule, on peut utiliser \multicolumn{1}{<colonne>}{<texte>}. À moins que la première colonne ne soit incluse, on n'indique que le filet de droite (par exemple {l|}, le filet de gauche étant déterminé par la description générale.

Fusionner les lignes

[modifier | modifier le wikicode]

La fusion des lignes stricto sensu nécessite le recours à une extension particulière, multirow. Son utilisation est décrite dans la section Tableaux > Colonnes enveloppant des lignes multiples. Nous allons ici procéder à une approche simplifiée, consistant à laisser des cellules vides et à tracer un filet horizontal ne faisant pas toute la largeur.

Pour tracer ce filet, on utilise l'instruction

\cline{<lign1>-<lign2>}

Par exemple :

\begin{tabular}{|l|c|r|} 
   \hline
    colonne 1 & \multicolumn{2}{c|}{colonnes 2 et 3} \\
    \hline
    1.1 & 1.2 & 1.3 \\
    \cline{2-3} 
        & 2.2 & 2.3 \\
    \hline
\end{tabular}

donne

colonne 1 colonnes 2 et 3
1.1 1.2 1.3
2.2 2.3

Tableau flottant

[modifier | modifier le wikicode]

On peut laisser notre typographe virtuel placer le tableau ; on parle alors de tableau flottant. On indique l'endroit où l'on souhaiterait voir le tableau (à côté du texte le précédant dans le fichier source, ou bien en haut ou en bas d'une page), et LaTeX fait de son mieux en fonction des contraintes, notamment de la présence d'autres objets flottants. S'il n'arrive pas à placer le flottant sur la page en cours, il est « mis en attente » et sera placé plus loin. De plus, LaTeX numérote automatiquement le tableau, ce qui permet de dresser un index des tableaux.

Pour cela, on encapsule le tableau dans un environnement table :

\begin{table}[<position>]
   \begin{tabular}{<colonnes>}
       […]
   \end{tabular}
\end{table}

<position> est une lettre indiquant l'emplacement désiré :

  • h pour qu'il soit à côté du texte précédant dans le source (here),
  • t : en haut d'une page (top),
  • b : en bas d'une page (bottom),
  • p : dans une page ne contenant que des flottants (regroupement des figures et tableaux).

Si l'on veut donner un titre et placer une étiquette permettant de faire référence au tableau (cf. Structuration du texte > Références), on utilisera la syntaxe suivante :

\begin{table}[<position>]
   \caption{\label{<étiquette>} <titre>}
   \begin{tabular}{<colonnes>}
      […]
   \end{tabular}
\end{table}
[…]
Dans le tableau~\ref{<étiquette>} page~\pageref{<étiquette>}, […].

Si l'on veut centrer le tableau dans l'environnement, il est recommandé d'utiliser l'extension array et la commande \centering plutôt que l'environnement center :

\usepackage{array}
[…]
\begin{table}[<position>]
   \centering
   \begin{tabular}{<colonnes>}
      […]
   \end{tabular}
\end{table}

Lorsqu'il y a trop de flottants, la mise en page peut devenir problématique. On pourra avoir recours à l'instruction \clearpage qui provoque un changement de page et l'affichage de tous les flottants en attente. L'instruction \cleardoublepage a le même effet, mais le texte qui suit est placé sur une page impaire (« belle page » si l'on est en recto-verso).

L'index des tables s'obtient avec l'instruction \listoftables. L'extension tocbibind permet de faire figurer cet index dans la table des matières.

Creation des tableaux en WYSIWYG

[modifier | modifier le wikicode]
Table des matières - Généralités - Premiers pas - Structure du document - Gestion de la bibliographie - Tableaux - Images - Éléments flottants et figures - Mise en forme du texte - Choix de la police - Mise en page - Mathématiques - Gestion des gros documents - Faire des présentations - Arts et loisirs - Dessiner avec LaTeX - Créer une extension ou une classe - Programmer avec LaTeX - Annexes - Vade mecum - Conversion - Glossaire de typographie - Index - Commandes - Liens externes