После компиляции (с использованием 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
пакет (КТАН). Он имеет команду \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
"кодирование" лучше, так как оно не вызывает никаких артефактов независимо от уровня масштабирования.
Как отметил Зарко в своем комментарии, 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).