====== Pourquoi les tableaux en LaTeX sont laids? ======

Depuis longtemps, plusieurs auteurs notent que les exemples de tableaux donnés par [[wpfr>Leslie_Lamport|Leslie Lamport]] dans son [[https://faq.latex-fr.net/1_generalites/documentation/livres/documents_sur_latex|manuel LaTeX]] ne sont pas terribles, qu'ils ont mal inspiré les utilisateurs et ont généralisé une mise en forme assez médiocre des tableaux en <latex>\LaTeX</latex>. Il est parfois même difficile de comprendre le « sens » d'exemples du livre de Lamport.

De fait, des tableaux générés avec <latex>\LaTeX</latex> peuvent paraître laids si leurs auteurs n'y consacrent pas un minimum d'attention. Voici ici quelques pistes pour éviter cet écueil.

===== L'espacement vertical =====

Le problème de l'espacement vertical est évident pour tous et est abordé dans plusieurs extensions. La question « [[https://faq.latex-fr.net/3_composition/tableaux/lignes/augmenter_la_largeur_des_lignes_d_un_tableau|Comment améliorer l'espacement entre les lignes d'un tableau ?]] » traite de ce sujet.

===== Le piège des filets =====

L'utilisation des filets (traits horizontaux et verticaux présents dans les tableaux) est souvent abusive. L'[[texdoc>booktabs-fr|introduction de la documentation]] (en français) de l'extension [[ctanpkg>booktabs]] de Simon Fear précise ce point (la [[texdoc>booktabs|version anglaise de la documentation]] pouvant être plus récente). Voir la question « [[https://faq.latex-fr.net/3_composition/tableaux/presentation_professionnelle_d_un_tableau|Comment présenter un tableau comme dans les livres ?]] » pour un exemple.

Les mêmes règles sont également implémentées dans la classe [[ctanpkg>memoir]]((Il existe un [[https://github.com/jejust/memoir-fr|projet de traduction]] de la documentation de ''Memoir''.)).

===== La position de la légende =====

Par défaut, <latex>\LaTeX</latex> a également tort de mettre les légendes **sous** le tableau. Étant donné qu'un tableau peut s'étendre sur plusieurs pages, les règles traditionnelles de typographie placent la légende **au-dessus** du tableau. Si vous cherchez à mettre la légende au-dessus du tableau avec la commande ''\caption'', la position finale sera décalée de 10pt vers le bas, et sera trop proche du tableau. Heureusement, l'extension [[ctanpkg>topcapt]] résout le problème (ci-dessous à droite).

<WRAP column 45ex>
**Légende standard**

<code latex>
\begin{table}
  \caption{Tableau de maîtres}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
</code>
</WRAP>
<WRAP column 45ex>
**Légende avec [[ctanpkg>topcapt]]**

<code latex>
\usepackage{topcapt}
...
\begin{table}
  \topcaption{Tableau de maîtres}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
</code>
</WRAP>
<WRAP clear/>
<WRAP column 45ex>
<latexdoc>
\documentclass{article}
  \usepackage[width=7cm]{geometry}
  \usepackage[french]{babel}
  \pagestyle{empty}
\begin{document}
\begin{table}
  \caption{Tableau de maîtres}
  \begin{tabular}{lc}
    Manet  & 1832--1883 \\
    Ingres & 1780--1867 \\
    Goya   & 1746--1828 \\
  \end{tabular}
\end{table}
\end{document}
</latexdoc>
</WRAP>
<WRAP column 45ex>
<latexdoc>
\documentclass{article}
  \usepackage[width=7cm]{geometry}
  \usepackage{topcapt}
  \usepackage[french]{babel}
  \pagestyle{empty}
\begin{document}
\begin{table}
  \topcaption{Tableau de maîtres}
  \begin{tabular}{lc}
    Manet  & 1832--1883 \\
    Ingres & 1780--1867 \\
    Goya   & 1746--1828 \\
  \end{tabular}
\end{table}
\end{document}
</latexdoc>
</WRAP>
<WRAP clear/>

Les classes [[ctanpkg>KOMA-script|KOMA-script]] disposent d'une commande similaire, ''\captionabove'' ; elles ont également une option de classe ''tablecaptionabove'' qui fait en sorte que ''\caption'' signifie ''\captionabove'' dans les environnements de tableau. L'extension [[ctanpkg>caption]] peut être chargée avec une option qui a le même effet :

<code latex>
\usepackage[tableposition=top]{caption}
</code>

Cela peut aussi être changé après le chargement de l'extension, avec ''\captionsetup'' :

<code latex>
\usepackage{caption}
\captionsetup[table]{position=above}
</code>

Notez que les deux « options de position » sont différentes : ''top'' (en haut) dans un cas, et ''above'' (au-dessus) dans l'autre, mais dans ce contexte, elles signifient la même chose.

<note tip>
Faire soi-même le travail de [[ctanpkg>topcapt]] peut être assez facile : celle-ci se contente en fait de permuter les valeurs des paramètres <latex>\LaTeX</latex> ''\abovecaptionskip'' (valeur par défaut ''10pt'') et ''\belowcaptionskip'' (valeur par défaut: ''0pt''). Voici donc un exemple de modification... supposant que les valeurs n'ont pas été modifiées par ailleurs :

<code latex>
\begin{table}
  \setlength{\abovecaptionskip}{0pt}
  \setlength{\belowcaptionskip}{10pt}
  \caption{Example table}
  \begin{tabular}{...}
    ...
  \end{tabular}
\end{table}
</code>
</note>

-----
//Source:// [[faquk>FAQ-destable|The design of tables]]

{{htmlmetatags>metatag-keywords=(LaTeX,tableaux,tableaux en imprimerie,filets,mettre en forme un tableau,composer un tableau)
metatag-og:title=(Pourquoi les tableaux en LaTeX sont laids)
metatag-og:site_name=(FAQ LaTeX francophone)
}}