![\rowcolor 和自定义列分隔符](https://linux22.com/image/299320/%5Crowcolor%20%E5%92%8C%E8%87%AA%E5%AE%9A%E4%B9%89%E5%88%97%E5%88%86%E9%9A%94%E7%AC%A6.png)
当我使用时\rowcolor
,列之间的自定义分隔符不受影响:
\documentclass{article}
\usepackage{xcolor}
\usepackage{colortbl}
\begin{document}
\begin{tabular}{p{1cm}!{-}p{1cm}}
\rowcolor{gray} foo & bar
\end{tabular}
\end{document}
-
尽管整行应该是灰色的,但背景却是白色的。我该如何修复?
答案1
有几种可能。抱歉,界面太差劲了,但这并不完全是我的错。
\documentclass{article}
\usepackage{xcolor}
\usepackage{colortbl}
\begin{document}
\begin{tabular}{p{1cm}!{-}p{1cm}}
\rowcolor{gray} foo & bar
\end{tabular}
\bigskip
\begin{tabular}{p{1cm}!{-}p{1cm}}
\rowcolor{gray}
\multicolumn{1}{p{1cm}!{\fboxsep=0pt\colorbox{gray}{\strut-}}}{foo} & bar
\end{tabular}
\bigskip
\begin{tabular}{p{1cm}!{-}p{1cm}}
\rowcolor{gray}
\multicolumn{1}{>{\columncolor{gray}[\tabcolsep][15pt]}p{1cm}!{-}}{foo}& bar
\end{tabular}
\end{document}
答案2
{tabular}
供参考。如果您使用{NiceTabular}
(nicematrix
及其键)而不是color-inside
,那么您将直接获得预期的输出(因为nicematrix
使用 PGF/TikZ 为行添加颜色)。
\documentclass{article}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{p{1cm}!{-}p{1cm}}[color-inside]
\rowcolor{gray!50} foo & bar
\end{NiceTabular}
\end{document}
您需要多次编译。