rowcolor entfernt die vertikalen Linien der Tabelle

rowcolor entfernt die vertikalen Linien der Tabelle

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 \rowcoloroder 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 tabularrayPaket (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.

korrekte vertikale Linien

\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 rowsepund colsepnach 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, tabularrayunterstü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}. nicematrixDie 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 nicematrixim Hintergrund PGF/Tikz-Knoten verwendet werden).

Ausgabe des obigen Codes

verwandte Informationen