为表格列添加颜色并对齐

为表格列添加颜色并对齐

我正在尝试为表格中的某些列添加颜色以突出显示。在所述列中,我已将呈现的数据定位为按小数点对齐。但是,在为这些列添加颜色时,会忽略此对齐。关于如何恢复此对齐有什么想法吗?我在下面提供了 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}

导致:

图像

相关内容