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

相关内容