Nach dem Kompilieren (mit pdflatex
) des folgenden
\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}
Einige der Ränder der Tabelle sind unsichtbar. Nach dem Vergrößern sind die Ränder sichtbar. Ich beobachte dieses seltsame Verhalten, wenn ich mit solchen Tabellen mit dem Befehl \rowcolor
oder arbeite \cellcolor
. Wie kann ich den Code so korrigieren, dass die Ränder der Ausgabetabelle ohne Zoomen sichtbar sind?
Antwort1
Eine weitere Option wäre das neue tabularray
Paket (CTAN). Es verfügt über einen Befehl \SetRow
, mit dem Sie alle Eigenschaften der aktuellen Zeile ändern können, einschließlich der Farbe. Damit werden vertikale Linien im Adobe Acrobat Reader korrekt angezeigt.
\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}
Hinweis: Das Paket hat andere (bessere) Standardabstände, die Sie mit den Tasten rowsep
und colsep
nach Belieben ändern können.
Edit: Ich weiß nicht genau, woran es liegt, aber die vertikaleUndDie horizontalen Linien sind bei den farbigen Zellen mit der Lösung nicht alle gleich breit colortbl
. Es scheint, als sei die tabularray
„Kodierung“ besser, da sie unabhängig von der Zoomstufe keine Artefakte verursacht.
Wie Zarko in seinem Kommentar betonte, tabularray
unterstützt das Paket auch eine sehr schöne Schlüssel-Wert-Schnittstelle zur Formatierung.
\begin{tblr}{
hlines, vlines, cells = {c},
row{1} = {bg=lime!20},
}
Item 1 & Item 2 & Item 3 \\
text & text & text \\
\end{tblr}
Antwort2
Sie können verwenden {NiceTabular}
. nicematrix
Die Regeln verschwinden scheinbar nicht, egal welchen PDF-Viewer (und welche Zoomstufe) Sie verwenden.
\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}
Sie benötigen mehrere Kompilierungen (da nicematrix
im Hintergrund PGF/Tikz-Knoten verwendet werden).