Tableaux

Ce petit guide devrait vous fournir ce qui est vraiment nécessaire lorsque l’on souhaite créer des tableaux avec LaTeX. Certains exemples ne sont pas forcément utiles tels quels, mais ils vous donnent des méthodes et des astuces sur la façon de réaliser de manière efficace vos propres tableaux…

Réponses à de petites questions

  • Dois-je aligner les colonnes (&) pour faire des tableaux ?
    Non, ce n'est pas nécessaire, cependant un tableau ayant des colonnes alignées sera beaucoup plus facile à lire et à modifier.
  • Comment faire un tableau avec uniquement des données mathématiques ?
    Utiliser array au lieu de tabular.
  • Je souhaite faire un tableau particulier (format spécial des colonnes, ...) qui serait réutilisé plusieurs fois dans mon document. Y-a-t-il un exemple ?
    Oui, le tableau de données (code écrit en TeX).

Supprimer l'espace inter-colonnes

\begin{tabular}{@{} l @{}}
\hline pas d'espace\\ \hline \end{tabular}
\begin{tabular}{l}
  \hline
  un peu d'espace \`a gauche et \`a droite\\
  \hline
\end{tabular}

Aligner des valeurs numériques sur le point décimal

\begin{tabular}{c r @{,} l}
  Expression & \multicolumn{2}{c}{Valeur} \\
  \hline
  $\pi$               &     3 & 1416 \\
  $\pi^{\pi}$         &    36 & 46   \\
  $(\pi^{\pi})^{\pi}$ & 80662 & 7    \\
\end{tabular}

Autre méthode : utiliser l’extension dcolumn :

\usepackage{dcolumn}
  \begin{tabular}{cD{.}{,}{2}} & 12.7 \\ + & 143.87 \\ + & 0.654 \\ + & 24 \\ \hline = & 181.224 \end{tabular}

Version de la somme ci-dessus avec la première méthode :

\begin{tabular}{c r @{,} l}
    &  12 &  7  \\
  + & 143 &  87 \\
  + &   0 & 654 \\
  + &  24 &     \\
  \hline
  = & 181 & 224
\end{tabular}

Cellules multi-colonnes

\begin{tabular}{|c|c|}
  \hline
\multicolumn{2}{|c|}{Cellule 1} \\
\hline Cellule 2 & Cellule 3 \\ \hline \end{tabular}

Bordure partielle

\begin{tabular}{|r|l|}
  \hline
          7C0 & hexad\'ecimal \\
         3700 & octal         \\
\cline{2-2}
11111000000 & binaire \\ \hline \hline 1984 & d\'ecimal \\ \hline \end{tabular}

Suppression du filet vertical d'une cellule (bordure gauche et/ou droite)

Créer la cellule avec \multicolumn{1}. Cette méthode vous permet de choisir dans le deuxième paramètre le(s) filet(s) à supprimer.

Texte en paragraphe sur plusieurs lignes

\begin{tabular}{|p{4.7cm}|}
  \hline
  Bienvenue dans ce petit paragraphe
  entour\'e d'une jolie bordure.
  J'esp\`ere que \c ca vous pla\^it\ldots \\
  \hline
\end{tabular}

Tableau de la largeur d'une ligne de texte

\begin{tabular}{|p{\textwidth}|}
  \hline
  Bienvenue dans ce petit paragraphe
  entour\'e d'une jolie bordure.
  J'esp\`ere que \c ca vous pla\^it\ldots \\
  \hline
\end{tabular}

Tableau à plusieurs colonnes de la largeur d'une ligne de texte

\usepackage{tabularx}
  \begin{tabularx}{\textwidth}{|X|c|X|} \hline \multicolumn{3}{|c|}{L'extension tabularx} \\ \hline Un texte \`a mettre dans la premi\`ere colonne & 1234 & Un autre texte pour la derni\`ere colonne pour voir comment tabularx s'en sort. \\ \hline \end{tabularx}

Style par défaut (italique, ...) pour une colonne

Utiliser l’extension array, ou colortbl (couleurs dans les tableaux) qui l’inclut automatiquement (voir l’exemple suivant).

Texte entre deux lignes

\usepackage{multirow}
\usepackage{array}
  $\uparrow$ \begin{tabular}{|>{\itshape}c|p{3cm}} \cline{1-1} Vapeur d'eau & \multirow{1}{3cm}[-1.5ex]{\'Evaporation} \\ \cline{1-1} Eau liquide & \multirow{1}{3cm}[-1.5ex]{Fusion} \\ \cline{1-1} Glace & \\ \cline{1-1} \end{tabular}

Tableau de données (rapports de physique)

Dans l’en-tête du document :

\usepackage{tabularx}
\usepackage{array}
 
\def\arraydata#1{%
   \tabularx{\linewidth}{|c|*{#1}{>{\centering\arraybackslash$}X<{$}|}}}
\def\endarraydata{\endtabularx}

Utilisation (le paramètre 4 représente le nombre de colonnes en plus de celle de titre) :

\begin{arraydata}{4}
\hline
eau   & 25         & 33            & \alpha & \beta \\
\hline
verre & \sqrt{1+2} & \frac{t}{x^2} & 1      & 4 \\
\hline
\end{arraydata}

Avantage : le tableau prend toute la largeur de la page, c’est facile à utiliser et l’on peut écrire des formules mathématiques directement sans les traditionnels $ $. Finalement, les colonnes de données ont toutes la même largeur, ce qui est très esthétique.

Flattr