\rowcolor и @{} проблема

\rowcolor и @{} проблема

В следующем примере мы видим, что \rowcolorне учитывается декларация @{}в tabularпреамбулах.

введите описание изображения здесь

Это нормальное поведение? Есть ли какой-то элегантный способ избежать этого фальшивого заполненного пространства?

\documentclass{article}
\usepackage{xcolor, colortbl}

\begin{document}

\begin{tabular}{|c|c|c@{}|} 
\rowcolor{gray!30}
text & text & text
\end{tabular}

\end{document}

решение1

Это может соответствовать вашим требованиям.

введите описание изображения здесь

\documentclass{article}
\usepackage{xcolor, colortbl}

\begin{document}

\begin{tabular}{|c|c|>{\kern-\tabcolsep}c<{\kern-\tabcolsep}|} 
\rowcolor{gray!30}
text & text & text
\end{tabular}

\end{document}

решение2

Пакет nicematrixвместе со своим окружением {NiceTabular}пытается решить проблемы пакета colortbl.

Вот вывод {NiceTabular}.

\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}

\begin{document}
\begin{NiceTabular}{|c|c|c@{}|}[colortbl-like]
\Hline
\rowcolor{gray!30}
text & text & text\\
\Hline
\end{NiceTabular}
\end{document}

Вам понадобится несколько компиляций.

Вывод кода выше

решение3

Вы ищете:

введите описание изображения здесь

\documentclass{article}
\usepackage[table]{xcolor}

\begin{document}
    \begin{tabular}{|c|c| >{\columncolor{white}[\tabcolsep][0pt]}c @{}|}
\rowcolor{gray!30}
text & text & text
    \end{tabular}
\end{document}

Связанный контент