#latex #pdflatex #latex-environment
#Латекс #pdflatex
Вопрос:
Я пытаюсь изменить цвет фона некоторых ячеек, значения которых превышают некоторый предел. Например, если значение ячейки больше 2, то цвет фона ячейки должен быть красным. Я думаю, что я очень близок к этому, потому что я могу сделать это, когда в таблице есть только числа. Проблема в том, что я не знаю, как это сделать, когда в моей таблице есть ячейки, содержащие текст, а другие — с числами.
Что я могу сделать:
documentclass[12pt]{article}
usepackage{tikz}
usepackage{collcell}
%The min, mid and max values
newcommand*{MinNumber}{0.0}%
newcommand*{MidNumber}{0.5} %
newcommand*{MaxNumber}{1.0}%
%Apply the gradient macro
newcommand{ApplyGradient}[1]{%
ifdim #1 pt > MidNumber pt
pgfmathsetmacro{PercentColor}{max(min(100.0*(#1 - MidNumber)/(MaxNumber-MidNumber),100.0),0.00)} %
hspace{-0.33em}colorbox{green!PercentColor!yellow}{#1}
else
pgfmathsetmacro{PercentColor}{max(min(100.0*(MidNumber - #1)/(MidNumber-MinNumber),100.0),0.00)} %
hspace{-0.33em}colorbox{red!PercentColor!yellow}{#1}
fi
}
newcolumntype{R}{>{collectcellApplyGradient}c<{endcollectcell}}
renewcommand{arraystretch}{0}
setlength{fboxsep}{3mm} % box size
setlength{tabcolsep}{0pt}
begin{document}
begin{table}[ht]
center{{textbf{huge SOME TEXT HERE}} \Lat: -20.34 / Lon: -40.21 \}
caption{Some text here...}
renewcommand{baselinestretch}{2}
center
begin{center}
begin{tabular}{*{10}{R}}
hline
%rowcolor{Gray}
1.00 amp; 1.00 amp; 1.00 amp; 1.00 amp; 0.99 amp; 0.98 amp; 0.96 amp; 0.90 amp; 0.82 amp; 0.37 \
1.00 amp; 1.00 amp; 0.99 amp; 0.98 amp; 0.95 amp; 0.90 amp; 0.82 amp; 0.61 amp; 0.37 amp; 0.01 \
1.00 amp; 0.99 amp; 0.98 amp; 0.96 amp; 0.90 amp; 0.82 amp; 0.67 amp; 0.37 amp; 0.14 amp; 0.00 \
1.00 amp; 0.98 amp; 0.95 amp; 0.90 amp; 0.78 amp; 0.61 amp; 0.37 amp; 0.08 amp; 0.01 amp; 0.00 \
end{tabular}
end{center}
end{table}
end{document}
То, что я хочу сделать, это что-то похожее на:
documentclass[12pt]{article}
usepackage{tikz}
usepackage{collcell}
%The min, mid and max values
newcommand*{MinNumber}{0.0}%
newcommand*{MidNumber}{0.5} %
newcommand*{MaxNumber}{1.0}%
%Apply the gradient macro
newcommand{ApplyGradient}[1]{%
ifdim #1 pt > MidNumber pt
pgfmathsetmacro{PercentColor}{max(min(100.0*(#1 - MidNumber)/(MaxNumber-MidNumber),100.0),0.00)} %
hspace{-0.33em}colorbox{green!PercentColor!yellow}{#1}
else
pgfmathsetmacro{PercentColor}{max(min(100.0*(MidNumber - #1)/(MidNumber-MinNumber),100.0),0.00)} %
hspace{-0.33em}colorbox{red!PercentColor!yellow}{#1}
fi
}
newcolumntype{R}{>{collectcellApplyGradient}c<{endcollectcell}}
renewcommand{arraystretch}{0}
setlength{fboxsep}{3mm} % box size
setlength{tabcolsep}{0pt}
begin{document}
begin{table}[ht]
center{{textbf{huge SOME TEXT HERE}} \Lat: -20.34 / Lon: -40.21 \}
caption{Some text here...}
renewcommand{baselinestretch}{2}
center
begin{center}
begin{tabular}{*{10}{R}}
hline
%rowcolor{Gray}
textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text} amp; textbf{text}
textbf{Hs} amp; 1.00 amp; 1.00 amp; 1.00 amp; 0.99 amp; 0.98 amp; 0.96 amp; 0.90 amp; 0.82 amp; 0.37 \
textbf{Tp} amp; 1.00 amp; 0.99 amp; 0.98 amp; 0.95 amp; 0.90 amp; 0.82 amp; 0.61 amp; 0.37 amp; 0.01 \
textbf{Wind Spd.} amp; 0.99 amp; 0.98 amp; 0.96 amp; 0.90 amp; 0.82 amp; 0.67 amp; 0.37 amp; 0.14 amp; 0.00 \
textbf{Wind Dir.} amp; 0.98 amp; 0.95 amp; 0.90 amp; 0.78 amp; 0.61 amp; 0.37 amp; 0.08 amp; 0.01 amp; 0.00 \
end{tabular}
end{center}
end{table}
end{document}
Теоретически, единственным отличием было бы включение некоторых ячеек с текстом, а не с числами.
Кто-нибудь может мне помочь? Я знаю, может быть, этот вопрос прост для кого-то более опытного, но для новичка в latex вроде меня это вызов.