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 ノードが使用されるため)。