表格中文本的对齐方式和颜色

表格中文本的对齐方式和颜色

是否可以用颜色对齐表格最后一列的数字?对于此列,我希望数字(它们实际上是文本)位于表格的中心,但与最后一个数字的右侧对齐。我能够使用 siunitx 包对齐它们,但颜色和最后一条垂直线消失了。有没有一种简单的方法可以保留颜色/垂直线并对齐文本?这是我的代码:

\documentclass{article}
\usepackage{array}
\usepackage{graphicx,xcolor,colortbl}

\definecolor{LightDandelion}{RGB}{255,255,204}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{D}[1]{>{\centering\arraybackslash\columncolor{LightDandelion}}m{#1}}

\begin{document}


{\renewcommand{\arraystretch}{1.1}%

\newcommand\B{\rule[-1.5ex]{0pt}{0pt}}

\begin{table}
\makebox[\linewidth][c]{\begin{tabular}{| L{4.5cm} | C{1.8cm} | C{1.8cm} | C{1.8cm} | D{1.8cm} |}
\hline
& \multicolumn{4}{c|}{\bfseries Scores}  \\ \hline
& {\centering} {\bfseries 1988} & {\centering} {\bfseries 1989} & {\centering} {\bfseries 1990} & {\centering} {\bfseries Change} \\ \hline
{\bfseries Overall}  & {\bfseries 234} & {\bfseries 218} & {\bfseries 198} & {\bfseries-36}   \\ \hline
Sub Score 1 & 262 & 257 & 253 & -9   \\ \hline
Sub Score 2 & 227 & 214 & 196 & -31   \\ \hline
Sub Score 3 & 187 & 188 & 353 & +166   \\ \hline
\end{tabular}}
\end{table}
\end{document}

答案1

在本例中,我只需通过定义为 的宏将最后一列的条目放入右对齐的固定宽度框中\rjust。在本例中,我将框的宽度硬连线为列的最宽元素+166

\documentclass{article}
\usepackage{array}
\usepackage{graphicx,xcolor,colortbl}
\usepackage{calc}

\definecolor{LightDandelion}{RGB}{255,255,204}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{D}[1]{>{\centering\arraybackslash\columncolor{LightDandelion}}m{#1}}
\newcommand\rjust[1]{\makebox[\widthof{\mdseries+166}][r]{#1}}
\begin{document}
{\renewcommand{\arraystretch}{1.1}%
\newcommand\B{\rule[-1.5ex]{0pt}{0pt}}
\begin{table}
\makebox[\linewidth][c]{\begin{tabular}{| L{4.5cm} | C{1.8cm} | C{1.8cm} | C{1.8cm} | D{1.8cm} |}
\hline
& \multicolumn{4}{c|}{\bfseries Scores}  \\ \hline
& {\centering} {\bfseries 1988} & {\centering} {\bfseries 1989} & {\centering} {\bfseries 1990} & {\centering} {\bfseries Change} \\ \hline
{\bfseries Overall}  & {\bfseries 234} & {\bfseries 218} & {\bfseries 198} & {\bfseries\rjust{$-$36}}   \\ \hline
Sub Score 1 & 262 & 257 & 253 & \rjust{$-$9}   \\ \hline
Sub Score 2 & 227 & 214 & 196 & \rjust{$-$31}   \\ \hline
Sub Score 3 & 187 & 188 & 353 & \rjust{+166}   \\ \hline
\end{tabular}}
\end{table}
\end{document}

在此处输入图片描述

相关内容