Cette section s'intéresse à la gestion des lignes de séparation des cellules du tableau. Au chapitre 4, on a vu les commandes de base qui permettent d'ajouter des lignes pour séparer les cellules : hline
pour une ligne horizontale, vline
pour une ligne verticale et enfin cline
pour une ligne horizontale partielle.
Lignes doubles
Un problème était apparu lorsqu'on commençait à jouer avec des lignes doubles, en effet, le croisement entre des lignes doubles horizontales et verticales ne se faisait pas toujours comme désiré. Le package hhline
renferme une commande du même nom qui permet de remédier à ces problèmes. Voici un code classique avec des lignes doubles et son résultat pas très esthétique.
| \begin{tabular}{|l||m{5cm}|} | \hline | Mot & \\ \hline \hline | Table & Objet permettant de en hauteur des petits objets \\ \hline | Table & Constellation de sud, peu lumineuse \\ \hline | Livre & Un livre est un document transportable, formant une et comme tel \\ \hline | \end{tabular} |
|
listing l13.6 Tableau avec des lignes de séparation doubles
Quelques problèmes apparaissent dans ce tableau, et en fait, ils apparaissent chaque fois qu'une ligne double, horizontale ou verticale, croise une autre ligne. La commande hhline
va permettre de résoudre tous ces problèmes. On n'utilise plus hline
pour avoir des lignes horizontales dans le tableau mais bien hhline
qui prend comme seul paramètre la description de la ligne.
| \begin{tabular}{|l||m{5cm}|} | \hhline{-||-} | Mot & \\ \hhline{=::=} | Table & Objet permettant de en hauteur des petits objets \\ \hhline{-||-} | Table & Constellation de sud, peu lumineuse \\ \hhline{-||-} | Livre & Un livre est un document transportable, formant une et comme tel \\ \hhline{-||-} | \end{tabular} |
|
listing l13.7 Utilisation de la commande hhline
L'utilisation de la commande est assez simple, son unique paramètre consiste en une série de caractères qui vont définir l'allure de la ligne. Le tableau suivant reprend les caractères utilisables ainsi que leur description.
Symboles |
Description |
= |
Une double ligne horizontale de la largeur de la colonne |
- |
Une simple ligne horizontale de la largeur de la colonne |
~ |
Une colonne sans ligne horizontale |
| |
Une ligne verticale qui coupe une ligne horizontale |
: |
Une ligne verticale coupée par une ligner horizontale |
# |
Une double ligne horizontale entre deux lignes verticales |
t |
Ligne du haut d'une double ligne horizontale |
b |
Ligne du bas d'une double ligne horizontale |
*{Num}{Desc} |
Permet de répéter Desc Num fois |
tab l13.3 Caractères à utiliser pour la description des lignes avec hhline
Les caractères t
et b
doivent être utilisés entre deux caractères définissant les lignes verticales, c'est-à-dire entre |
ou :
. L'exemple suivant reprend un peu de tout, nous vous invitons à le regarder en détails et à bien comprendre la valeur des paramètres de la commande hhline
utilisés.
| \begin{tabular}{|c||c||c|} | \hhline{|=:t:=|t|=|} | o & o & o \\ \hhline{|=::=||=|} | o & o & o \\ \hhline{|=:b:=|b|=|} | \end{tabular} |
|
listing l13.8 Paramètre de la commande hhline
Lignes en pointillés
Ce n'est pas bien compliqué d'obtenir des lignes en pointillés dans un tableau, il suffit d'utiliser la puissance du package arydshln
. Voilà un nom bien compliqué et peu évoquateur direz-vous, mais il s'agit en fait d'une contraction de array dashed line ! La figure suivante montre un exemple de ce qu'on va pouvoir faire avec ce package.
Une fois le package arydshln
importé, vous pouvez utiliser les commandes hdashline
et cdashline
qui sont les équivalents des commandes hline
et cline
si ce n'est que les traits sont en pointillés et pour une ligne verticale pointillées, il suffit d'utiliser le descripteur :
à la place de |
. Pour obtenir le résultat de la figure l13.8, il faut donc écrire
| \begin{tabular}{|>{\tt \color{blue}}l:>{\small}m{5cm}<{.}|} | \hline | ls & liste les fichiers et d'un \\ \hdashline | cp & permet de faire une copie de fichiers ou \\ \hdashline | mv & permet de des fichiers ou \\ \hline | \end{tabular} |
|
listing l13.9 Lignes d'un tableau en pointillés
Changer le style
Plusieurs possibilités existent pour changer le style des pointillés. La première est assez simple, il suffit de modifier la valeur des longueurs dashlinedash
et dashlinegap
qui représentent la longueur des traits et des vides. Leur valeur par défaut est de 4 points. L'exemple suivant montre un changement de ces deux variables, le changement n'est effectif que localement puisque celui-ci se fait dans un bloc.
| {\setlength{\dashlinedash}{10pt} | \setlength{\dashlinegap}{1pt} | \begin{tabular}{|>{\tt \color{blue}}l:>{\small}m{5cm}<{.}|} | \hline | ls & liste les fichiers et d'un \\ \hdashline | cp & permet de faire une copie de fichiers ou \\ \hdashline | mv & permet de des fichiers ou \\ \hline | \end{tabular}} |
|
listing l13.10 Changement du style des pointillés (1)
Cette manière de procéder change le style pour tous les traits de la même manière, on peut régler les choses de manière plus fine en utilisant un nouveau descripteur pour les lignes verticales et en utilisant l'option des commandes hdashline
et cdashline
pour les lignes horizontales. La valeur de l'option est simple, il s'agit des longueurs du trait et du vide séparées par un slash. L'exemple suivant montre comment on règle le type de pointillés de manière plus fine.
| \begin{tabular}{|>{\tt \color{blue}}l;{2pt/2pt}>{\small}m{5cm}<{.}|} | \hline | ls & liste les fichiers et d'un \\ \hdashline[10pt/1pt] | cp & permet de faire une copie de fichiers ou \\ \hdashline[2pt/12pt] | mv & permet de des fichiers ou \\ \hline | \end{tabular} |
|
listing l13.11 Changement du style des pointillés (2)
Le nouveau descripteur pour les lignes verticales est donc ;{dash/gap}
où dash
représente la longueur du trait et gap
celle du vide. Pour les deux commandes hdashline
et cdashline
, il faut aussi préciser ces longueurs mais dans l'option de la commande.