我正在尝试为表格中的某些列添加颜色以突出显示。在所述列中,我已将呈现的数据定位为按小数点对齐。但是,在为这些列添加颜色时,会忽略此对齐。关于如何恢复此对齐有什么想法吗?我在下面提供了 MWE。
\documentclass{article}
\usepackage{graphicx,xcolor,colortbl}
\definecolor{Gray}{gray}{0.85}
\definecolor{LightCyan}{rgb}{0.88,1,1}
\setlength{\columnseprule}{0.8pt}
\begin{document}
\newcolumntype{g}{>{\columncolor{Gray}}c}
\begin{table}
\begin{tabular}{l| g@{,}g r@{.}l g@{,}g r@{.}l}
\hline
\multicolumn{1}{c}{\cellcolor{LightCyan}} &\multicolumn{2}{c}{\cellcolor{LightCyan}x}&\multicolumn{2}{c}{\cellcolor{LightCyan}y}&\multicolumn{2}{c}{\cellcolor{LightCyan}w}&\multicolumn{2}{c}{\cellcolor{LightCyan}z}\\
\hline
variable 1 &-0&54&&&1&64&&\\
variable 2&&&&&&&&\\\hline
\end{tabular}
\end{table}
\end{document}
答案1
我不确定我是否正确理解了你的问题,但是我会这样做。
首先进行一些解释:
dcolumn
是一个为您提供按给定分隔符对齐小数的列的包,例如,我使用 定义了以下两个新的列类型D{.}{.}{2}
,第一个.
是您的输入,第二个是输出分隔符,2
将对齐设置为两位小数\mc
是居中多列的缩写a
并且b
是白色和灰色的柱子\rowcolor{LightCyan}
设置整行的颜色,因此您不必为每个单元格定义颜色
代码
\documentclass{article}
\usepackage{graphicx,xcolor,colortbl}
\usepackage{dcolumn}
\newcommand{\mc}[2]{\multicolumn{#1}{c}{#2}}
\definecolor{Gray}{gray}{0.85}
\definecolor{LightCyan}{rgb}{0.88,1,1}
\newcolumntype{a}{>{\columncolor{Gray}}D{.}{.}{2}}
\newcolumntype{b}{>{\columncolor{white}}D{.}{.}{2}}
\begin{document}
\begin{table}
\begin{tabular}{l | a | b | a | b}
\hline
\rowcolor{LightCyan}
\mc{1}{} & \mc{1}{x} & \mc{1}{y} & \mc{1}{w} & \mc{1}{z} \\
\hline
variable 1 & -0.54 & & 1.64 & \\
variable 2 & & & & \\ \hline
\end{tabular}
\end{table}
\end{document}
导致: