Les commandes vues jusqu'à présent ne peuvent être utilisées dans les tableaux pour produire de beaux effets, comme par exemple colorer le fond de certaines cellules du tableau. Il est non envisageable d'utiliser colorbox
par exemple. Plusieurs alternatives existent dont l'extension colortab
qui est plus proche du TeX et l'extension colortbl
plus proche du LaTeX et que l'on va utiliser dans ce tutoriel.
Rangée de cellules en couleur
L'extension colortbl
offre une commande pour spécifier une couleur de fond pour toutes les cellules d'une même rangée, il s'agit de la commande rowcolor
. La commande prend un paramètre qui est le nom de la couleur à utiliser. On peut également utiliser une option de la commande pour préciser un modèle et directement définir une nouvelle couleur.
listing l10.10 La commande rowcolor
On utilise la commande avant de préciser le premier élément d'une ligne et toute le fond de la ligne sera colorée avec la couleur spécifiée comme le montre l'exemple suivant.
| \begin{tabular}{|l|c|c|c|} | \hline | \rowcolor[gray]{0.85} Produit & 1999 & 2000 & 2001 \ | \hline \hline | Livre & 15 & 10 & 7 \ | CD & 10 & 17 & 22 \ | \hline | \end{tabular} |
|
listing l10.11 Exemple de rowcolor
Colonne en couleur
On peut d'une manière similaire colorer des colonnes complètes d'un tableau avec la commande columncolor
. Cette commande doit être utilisée en conjonction avec le descripteur >
qui a été vu au chapitre 4. En voici un exemple d'utilisation :
| \begin{tabular}{|>{\columncolor[gray]{0.4} \color{white}}l|c|c|c|} | \hline | Produit & 1999 & 2000 & 2001 \ | \hline \hline | Livre & 15 & 10 & 7 \ | CD & 10 & 17 & 22 \ | \hline | \end{tabular} |
|
listing l10.12 Exemple de columncolor
Dans l'exemple du listing l10.11, deux effets ont été appliqués à la première colonne grâce au descripteur >
: mise du fond de la cellule en gris foncé par la commande columncolor
et mise du texte en blanc par la commande color
.
Si vous utilisez la mise en couleur des lignes et des colonnes sur une même cellule, sachez déjà que c'est la ligne qui gagnera et que la cellule aura donc comme couleur de fond celle spécifiée par rowcolor
.
Couleur des filets
Deux commandes sont disponible pour gérer la couleur des filets créés par les commandes hline
, vline
et cline
. La première commande est la commande arrayrulecolor
dont l'effet est de modifier la couleur courante des filets.
La commande doublerulesepcolor
quant à elle modifie la couleur de l'espace entre deux filets consécutifs. L'exemple suivant reprend ces deux nouvelles commandes.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| \setlength{\arrayrulewidth}{1mm} | \doublerulesepcolor{yellow} | | \begin{tabular}{|l|c|c|c|} | \arrayrulecolor[gray]{0.5} | \hline | | \arrayrulecolor{red} | Produit & 1999 & 2000 & 2001 \ | \hline \hline | Livre & 15 & 10 & 7 \ | CD & 10 & 17 & 22 \ | | \arrayrulecolor[gray]{0.5} | \hline | \end{tabular} |
|
listing l10.13 Filets en couleur
Remarquez que ces commandes ne doivent absolument pas être utilisées dans l'environnement tabular
, ainsi il ne faudra pas oublier de restaurer les couleurs « normales » pour les tableaux suivants. Une autre solution est de mettre le tableau dans un bloc ce qui réduira la portée des commandes de changement de couleur.