PDA

Afficher la version complète : latex: gestion de lignes d'un tableau



berny
18/02/2014, 16h24
Bonjour,

J'ai cherché à faire une mise en forme conditionnelle d'un tableau avec du latex. J'ai utilisé ce script:


\documentclass{article}
\usepackage{xcolor}
\usepackage{pgf}
\usepackage{collcell}


% This selects the amount of color to use
\newcommand*{\MinNumber}{${MIN}}%
\newcommand*{\MaxNumber}{${MAX}}%

\newcommand{\ApplyGradient}[1]{%
\pgfmathsetmacro{\PercentColor}{100.0*(#1-\MinNumber)/(\MaxNumber-\MinNumber)}
\colorbox{red!\PercentColor}{#1}
}
\newcolumntype{R}{>{\collectcell\ApplyGradient}{r}<{\endcollectcell}}

\begin{document}
begin{tabular}{c| R R R | c}
\hline
& 0-2 & 2-4 & 4-6 \\
35 & 0.1 & 0.5 & 0.1 \\
45 & 1.2 & 1.5 & 1.7 \\
55 & 2.4 & 2.3 & 1.5 \\ \end{tabular}
\end{document}

Ca marche très bien sauf si on ne veut pas que la première ligne soit interpretée. Ici, dans mon exemple, je ne souhaite pas coloriser "0-2" "2-4" etc. Comment puis-je modifier mon script pour cela? Vérifier si la valeur #1 envoyé est bien un nombre? Comment faire cela?

Merci d'avance

elleaime
18/02/2014, 22h57
Bonjour

Je n'ai pas la réponse exacte au problème, plutôt un moyen de le contourner.

J'ai modifié les lignes suivantes :

\usepackage[table]{xcolor}

\begin{tabular}{c|r r r r|c}
\hline
\rowcolor{white}&0-2 & 2-4 & 4-6 \\
\rowcolor{yellow}35 & 0.1 & 0.5 & 0.1 \\
\rowcolor{yellow}45 & 1.2 & 1.5 & 1.7 \\
\rowcolor{yellow}55 & 2.4 & 2.3 & 1.5 \\
\hline
\end{tabular}

elleaime
18/02/2014, 23h13
Il y a aussi les commandes :
\rowcolors*[commande]{ligne initiale}{couleur ligne impaire}{coulleur ligne paire}
\showrowcolors
\hiderowcolors

mais je n'ai pas réussi à les mettre en place