Comment améliorer l’espacement entre les lignes d’un tableau ?#

Les mécanismes de et pour maintenir l’espace entre les lignes reposent sur le générateur de paragraphe de qui compare la forme des lignes consécutives et ajuste l’espace entre elles.

Ces mécanismes ne peuvent pas fonctionner exactement de la même manière lors de la construction d’une table car le constructeur de paragraphes ne voit pas les lignes elles-mêmes. En conséquence, les tableaux sont parfois composés avec des lignes trop rapprochées ou trop éloignées.

1.  Avec des commandes de base#

Historiquement, les typographes travaillant avec des caractères en plomb ajustaient l’espacement entre les lignes d’une table à l’aide de cales (strut en anglais). Un utilisateur de ou peut faire exactement la même chose : la plupart des extensions proposent une commande \strut qui définit un espacement approprié à la taille actuelle du texte. Placer une commande \strut à la fin d’une ligne problématique est la solution la plus simple au problème… si elle fonctionne.

Les solutions ci-après sont spécifiques à mais certaines peuvent être simplement traduites en commandes Plain

2.  Avec l’extension « array »#

Si chaque ligne de votre tableau demande à être corrigée d’une même longueur, l’extension array fournit la commande \extrarowheight :

\usepackage{array}% dans le préambule
...
\setlength{\extrarowheight}{longueur} % longueur étant à préciser : par exemple 1cm, 2.2ex...
\begin{tabular}{....}

3.  Avec l’extension « bigstrut »#

Pour corriger une seule ligne qui n’est redressée par une commande \strut, vous pouvez utiliser une commande proche de la commande qui va à l’intérieur d’un \strut :

\rule{0pt}{length}  % longueur étant à préciser : par exemple 1cm, 2.2ex...

L’extension bigstrut définit une commande que vous pouvez utiliser à cette fin :

  • \bigstrut positionne une cale au-dessus et au-dessous de la ligne courante ;

  • \bigstrut[t] positionne une cale au-dessus de la ligne ;

  • \bigstrut[b] positionne une cale au-dessous de la ligne.

4.  Avec l’extension « tabls »#

De façon un peu plus générale, l’extension tabls génère automatiquement une cale de taille appropriée à la fin de chaque ligne. Elle a toutefois deux inconvénients : elle ralentit la composition des tables (car elle interagit avec tout ce qui se trouve dans les tableaux) et elle peut être incompatible avec d’autres extensions.

5.  Avec l’extension « makecell »#

L’extension makecell fournit une commande \gape qui peut être utilisée pour appliquer une cale à une seule cellule d’un tableau :

\begin{tabular}{lll}
  ... & \gape{cell contents} & ... \\
  ...
\end{tabular}

La commande \Gape fournit la même fonctionnalité avec des arguments facultatifs : ils permettent d’affiner le réglage du haut et du bas de la ligne.

Pour ajuster chaque cellule de tableaux entiers, la commande \setcellgapes{⟨longueur⟩} permet ici définir une valeur d’ajustement. Un argument facultatif « t » ou « b » restreint l’ajustement respectivement au haut ou au bas de chaque cellule. Après avoir placé cette commande \setcellgapes, la commande \makegapedcells active cette correction des cellules tandis que la commande \nomakegapedcells la désactive.

6.  Avec l’extension « cellspace »#

L’extension cellspace accomplit une tâche assez similaire en définissant un nouveau type de colonne de tableau nommée « S », que vous appliquez à chaque spécification de colonne. Supposons que votre table commence ainsi :

\begin{tabular}{l l l p{3cm}}

Vous pourriez alors la modifier comme suit :

\begin{tabular}{Sl Sl Sl Sp{3cm}}

Cette technique semble ne pas trop interférer avec les autres extensions (mais cela reste à prouver).

7.  Avec l’extension « booktabs »#

L’extension booktabs est livrée avec un texte traitant de la manière dont les tableaux devraient être conçus (disponible en français). L’auteur note en particulier que les utilisateurs de ont trop souvent tendance à placer des filets dans leurs tableaux. Dans la mesure où la plupart des problèmes d’espacement des lignes des tableaux apparaissent lors de collisions avec des filets, la démarche de cet auteur vaut le détour.

L’extension fournit des commandes de filets pour appliquer les idées de l’auteur mais traite également la question de l’espacement entre les lignes. La version la plus récente de booktabs est compatible avec des extensions telles que longtable. Un exemple de l’utilisation de cette extension est présenté à la question « Comment présenter un tableau comme dans les livres ? ».