我正在表格中两列之间的短划线上对齐一系列数字。我想为交替的行组添加颜色,但使用会\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
答案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}
您需要多次编译。