使用交替的表格行颜色为盲点案例着色

使用交替的表格行颜色为盲点案例着色

在热情地使用交替表格行着色功能xcolor(我在 TeXSE 上发现了这个功能,还有许多其他最有用的东西)时,我偶然发现了一个恼人的现象:代码

\documentclass{amsart}

\usepackage[table]{xcolor}

\rowcolors{2}{gray!10}{white}

\begin{document}
\begin{tabular}{l|r}
left head&right head\\
\hline
\hline
cell&cell\\
\hline
L\hfill R&cell\\
\hline
cell&cell\\
\hline
cell&cell\\
cell&cell
\end{tabular}
\end{document}

生产

在此处输入图片描述

那个恼人的盲点无疑是由 造成的\hfill,但为什么呢?我能去掉它吗?如果你告诉我怎么做,我不介意把那个特定的单元格分成两部分。制作额外的列不是一个选择,因为我只在极少数的单元格中偶尔需要它。

答案1

在此处输入图片描述

如果使用fill胶水,总数必须0fill参见第 10 页顶部的段落texdoc colortbl

\documentclass{amsart}

\usepackage[table]{xcolor}

\rowcolors{2}{gray!10}{white}

\begin{document}
\begin{tabular}{l|r}
left head&right head\\
\hline
\hline
cell&cell\\
\hline
L\hfill R\hspace{-\fill}\mbox{}&cell\\
\hline
cell&cell\\
\hline
cell&cell\\
cell&cell
\end{tabular}
\end{document}

答案2

{NiceTabular}以下是使用构建该表的一种方法nicematrix

您将在 PDF 查看器中获得完美的输出。在某些 PDF 查看器(例如 Adob​​e Reader)中,规则似乎不会因某些缩放级别而消失。

\documentclass{amsart}
\usepackage{nicematrix}

\begin{document}
\begin{NiceTabular}{l|r}
\CodeBefore
  \rowcolors{2}{gray!10}{}
\Body
left head&right head\\
\hline
\hline
cell&cell\\
\hline
L \Block[r]{}{R}&cell\\
\hline
cell&cell\\
\hline
cell&cell\\
cell&cell
\end{NiceTabular}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

答案3

尝试把

\begin{tabular}{@{}ll@{}}L&R\end{tabular}

而不是使用单元格\hfill(您可以轻松构建宏)

相关内容