編譯(使用 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
包(CTAN)。它具有\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 節點)。