rowcolor remove as linhas verticais da tabela

rowcolor remove as linhas verticais da tabela

Depois de compilar (usando pdflatex) o seguinte

\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}

algumas das bordas da mesa são invisíveis. Após aumentar o zoom, as bordas ficam visíveis. Observo esse tipo de comportamento estranho ao lidar com tais tabelas usando o comando \rowcoloror \cellcolor. Como corrigir o código para que as bordas da tabela de saída fiquem visíveis sem zoom.

Responder1

Outra opção seria o novo tabularraypacote (CTAN). Possui o comando \SetRowque você pode usar para modificar todas as propriedades da linha atual, incluindo a cor. Usando isso, as linhas verticais parecem corretas com o Adobe Acrobat Reader.

linhas verticais corretas

\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}

Nota: O pacote possui espaçamento padrão diferente (melhor), que você pode modificar com as teclas rowsepe colsepconforme desejar.

Editar: não sei exatamente o que causa isso, mas a verticaleas linhas horizontais não têm a mesma largura para as células coloridas com a colortblsolução. Parece que a tabularray“codificação” é superior, pois não causa nenhum artefato independente do nível de zoom.

Como Zarko apontou em seu comentário, o tabularraypacote também suporta uma interface de valor-chave muito boa para formatação.

\begin{tblr}{
        hlines, vlines, cells = {c}, 
        row{1} = {bg=lime!20},
    }
    Item 1 & Item 2 & Item 3 \\ 
    text   & text   & text   \\     
\end{tblr}

Responder2

Você pode {NiceTabular}usar nicematrix. As regras não parecerão desaparecer, independentemente do visualizador de PDF (e nível de zoom) que você usar.

\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}

Você precisa de várias compilações (porque nicematrixusa nós PGF/Tikz nos bastidores).

Saída do código acima

informação relacionada