![rowcolor 删除表格的垂直线](https://linux22.com/image/400089/rowcolor%20%E5%88%A0%E9%99%A4%E8%A1%A8%E6%A0%BC%E7%9A%84%E5%9E%82%E7%9B%B4%E7%BA%BF.png)
编译(使用 pdflatex
)以下内容后
\documentclass[12pt]{amsart}
\usepackage{amsmath,amsthm,amssymb,amsxtra,amsopn}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{etoolbox}
\begin{document}
\begin{tabular}{|c|c|c|}
\hline
\rowcolor{lime!20}Item 1 & Item 2 & Item 3 \\
\hline
text & text & text\\
\hline
\end{tabular}
\end{document}
表格的某些边框不可见。放大后,边框可见。在使用\rowcolor
或\cellcolor
命令处理此类表格时,我观察到这种奇怪的行为。如何修复代码,以便输出表的边框在不缩放的情况下可见。
答案1
另一个选择是新tabularray
方案(加拿大运输安全局)。它有一个命令\SetRow
,您可以使用它来修改当前行的所有属性,包括颜色。使用该命令,垂直线在 Adobe Acrobat Reader 中显示正确。
\documentclass[12pt]{amsart}
\usepackage{amsmath,amsthm,amssymb,amsxtra,amsopn}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{etoolbox}
\usepackage{tabularray}
\begin{document}
rowcolor solution
\begin{tabular}{|c|c|c|}
\hline
\rowcolor{lime!20}Item 1 & Item 2 & Item 3 \\
\hline
text & text & text\\
\hline
\end{tabular}
\vspace{1cm}
tabularray solution
\begin{tblr}{|c|c|c|}
\hline
\SetRow{lime!20} Item 1 & Item 2 & Item 3 \\
\hline
text & text & text\\
\hline
\end{tblr}
\end{document}
注意:包具有不同的(更好的)默认间距,您可以根据需要使用rowsep
和键进行修改。colsep
编辑:我不太清楚是什么原因造成的,但是垂直和解决方案中彩色单元格的水平线宽度并不完全相同colortbl
。似乎tabularray
“编码”更胜一筹,因为无论缩放级别如何,它都不会造成任何瑕疵。
正如 Zarko 在他的评论中指出的那样,该tabularray
包还支持一个非常好的键值接口用于格式化。
\begin{tblr}{
hlines, vlines, cells = {c},
row{1} = {bg=lime!20},
}
Item 1 & Item 2 & Item 3 \\
text & text & text \\
\end{tblr}
答案2
您可以使用{NiceTabular}
。nicematrix
无论您使用哪种 PDF 查看器(和缩放级别),规则似乎都不会消失。
\documentclass[12pt]{amsart}
\usepackage[table]{xcolor}
\usepackage{nicematrix}
\begin{document}
With \verb|{tabular}| (and \verb|colortbl|).
\medskip
\begin{tabular}{|c|c|c|}
\hline
\rowcolor{lime!20}Item 1 & Item 2 & Item 3 \\
\hline
text & text & text\\
\hline
\end{tabular}
\vspace{1cm}
With \verb|{NiceTabular}| of \verb|nicematrix|.
\medskip
\begin{NiceTabular}{|c|c|c|}[colortbl-like]
\hline
\rowcolor{lime!20}Item 1 & Item 2 & Item 3 \\
\hline
text & text & text\\
\hline
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。