Ceci est une ancienne révision du document !
Comment fixer la largeur d'un tableau?
L'environnement
tabular*
permet de faire cela, mais
seul l'espace entre les colonnes peut s'adapter. Cet espace n'est pas
à confondre avec \tabcolsep
qui est l'espacement de part et
d'autre d'une colonne et non celui qui sépare celles-ci. On doit
utiliser \extracolsep{\stretch{1}}
ainsi
\begin{tabular*}{0.5\linewidth}{ @{\extracolsep{\stretch{1}}} l p{8cm} @{} } \hline fonctions & rôle \\ \hline atoi() & transforme une chaîne de caractères en entier \\ fscanf() & remplit les variables dont on donne l'adresse à partir d'un fichier (attention, d'utilisation délicate) \\ printf() & impression formatée d'une chaîne de caractères \\ sqrt() & racine carrée (penser à lier à la bibliothèque mathématique) \\ \hline \end{tabular*}
Une autre possibilité, avec le package array:
\begin{tabular*}{0.5\linewidth}{ !{\extracolsep{\stretch{1}}} l p{8cm} } \hline fonctions & rôle \\ \hline atoi() & transforme une chaîne de caractères en entier \\ fscanf() & remplit les variables dont on donne l'adresse à partir d'un fichier (attention, d'utilisation délicate) \\ printf() & impression formatée d'une chaîne de caractères \\ sqrt() & racine carrée (penser à lier à la bibliothèque mathématique) \\ \hline \end{tabular*}
!{code}
est équivalent à @{code}
à la différence près que
la séparation \tabcolsep
n'est pas supprimée. Donc soit on supprime
cette séparation des deux côtés du tableau, soit on utilise cette fonction !{code}
.
Les packages tabularx et easytable permettent
de faire cela. Avec l'environnement
tabularx
, par exemple, on peut utiliser
un nouveau type de colonne: X
qui ressemble à une colonne de type p{larg}
,
si ce n'est qu'il n'est pas nécessaire de passer l'argument \meta{larg},
et que la largeur s'adapte à la place restante:
\begin{tabularx}{\linewidth}{|X|X|} \hline salut & coucou \\ bonjour & hello \\ \hline \end{tabularx}
qui donne:
Cet exemple donnera un tableau s'étalant sur tout une ligne et divisé en deux colonnes de largeur égale.
Il est également possible de spécifier la largeur d'une
colonne (
p{larg}
). À partir de là, en gérant habilement les longueurs,
on peut fixer la largeur du tableau et de chacune de ses colonnes.
Le package tabulary fonctionne un peu comme tabularx,
mais accepte les paramètres
L
, C
, R
, J
qui permettent respectivement
d'aligner à gauche, de centrer, d'aligner à droite et de justifier le contenu d'une colonne.
De plus, la largeur des colonnes est proportionnelle à la longueur de la plus grande entrée
(de chaque colonne).