Cellcolor 覆盖表格中的对齐字符

Cellcolor 覆盖表格中的对齐字符

我正在表格中两列之间的短划线上对齐一系列数字。我想为交替的行组添加颜色,但使用会\cellcolor遮盖短划线。

注意:此表格最终嵌套到更大表格的一列中,因此我尝试使用它时没有太多运气\rowcolor

\documentclass{article}
\usepackage[table]{xcolor}
\newcommand\cc{\cellcolor[gray]{.7}}

\begin{document}
\begin{tabular}{r@{--}l}
1 & 10 \\
\cc 11 & \cc 50 \\
51 & 1,000 \\
\end{tabular}
\end{document}

答案1

抱歉,用户界面不太好,有一个简单版本

在此处输入图片描述

\documentclass{article}
\usepackage[table]{xcolor}
\newcommand\cc{\cellcolor[gray]{.7}}

\begin{document}
\setlength\tabcolsep{0pt}
\begin{tabular}{r>{--}l}
1 & 10 \\
\cc 11 & \cc 50 \\
51 & 1,000 \\
\end{tabular}
\end{document}

答案2

您可以使用优秀(且快速)包。由于dcolumn处于数学模式,因此您需要伊科马或类似的包以避免千位分隔符后出现空格。您还需要调整列的宽度以补偿逗号占用的空间。我添加了一个小的tabcolsep

如果您不喜欢\textendash数学减号,只需用命令替换第二个连字符\textendash,最后在前后留出一些空格:

\newcolumntype{d}{D{-}{\textendash}{2,4}}

下面的示例是在数学模式下设置的。

在此处输入图片描述

\documentclass{article}
\usepackage{dcolumn, array, icomma}
\usepackage[table]{xcolor}
\newcommand\cc{\cellcolor[gray]{.7}}

\newcolumntype{d}{D{-}{-}{2,4}}

\begin{document}

\setlength\tabcolsep{2pt}
\begin{tabular}{d}
1-10 \\
\cc11-50 \\
51-1,000 \\
\end{tabular}
\end{document}

答案3

环境{NiceTabular}提供nicematrix了用于对单元格进行着色的工具。但是,颜色是使用 PGF/Tikz 设置的,因此,在您的情况下,划线没有差异。

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\newcommand\cc{\cellcolor[gray]{.7}}

\begin{document}
\begin{NiceTabular}{r@{--}l}[colortbl-like]
1 & 10 \\
\cc 11 & \cc 50 \\
51 & 1,000 \\
\end{NiceTabular}
\end{document}

您需要多次编译。

上述代码的输出

相关内容