US

Espacements et dimensions

Apparence des tableaux

On s'intéresse maintenant à la gestion des espacements et dimensions dans les tableaux. On a déjà vu trois commandes de longueur au chapitre 9 qui permettent de changer l'apparence des tableaux. Le tableau suivant reprend ces commandes de longueur avec quelque-unes en plus.

Commande Description
\tabcolsep Moitié de l'espacement horizontal placé entre les colonnes des tableaux créé avec tabular
\arraycolsep Moitié de l'espacement horizontal placé entre les colonnes des tableaux créé avec array
\arrayrulewidth Largeur des filets créés par |, hline, cline ou vline
\doublerulesep Espacement entre deux filets successifs créés par | ou hline
\jot Espacement vertical ajouté entre les lignes dans les environnements eqnarray
tab l13.4 Commandes de longueur pour les tableaux
1 
2 
3 
4 
5 
6 
{\setlength{\jot}{20pt}
\begin{eqnarray*}
    x & = & \frac{1}{5} + \frac{1}{3} \\
     & = & \frac{3 + 5}{15} \\
     & \approx & 0,53
\end{eqnarray*}}
listing l13.12 Espacement dans un environnement eqnarray
Espacement dans un environnement eqnarray
fig l13.11 Espacement dans un environnement eqnarray

Espacement dans les cellules

Un autre élément que l'on aimerait pouvoir contrôler est l'espacement ajouté entre les lignes du tableau, c'est-à-dire l'espace entre le texte des cellules et le bord de celles-ci. Il n'y a pas une commande de longueur pour contrôler cet espacement, pour pouvoir changer cet espacement, il faut redéfinir une macro-commande.

On n'a pas encore vu ce qu'est une macro-commande, mais pour redéfinir une macro-commande, on utilise la commande renewcommand qui prend deux paramètres, le nom de la commande à redéfinir, pour nous arraystretch et comme deuxième paramètre, la nouvelle définition qui sera dans notre cas un simple entier représentant le facteur de modification. Avec 2, on double l'espacement, ...

1 
2 
3 
4 
5 
6 
7 
{\renewcommand{\arraystretch}{2}
\begin{tabular}{|>{\tt \color{blue}}l|>{\small}m{5cm}<{.}|}
    \hline
    ls & liste les fichiers et d'un \\ \hline
    cp & permet de faire une copie de fichiers ou \\ \hline
    mv & permet de des fichiers ou \\ \hline
\end{tabular}}
listing l13.13 Espacement entre les lignes avec arraystretch
Espacement entre les lignes avec arraystretch
fig l13.12 Espacement entre les lignes avec arraystretch

Une autre possibilité pour modifier localement l'espacement entre les lignes du tableau et le texte des cellules est d'utiliser un trait vertical invisible. Cette astuce à déjà été invoquée au chapitre 11 pour modifier l'espacement entre le texte et le cadre autour de celui-ci créé avec la commande fbox.

1 
2 
3 
4 
5 
6 
\begin{tabular}{|>{\tt \color{blue}}l|>{\small}m{5cm}<{.}|}
    \hline
    \rule[-0.9cm]{0cm}{2cm} ls & liste les fichiers et d'un \\ \hline
    cp & permet de faire une copie de fichiers ou \\ \hline
    mv & permet de des fichiers ou \\ \hline
\end{tabular}
listing l13.14 Espacement entre les lignes en utilisant rule
Espacement entre les lignes en utilisant rule
fig l13.12 Espacement entre les lignes en utilisant rule

Grâce à cette petite astuce qui consiste à insérer une ligne de largeur nulle et de hauteur et profondeur spécifiées, on peut modifier l'aspect des cellules de manière individuelle.

Dimension du tableau

Les tableaux insérés avec l'environnement tabular ont une largeur fixe que si toutes les colonnes sont déclarées avec le descripteur p{}. Pour pouvoir forcer une certaine largeur de tableau, on peut utiliser la version étoilée de l'environnement qui prend un paramètre supplémentaire obligatoire qui est la largeur du tableau.

Le problème avec l'environnement tabular* est qu'il va tenter de satisfaire la contrainte de largeur du tableau en jouant sur l'espacement inter-colonne, et les résultats sont parfois inesthétique. Pour pallier ce problème, on peut utiliser à la place l'environnement tabularx défini dans le package du même nom. Pour satisfaire la contrainte de largeur imposée du tableau, l'environnement va jouer sur la largeur des colonnes et on doit lui préciser quelles sont les colonnes redimensionnables en utilisant le nouveau descripteur X.

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
\begin{tabular*}{4cm}{|l|l|}
    \hline
    ls & list \\ \hline
    cp & copy \\ \hline
    mv & move \\ \hline
\end{tabular*}
 
\begin{tabularx}{4cm}{|l|X|}
    \hline
    ls & list \\ \hline
    cp & copy \\ \hline
    mv & move \\ \hline
\end{tabularx}
listing l13.15 Comparaison de tabular* et tabularx
Comparaison de tabular* et tabularx
fig l13.13 Comparaison de tabular* et tabularx
  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter