Les tableaux en LaTeX

Les tableaux en LaTeX

Je ne sais pas vous, mais perso, je trouve un peu chiant de créer des tableaux en LaTeX, surtout s’il est complexe… Je suis toujours obligé de rechercher à droite et à gauche, et même au milieu, où trouver telle ou telle commande.

C’est la raison pour laquelle j’ai envie de réunir dans cet article tout ce qu’il faut savoir sur les tableaux. Projet ambitieux qui, je présume, s’enrichira au fil du temps…

Les bases des tableaux en LaTeX

Je ne vais pas tout reprendre, car il existe une page assez complète ici :

Page wikipedia

Les dimensions de tableaux en LaTeX

Marges des cellules

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}
Sans redéfinir les marges :
\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d\\
\hline
\end{tabular}

\bigskip

En redéfinissant les marges: 
\setlength{\tabcolsep}{1cm}
\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d\\
\hline
\end{tabular}

\end{document}
Redéfinition de la dimension \tabcolsep

Le package cellspace

Il permet de définir des marges verticales par défaut pour éviter que du texte colle aux traits horizontaux.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{cellspace}
\setlength{\cellspacebottomlimit}{5pt}
\setlength{\cellspacetoplimit}{5pt}
\setlength{\parindent}{0pt}

\begin{document}

Sans utiliser \textit{cellspace} :
\begin{tabular}{|*4{c|}}
\hline
$\dfrac{p}{q}$ & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}

\bigskip

En utilisant \textit{cellspace}:
\begin{tabular}{|*4{Sc|}}
\hline
$\dfrac{p}{q}$ & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}
\end{document}
tableaux LaTeX
Utilisation de cellspace dans des tableaux LaTeX

Hauteur des cellules : \morestretch

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}

\renewcommand{\arraystretch}{2}
\begin{tabular}{|*4{c|}}
\hline
a & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Agrandir la hauteur des cellules d’un tableau LaTeX avec \morestretch

Hauteur personnalisée pour une ligne

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|*4{c|}}
\hline
a & b & c & d\\[1cm]
\hline
e & f & g & h \\
\hline
\end{tabular}


\end{document}
tableaux LaTeX
Hauteur personnalisée d’une ligne dans un tableau LaTeX

Ici, nous utilisons l’alias “\\” suivi de la dimensions (avec unité) que nous souhaitons en dessous du texte et avant le trait horizontal suivant (donc la marge basse de la ligne)

Les filets (traits) des tableaux en LaTeX

Épaisseur des filets

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}
Sans redéfinir les marges :
\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d\\
\hline
\end{tabular}

\bigskip

En redéfinissant les marges: \setlength{\arrayrulewidth}{3pt}
\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d\\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Redéfinition de l’épaisseur des traits de tableaux LaTeX avec \arrayrulewidth

Un trait vertical dans une cellule : \vline

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d \vline~ e\\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Trait vertical dans une cellule : la commande \vline

Traits en pointillés

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{arydshln}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c:c|}
\hline
a & b\\
\hdashline
c & d \\
\hline
\end{tabular}

\end{document}
tableau LaTeX
Traits en pointillés dans un tableau LaTeX

Traits horizontaux sur quelques cellules

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|c|c|c|}
\hline
a & b & c & d\\
\cline{1-1}\cline{4-4}
e & f & g & h \\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Traits horizontaux sur quelques cellules uniquement dans un tableau LaTeX

Délimitateur “@{…}”

On l’utilise quand on souhaite autre chose qu’un trait entre deux cellules.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{xspace}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c@{\xspace$\to$\xspace}c|}
\hline
a & b\\
\hline
c & d \\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Autre chose qu’un filet entre deux cellules

Les couleurs

Lignes sur fond de couleurs

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|c|}
\rowcolor{orange!50}
\hline
a & b\\
\hline
c & d \\
\hline
\end{tabular}

\end{document}
tableaux LaTeX
Ligne sur fond de couleur dans un tableau LaTeX

Colonne sur fond de couleur

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|>{\columncolor{orange!50}}c|c|}
\hline
a & b\\
\hline
c & d \\
\hline
\end{tabular}

\end{document}
tableaux LateX
Colonne sur fond de couleur dans un tableau LaTeX

Une seule cellule sur fond de couleur

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|c|}
\hline
\cellcolor{orange!50}a & b\\
\hline
c & d \\
\hline
\end{tabular}

\end{document}
Une seule cellule sur fond de couleur dans un tableau LaTeX

La couleur des filets

Couleur de tous les filets

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}
\arrayrulecolor{red}
\begin{tabular}{|c|c|}
\hline
a & b\\
\hline
c & d \\
\hline
\end{tabular}

\end{document}
Tous les traits en couleurs dans un tableau LaTeX

Couleur d’un trait vertical

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|c|}
\hline
a & b\\
\arrayrulecolor{red}\hline\arrayrulecolor{black}
c & d \\
\hline
\end{tabular}

\end{document}
Un trait vertical en couleur dans un tableau LaTeX

Un trait vertical en couleur

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table]{xcolor}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|cc!{\color{red}\setlength{\arrayrulewidth}{2pt}\vline}cc|}
\hline
a & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}

\end{document}
Un seul trait vertical en couleur dans un tableau LaTeX

Fusions dans des tableaux LaTeX

Fusionner des colonnes des tableaux LaTeX

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|*4{c|}}
\hline
a & \multicolumn{2}{|c|}{b et c} & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}


\end{document}
Fusionner des cellules avec \multicolumn

Fusionner des lignes des tableaux LaTeX

Il est ici nécessaire d’utiliser le package multirows.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{multirow}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|*4{c|}}
\hline
a & \multirow{2}{*}{b et f} & c & d\\
\cline{1-1}\cline{3-4}
e &  & g & h \\
\hline
\end{tabular}

\end{document}
Fusion de lignes dans un tableau LaTeX avec \multirow

Des traits en diagonale dans une cellule de tableau LaTeX : le package diagbox

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{diagbox}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|ccc|}
\hline
\diagbox{$a$}{$b$} & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}


\end{document}
Utilisation de diagbox dans un tableau LaTeX

Une croix dans une cellule de tableaux LaTeX

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{diagbox}
\setlength{\parindent}{0pt}

\begin{document}

\begin{tabular}{|c|ccc|}
\hline
\diagbox[width=7mm,height=5mm]{\diagbox[width=7mm,height=5mm,dir=SW]{}{}}{} & b & c & d\\
\hline
e & f & g & h \\
\hline
\end{tabular}

\end{document}
Une croix dans une cellule de tableau LaTeX

Il y a toutefois un petit inconvénient à cette méthode : il faut jouer manuellement sur les dimensions de la cellule.

Alors maintenant, bien entendu, si vous constatez qu’il manque quelque chose d’important, n’hésitez pas à intervenir en commentaire !

Stéphane Pasquet
Stéphane Pasquet

One thought on “Les tableaux en LaTeX

ABBASSIPublié le  11:39 - Déc 15, 2020

Thank you very mach…

Laissez votre message