Christophe Jacquet

Tableaux à double entrée et LaTeX

Avec LaTeX, il n’est pas absolument évident de réaliser des tableaux à double entrée du type suivant :

Tableau à double entrée

Ce n’est pas très compliqué, mais il faut un peu d’astuce. C’est ce qu’explique ce billet.

Le problème

Ce qui est facile avec LaTeX, c’est de dessiner des tableaux parfaitement rectangulaires. À titre d’exemple, voici un code très simple, et son résultat :

Tableau classique LaTeX

\begin{tabular}{|l|c c c|}
\hline
         & A        & B        & C        \\
\hline
$\alpha$ & $\times$ & $\times$ &          \\
$\beta$  & $\times$ &          & $\times$ \\
\hline
\end{tabular}

Cependant, la case située tout en haut à gauche ne sert à rien, et l’on aimerait s’en affranchir, de façon à réaliser un vrai tableau à double entrée. L’idée de base est alors la suivante :

La solution avec \multicolumn

La commande \multicolumn sert à créer des cases qui s’étendent sur plusieurs colonnes. Elle prend donc en paramètres le nombre de colonnes à occuper, la spécification du format de la case en question, bordures comprises, et enfin le contenu de la case.

Ce qui est intéressant, c’est qu’avec cette commande, on puisse spécifier les bordures d’une case. Nous allons donc la détourner pour créer les cases de gauche des lignes 2 et 3 : elles feront une colonne de large (donc pas de multicolonnage au sens propre), mais nous pourront ainsi tracer leur filet de gauche. D’où le code final :

Tableau à double entrée

\begin{tabular}{l|c c c|}
\cline{2-4}
                               & A        & B        & C        \\
\hline
\multicolumn{1}{|l|}{$\alpha$} & $\times$ & $\times$ &          \\
\multicolumn{1}{|l|}{$\beta$}  & $\times$ &          & $\times$ \\
\hline
\end{tabular}

Moralité : pour tracer une bordure verticale récalcitrante sur une case (et non une colonne en entier), pensez à \multicolumn. Ceci permet également de modifier l’alignement d’une cellule isolée, comme souligné sur la FAQ LaTeX francophone.

HTML5 valide ? © . ✍ Contact. Mentions légales.