Mis à jour le mercredi 21 juin 2017
  • 10 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Ce cours existe en eBook.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Les tableaux

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

En sciences, les tableaux sont des éléments essentiels. Les créateurs de LaTeX ont su les mettre à l'honneur et apporter une somme colossale de packages et d'environnements sachant les gérer. Massifs et encombrants, comme des images ou des figures, les tableaux sont des flottants et LaTeX peut les intégrer comme tels.

Les tableaux, tout comme les notations mathématiques, font l'objet d'une documentation extrêmement fournie. Ce chapitre traitera plusieurs points utiles à la création des tableaux en vous apprenant à :

  • composer des tableaux simples ;

  • fusionner des cellules ;

  • paramétrer le placement des flottants ainsi que quelques autres détails de mise en page.

Bien que difficile, ce chapitre sera extrêmement riche en exemples.

Structure type d'un tableau

Dans cette première partie, nous allons faire nos premiers pas avec des tableaux. Notre but sera de réaliser une grande table de multiplication.

La théorie

Tableau sans bordure

Le tableau sans bordure est le plus simple à créer. Ici, tout se passe dans l'environnement tabular, et nous souhaitons créer le tableau visible en figure suivante. Sa création va se dérouler en trois temps.

Tableau simple
Tableau simple

Dans un premier temps, nous devons décider de l'alignement des cellules dans chaque colonne. Elles peuvent être…

  • à droite (option r) ;

  • à gauche (option l) ;

  • centrées (option c).

Dans un deuxième temps, l'une des trois options sera choisie pour chaque colonne et insérée entre accolades à l'ouverture de l'environnement tabular.

Ici, nous souhaitons créer un tableau contenant deux colonnes centrées. Notre squelette de départ sera donc le suivant :

\begin{tabular}{cc}
\end{tabular}

Pour finir, nous rentrons ligne par ligne le contenu des cellules, séparé par le caractère « & ». Chaque ligne se terminera par \\ (c'est un moyen d'indiquer à LaTeX que l'on veut changer de ligne).

Voici donc le code source de notre tableau simple :

\begin{tabular}{cc}
1 & 2 \\
3 & 4 \\
\end{tabular}
Tableau avec bordures

Nous souhaitons maintenant ajouter des bordures visibles. Afin de faire apparaître les lignes, il faut placer la commande \hline entre deux lignes consécutives, et plus généralement partout où vous souhaitez obtenir une ligne horizontale (dans un tableau).

Démonstration :

\begin{tabular}{cc}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
Les bordures, première étape
Les bordures, première étape

Les colonnes, quant à elles, sont un peu plus subtiles à mettre en place. Pour marquer la séparation entre deux colonnes consécutives par une bordure verticale, il faut insérer le caractère « | » (Le caractère « | » est présent en haut de votre clavier. Sur un clavier français, vous pouvez l'insérer avec la combinaison de touches AltGr + 6.) entre elles lors de la spécification des alignements (figure suivante).

Ici, {cc} devient {|c|c|}.

Démonstration :

\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\hline
3 & 4 \\
\hline
\end{tabular}
Bordures, seconde étape
Bordures, seconde étape

Exercice

Il est temps pour vous de souffrir. Dans cet exercice, vous devez reproduire en LaTeX l'affreux tableau ci-dessous (figure suivante). Prenez le temps de réfléchir, il n'y a pas de piège. Recopier ce tableau devrait vous prendre moins de dix minutes.

Table de multiplicationTable de multiplication

La solution :

\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|}

\hline
Multiplié par & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
\hline
1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
\hline
2 & 2 & 4 & 6 & 8 & 10 & 12 & 14 & 16 & 18 & 20 \\
\hline
3 & 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 & 27 & 30 \\
\hline
4 & 4 & 8 & 12 & 16 & 20 & 24 & 28 & 32 & 36 & 40 \\
\hline
5 & 5 & 10 & 15 & 20 & 25 & 30 & 35 & 40 & 45 & 50 \\
\hline
6 & 6 & 12 & 18 & 24 & 30 & 36 & 42 & 48 & 54 & 60 \\
\hline
7 & 7 & 14 & 21 & 28 & 35 & 42 & 49 & 56 & 63 & 70 \\
\hline
8 & 8 & 16 & 24 & 32 & 40 & 48 & 56 & 64 & 72 & 80 \\
\hline
9 & 9 & 18 & 27 & 36 & 45 & 54 & 63 & 72 & 81 & 90 \\
\hline
10 & 10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 & 100 \\
\hline

\end{tabular}

Fusion de cellules

Nous allons apprendre à fusionner des lignes et des colonnes. Les commandes exposées ici ne sont pas faciles à prendre en main et demandent un peu d'entraînement et de gymnastique intellectuelle. La difficulté réside dans la mémorisation des commandes. Une fois que vous les connaîtrez par cœur, les choses seront beaucoup plus faciles.

Fusion de colonnes

La commande de fusion de colonnes est la suivante :

\multicolumn{nombre de colonnes fusionnées}{c, l ou r accompagné des bordures éventuelles}{le texte de la cellule}

La difficulté réside dans la possibilité de choisir de nouveau un alignement pour la cellule fusionnée. Faites bien attention à ce que l'alignement et les bordures de votre cellule soient cohérents avec celles du reste du tableau.

La figure suivante met en pratique la commande de fusion de colonnes (regardez bien les différentes syntaxes utilisées) :

\begin{tabular}{|c|c|c|c|c|}
\hline
1 & \multicolumn{2}{c|}{2} & 3 & 4 \\
\hline
\multicolumn{2}{|c|}{5} & 6 & 7 & 8 \\
\hline
9 & 10 & \multicolumn{3}{c|}{11} \\
\hline
\end{tabular}
Fusion de colonnes
Fusion de colonnes

Fusion de lignes

Pour fusionner deux lignes entre elles, on utilise la commande \multirow, contenue dans le package du même nom. Elle est dépendante de trois paramètres (L'un des paramètres est remplaçable par une étoile.) :

\multirow{nombre de lignes fusionnées}{taille de la colonne en cm}{votre texte}
\multirow{nombre de lignes fusionnées}*{votre texte}

Vous pouvez voir ci-dessous la démonstration de l'utilisation de \multirow. Notez que la commande \cline a été introduite. Elle vous permet selon vos souhaits de ne mettre une ligne horizontale qu'entre deux colonnes choisies par vous (Les colonnes sont numérotées de la gauche vers la droite.). Prenez le temps de regarder le code et la figure suivante afin de mieux comprendre l'utilité de \cline.

\begin{tabular}{|l|c|c|c|c|}
\hline
1 & \multicolumn{2}{c|}{2} & 3 & 4 \\
\hline
\multicolumn{2}{|l|}{5} & 6 & 7 & 8 \\
\hline
9 & 10 & \multicolumn{3}{c|}{11} \\
\hline
\multirow{2}{1cm}{12} & 13 & 14 & 15 & 16 \\
\cline{2-5}
& 17 & 18 & 19 & 20 \\
\hline
21 & 22 & \multirow{2}*{23} & 24 & 25 \\
\cline{1-2} \cline{4-5}
26 & 27 & & 28 & 29 \\
\hline
\end{tabular}
Fusion de lignes et de colonnes
Fusion de lignes et de colonnes

Autres paramètres applicables à un tableau

De nombreuses options de personnalisation sont disponibles sous LaTeX. Nous allons ici étudier les plus courantes avant d'apprendre à nous servir de l'environnement table, permettant de faire flotter nos tableaux. Nous les rendrons plus élégants et plus lisibles.

Modifications mineures

Colonne de largeur paramétrée

Nous avons appris précédemment à créer des colonnes en spécifiant simplement l'alignement de leur contenu. Il existe des alternatives au trio r, c et l. Je vais vous en présenter trois.

La nouvelle instruction possible est :

p{largeur de la colonne en centimètres}

À la différence de r, c et l, cette instruction n'a pas d'influence sur l'alignement horizontal du texte au sein des cellules. La figure suivante illustre son fonctionnement.

\begin{tabular}{|p{1cm}|p{2cm}|p{3cm}|p{4cm}|}
\hline
1cm & 2cm & 3cm & 4cm \\
\hline
\end{tabular}
Cellules de longueurs définies
Cellules de longueurs définies

Nous apprendrons plus loin dans ce chapitre à utiliser des environnements. Cela vous permettra de choisir l'alignement du contenu dans des colonnes à largeur fixe.

Créer une slashbox

Le package slashbox permet d'utiliser la commande \backslashbox{Texte dessous}{Texte dessus}. Cette commande sert à scinder en deux parties triangulaires de même aire une cellule initialement rectangulaire (figure suivante).

Démonstration :

\begin{tabular}{|c|p{1cm}|p{2cm}|}
\hline
\backslashbox{Patate}{Carotte} & 1cm & 2cm \\
\hline
\end{tabular}
Le package slashbox
Le package slashbox
Changer les séparateurs

Le séparateur habituel lors de la création d'un tableau en LaTeX est le caractère « | ». Il symbolise la création d'une ligne verticale. Il est néanmoins possible d'utiliser de nouveaux séparateurs via les commandes !{votre séparateur} ou @{votre séparateur}. Ces commandes sont contenues dans le package array (comme beaucoup de commandes utiles à la création de tableaux).

La commande !{} a l'avantage, contrairement à @{}, d'insérer une espace avant et après le séparateur.
Visuellement, la différence est flagrante (figure suivante) :

\begin{tabular}{|c !{bah} c @{bah}c|}
\hline
texte & texte & texte \\
\hline
\end{tabular}
Exemple d'utilisation de !{} et @{}
Exemple d'utilisation de !{} et @{}

Exercice

Tentez de recréer vous-même le tableau mis en avant sur la figure suivante (le symbole euro est disponible via la commande \euro{}, du package eurosym). Il vous faudra bien sûr utiliser les commandes qui viennent d'être introduites.

Forme de la solution
Forme de la solution

Solution :

\begin{tabular}{|c| c @{,} c !{\euro{}}|}
\hline
bonbon & 0 & 50 \\
table & 14 & 99 \\
\hline
\end{tabular}

Utilisation de commandes et d'environnements dans un tableau

La conception de tableaux telle que nous venons de l'apprendre ne permet pas l'insertion de commandes ou même d'environnements dans les colonnes. Avouons-le, c'est fâcheux. Pour pouvoir agir sur les colonnes, il vous faudra utiliser <{votre commande ou votre \begin{..\ }} avant l'instruction de création de colonne (l, r, c ou \p{}) et >{votre commande ou votre \end{..} } juste après si vous le souhaitez.

Démonstration avec la table de multiplication que nous avons utilisée en début de chapitre (figure suivante) :

\begin{tabular}{|>{\begin{bf}} c <{\end{bf}}|c|c|c|c|c|c|c|c|c|c|}

\hline
Multiplié par & \begin{bf}1\end{bf} & \begin{bf}2\end{bf} & \begin{bf}3\end{bf}& \begin{bf}4\end{bf} & \begin{bf}5\end{bf} & \begin{bf}6\end{bf}& \begin{bf}7\ end{bf} & \begin{bf}8\end{bf} & \begin{bf}9\end{bf} 
\mmligne& \begin{bf}10\end{bf} \\
\hline
1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
\hline
2 & 2 & 4 & 6 & 8 & 10 & 12 & 14 & 16 & 18 & 20 \\
\hline
3 & 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 & 27 & 30 \\
\hline
4 & 4 & 8 & 12 & 16 & 20 & 24 & 28 & 32 & 36 & 40 \\
\hline
5 & 5 & 10 & 15 & 20 & 25 & 30 & 35 & 40 & 45 & 50 \\
\hline
6 & 6 & 12 & 18 & 24 & 30 & 36 & 42 & 48 & 54 & 60 \\
\hline
7 & 7 & 14 & 21 & 28 & 35 & 42 & 49 & 56 & 63 & 70 \\
\hline
8 & 8 & 16 & 24 & 32 & 40 & 48 & 56 & 64 & 72 & 80 \\
\hline
9 & 9 & 18 & 27 & 36 & 45 & 54 & 63 & 72 & 81 & 90 \\
\hline
10 & 10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 & 100 \\
\hline

\end{tabular}
Mise en gras de certaines parties
Mise en gras de certaines parties

Colorer des cellules

Nous allons ici apprendre à colorer des lignes, des cellules ainsi que des colonnes. Deux packages sont à utiliser : color (dont nous nous sommes déjà servi) et colortbl.

Les commandes sont les suivantes :

  • \columncolor{couleur} pour colorer les colonnes ;

  • \rowcolor{couleur} pour colorer les lignes ;

  • \cellcolor{couleur} pour colorer les cellules.

Exercice

Réalisez le tableau visible sur la figure suivante, en colorant la première ligne et la première colonne sur fond jaune (Vous avez le droit de vous servir des codes précédemment vus dans le chapitre.) :

Tableau à reproduire
Tableau à reproduire

Solution :

\begin{tabular}{>{\begin{bf} \columncolor{yellow}} c <{\end{bf}}cccccccccc}

\rowcolor{yellow}Multiplié par & \begin{bf}1\end{bf} & \begin{bf}2\end{bf} & \begin{bf}3\end{bf} & \begin{bf}4\end{bf} & \begin{bf}5\end{bf} & \begin{bf}6\end{bf} & \begin{bf}7\end{bf} & \begin{bf}8\end{bf} & \begin{bf}9\end{bf} & \begin{bf}10\end{bf} \\

1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\

2 & 2 & 4 & 6 & 8 & 10 & 12 & 14 & 16 & 18 & 20 \\

3 & 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 & 27 & 30 \\

4 & 4 & 8 & 12 & 16 & 20 & 24 & 28 & 32 & 36 & 40 \\

5 & 5 & 10 & 15 & 20 & 25 & 30 & 35 & 40 & 45 & 50 \\

6 & 6 & 12 & 18 & 24 & 30 & 36 & 42 & 48 & 54 & 60 \\

7 & 7 & 14 & 21 & 28 & 35 & 42 & 49 & 56 & 63 & 70 \\

8 & 8 & 16 & 24 & 32 & 40 & 48 & 56 & 64 & 72 & 80 \\

9 & 9 & 18 & 27 & 36 & 45 & 54 & 63 & 72 & 81 & 90 \\

10 & 10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 & 100 \\

\end{tabular}

Un environnement flottant : table

Faire flotter un tableau revient à insérer l'environnement tabular dans un nouvel environnement qui, lui, est flottant. Celui-ci s'appelle table et son fonctionnement interne est similaire à celui de l'environnement figure vu précédemment, avec caption, label, center, etc. Rien ne diffère dans leur fonctionnement.

Tentez de faire flotter le tableau vu dans le paragraphe précédent tout en écrivant en légende « Tables de multiplication ».
Rappelez-vous de la syntaxe ci-dessous et tout ira bien (figure suivante).

\begin{table}
\begin{center}
\begin{tabular}
Votre tableau
\end{tabular}
\end{center}
\caption{votre légende}
\label{votre référence}
\end{table}
Tableau flottant
Tableau flottant

La solution :

\begin{table}[h]
\begin{center}
\begin{tabular}{>{\begin{bf} \columncolor{yellow}} c <{\end{bf}}cccccccccc}

\rowcolor{yellow}Multiplié par & \begin{bf}1\end{bf} & \begin{bf}2\end{bf} & \begin{bf}3\end{bf} & \begin{bf}4\end{bf} & \begin{bf}5\end{bf} & \begin{bf}6\end{bf} & \begin{bf}7\end{bf} & \begin{bf}8\end{bf} & \begin{bf}9\end{bf} & \begin{bf}10\end{bf} \\

1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\

2 & 2 & 4 & 6 & 8 & 10 & 12 & 14 & 16 & 18 & 20 \\

3 & 3 & 6 & 9 & 12 & 15 & 18 & 21 & 24 & 27 & 30 \\

4 & 4 & 8 & 12 & 16 & 20 & 24 & 28 & 32 & 36 & 40 \\

5 & 5 & 10 & 15 & 20 & 25 & 30 & 35 & 40 & 45 & 50 \\

6 & 6 & 12 & 18 & 24 & 30 & 36 & 42 & 48 & 54 & 60 \\

7 & 7 & 14 & 21 & 28 & 35 & 42 & 49 & 56 & 63 & 70 \\

8 & 8 & 16 & 24 & 32 & 40 & 48 & 56 & 64 & 72 & 80 \\

9 & 9 & 18 & 27 & 36 & 45 & 54 & 63 & 72 & 81 & 90 \\

10 & 10 & 20 & 30 & 40 & 50 & 60 & 70 & 80 & 90 & 100 \\

\end{tabular}
\end{center}
\caption{Tables de multiplication}
\label{mes belles tables}
\end{table}

En résumé

  • Un tableau nécessite un formalisme et un code propre.

  • Un tableau se crée dans l'environnement tabular.

  • Les cellules d'une même ligne sont séparées par le symbole &. Pour passer à la ligne suivante, on insère un retour à la ligne avec \\.

  • Il est possible d'utiliser les environnements et les commandes de mises en forme de texte au sein d'un tableau.

  • Pour rendre un tableau flottant, et laisser LaTeX gérer sa position, il faut l'entourer de l'environnement table.

Exemple de certificat de réussite
Exemple de certificat de réussite