LaTeX & les tableaux en couleur : colorier les cellules d'un tableau

Fleuron

Sommaire

1 - Le package colortbl

2 - Colorer une colonne

3 - Colorer une ligne

4 - Colorer une seule cellule

5 - Colorer une seule cellule, une ligne et une colonne

6 - Colorer 1 ligne sur 2

7 - Colorer les filets

8 - Colorer l'espace entre les filets

9 - Colorer les filets verticaux

10 - Colorer les filets horizontaux

1 - Le package colortbl

Pour colorier un tableau il faut utiliser le package colortbl (\usepackage{colortbl}).

Dans cette partie je n'aborde que la coloration du fond du tableau et des filets, pour la coloration du texte, la définition des couleurs je te renvoie à la fiche «LaTeX et la couleur». Tout ce que tu as vu dans cette fiche s'applique à la coloration des tableaux. colortbl charge automatiquement xcolor.

2 - Colorer une colonne

Tu utilises la commande \columncolor comme ceci, \columncolor[modèle]{taux} ou bien \columncolor{couleur}. Il faut l'associer au descripteur >{...}.

\begin{tabular}{|c|>{\columncolor[RGB]{255,0,186}}c|>{\columncolor{gray!40}\color{white}\bfseries}c|} \hline Raoul&Simonne&mariés\\\hline Marcel&Raymonde&concubinage\\\hline Robert&Alphonse&pacsés\\\hline \end{tabular}

3 - Colorer une ligne

Tu utilises la commande \rowcolor comme ceci, \rowcolor[modèle]{taux} ou bien \rowcolor{couleur}. Tu la places au début de la ligne à colorer.

\begin{tabular}{|c|c|c|} \hline \rowcolor{blue}Raoul&Simonne&mariés\\\hline Marcel&Raymonde&concubinage\\\hline \rowcolor{red}Robert&Alphonse&pacsés\\\hline \end{tabular}

4 - Colorer une seule cellule

Tu utilises la commande cellcolor comme ceci, \cellcolor[modèle]{taux} ou bien \cellcolor{couleur}. Tu la places au début de la cellule à colorer.

\begin{tabular}{|c|c|c|} \hline Raoul&\cellcolor{red}Simonne&mariés\\\hline Marcel&Raymonde&concubinage\\\hline Robert&Alphonse&\cellcolor{green!25}\color{red}pacsés\\\hline \end{tabular}

5 - Colorer une seule cellule, une ligne et une colonne

Maintenant on va tout mélanger.

\begin{tabular}{|>{\columncolor{red}}c|>{\columncolor{gray!40}\color{white}\bfseries}c|c|} \hline \rowcolor{blue}Raoul&\cellcolor{red}Simonne&mariés\\\hline Marcel&Raymonde&concubinage\\\hline \rowcolor{green}Robert&Alphonse&\cellcolor{green!25}\color{red}%pacsés\\\hline \end{tabular}

Comme tu peux le voir \cellcolor prend le pas sur \rowcolor qui prend le pas sur \columncolor.

6 - Colorer 1 ligne sur 2

Tu dois utiliser l'option table du package xcolor : \usepackage[table]{xcolor}, qui permet d'utiliser la commande \rowcolors.

Attention au s de \rowcolors.

Tu l'utilises comme ceci :

\rowcolors[\hline]{ligneDébut}{couleurPaire}{couleurImpaire}

{ligneDébut} indique le numéro de la ligne ou doit commencer l'alternance de couleur.

L'option [\hline] trace les lignes horizontales.

\rowcolors[\hline]{1}{green}{yellow} \begin{tabular}{|c|c|} Raoul&Simonne\\ Robert&Raymonde\\ Jule&Jim\\ Roméo&Juliette \end{tabular}

Attention : comme tu peux le remarquer dans le code ci-dessus, la commande \rowcolors doit être placée avant et en dehors de l'environnement tabular. Elle s'appliquera donc à tous les tableaux qui suivent. Si tu ne ne veux l'appliquer uniquement au tableau courant encadre l'ensemble de { }.

{\rowcolors[\hline]{1}{green}{yellow} \begin{tabular}{...} ... \end{tabular} }

Si tu utilises \rowcolors sans l'option [\hline], n'oublie pas d'ajouter des \hline aux bons endroits.

{\rowcolors{2}{green}{green!25} \begin{tabular}{|c|c|} Garçon&Fille\\ Robert&Raymonde\\ Jule&Jim\\ Roméo&Juliette\\ \end{tabular} }

{\rowcolors{2}{green}{green!25} \begin{tabular}{|c|c|} \hline % ici pour fermer le tableau en haut Garçon&Fille\\ \hline % et là pour encadrer l'entête Robert&Raymonde\\ Jule&Jim\\ Roméo&Juliette\\ \hline % ici pour fermer le tableau en bas \end{tabular} }

7 - Colorer les filets

Pour colorer tous les filets d'un tableau tu utilises \arrayrulecolor{couleur}.

Cette commande se comporte comme \color.

{\arrayrulecolor{red} \begin{tabular}{|c|c|} \hline Garçon&Fille\\\hline Raoul&Simonne\\\hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}}

Tu peux l'utiliser conjointement avec \arrayrulewidth qui augmente la taille du filet.

{\setlength\arrayrulewidth{2pt} \arrayrulecolor{red} \begin{tabular}{|c|c|} \hline Garçon&Fille\\\hline Raoul&Simonne\\\hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}}

Tu peux placer \arrayrulecolor{couleur} à l'intérieur de l'environnement tabular.

\begin{tabular}{|c|c|} \arrayrulecolor{red} \hline Garçon&Fille\\\hline Raoul&Simonne\\\hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

Tu peux obtenir des effets intéressants.

\begin{tabular}{|c|c|} \hline Garçon&Fille\\\hline Raoul&Simonne\\\hline \arrayrulecolor{red} Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

Attention : on ne peux pas limiter l'action de \arrayrulecolor{couleur} même en l'encadrant de { }. La seule solution pour retrouver un comportement normal des tableaux suivants est de mettre \arrayrulecolor{black} à la fin du tableau coloré.

8 - Colorer l'espace entre les filets

Tu utilises \doublerulesepcolor, à la quelle tu peux joindre \doublerulesep qui augmente l'espace entre les filets.

{\setlength\doublerulesep{3pt} \doublerulesepcolor{red} \begin{tabular}{|c||c|} \hline Garçon&Fille\\\hline\hline Raoul&Simonne\\\hline \arrayrulecolor{red} Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

Attention : comme pour \arrayrulecolor{couleur} on ne peux pas limiter l'action de \doublerulesepcolor{couleur} même en l'encadrant de { }. La seule solution pour retrouver un comportement normal des tableaux suivants est de mettre \doublerulesepcolor{white} à la fin du tableau coloré.

9 - Colorer les filets verticaux

Pour colorer les filets verticaux il faut remplacer les | par !{\color{couleur}\vline}. Pour régler la largeur du filet on utilise !{\color{couleur}\vline width largeur}.

\begin{tabular}{!{\color{red}\vline}c!{blue%\color{blue}\vline}c!{\color{pink}\vline width 10pt}c|} \hline Garçon&Fille&Statut\\\hline Raoul&Simonne&mariés\\\hline Robert&Raymonde&concubinage\\\hline Marcel&Ginette&\\\hline \end{tabular}

Tu peux créer une commande pour définir un nouveau type de trait vertical. Voici comment procéder pour créer un nouveau filet vertical de couleur rouge et de 2pt de large que l'on va appeler R.

\newcolumntype{R}{!{\color{red}\vline width 2pt}}

Tu l'utilise comme ceci :

\newcolumntype{R}{!{\color{red}\vline width 2pt}} \begin{tabular}{|cRc|}%* \hline Garçon&Fille\\\hline Raoul&Simonne\\\hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

10 - Colorer les filets horizontaux

Pour colorer un seul filet horizontal, il faut passer par la création d'une commande. On va donc créer un nouveau type de ligne que l'on va appeler \rhline, r pour rouge (tu peux donner le nom que tu veux) :

\newcommand{\rhline}{\arrayrulecolor{red}\hline\arrayrulecolor{black}}

Le premier \arrayrulecolor est pour changer la couleur et le deuxième pour retrouver la couleur par défaut. Si tu l'omet toutes les lignes suivantes seront colorées ce qui n'est pas le but recherché. Tu utilises ta nouvelle commande comme \hline :

\newcommand{\rhline}{\arrayrulecolor{red}\hline\arrayrulecolor{black}} \begin{tabular}{|c|c|} \hline Garçon&Fille\\ \rhline Raoul&Simonne\\ \hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

Tu peux colorer un filet horizontal partiel (\cline), par le même principe. La différence est que\cline prend un argument :

\newcommand{\rcline}[1]{\arrayrulecolor{red}\cline{#1}\arrayrulecolor{black}}

Tu utilises ta nouvelle commande \rcline comme un \cline par exemple \rcline{1-1}

\newcommand{\rcline}[1]{\arrayrulecolor{red}\cline{#1}\arrayrulecolor{black}} \begin{tabular}{|c|c|} \hline Garçon&Fille\\ \rcline{1-1} Raoul&Simonne\\ \hline Robert&Raymonde\\\hline Marcel&Ginette\\\hline \end{tabular}

11 - Conclusion

On a fait le tour de la coloration des tableaux. Tu peux mélanger tout ce que l'on a vu dans cette fiche et dans les précédentes pour faire des tableaux merveilleux et très flashy.