US

Lignes de séparation

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.

1 
2 
3 
4 
5 
6 
 
7 
\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
Tableau avec des lignes de séparation doubles
fig l13.5 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.

1 
2 
3 
4 
5 
6 
 
7 
\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
Utilisation de la commande hhline
fig l13.6 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.

1 
2 
3 
4 
5 
\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
Paramètre de la commande hhline
fig l13.7 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.

Lignes d'un tableau en pointillés
fig l13.8 Lignes d'un tableau en pointillés

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

1 
2 
3 
4 
5 
6 
\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.

1 
2 
3 
4 
5 
6 
7 
8 
{\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)
Changement du style des pointillés (1)
fig l13.9 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.

1 
2 
3 
4 
5 
6 
\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)
Changement du style des pointillés (2)
fig l13.10 Changement du style des pointillés (2)

Le nouveau descripteur pour les lignes verticales est donc ;{dash/gap}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.

  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter