假设我有一张这样的表格:
\begin{NiceTabular}{p{3.8cm}p{3.8cm}}
\CodeBefore
\rowcolors{2}{white}{gray!30}
\Body
A & B \\
C & D \\
\end{NiceTabular}
\rowcolors
使行交替显示颜色。现在我想要包含C
以下内容的单元格:不是有颜色。我试过:
\cellcolor{} C & D \\
但这只是给了我
程序包 xcolor 错误:未定义颜色“”
那么,我该如何清除该特定单元格的颜色?该页面有背景图像,因此将单元格颜色设置为白色不是解决方案。
答案1
在这个例子中,第 4 行不受交替行颜色的影响。
他们的细胞将有一个透明的背景。
然后用来\cellcolor
为该行的其他未着色单元格着色。
\documentclass{article}
\usepackage{nicematrix}
\pagecolor{yellow} % bg color
\begin{document}
\begin{NiceTabular}{p{3.8cm}p{3.8cm}p{3.8cm}}
\CodeBefore
\rowcolors{1-3,5}{white}{gray!30} % jump over row 4
\cellcolor{gray!30}{4-1,4-3}% color the other cells of row 4 <<<<<<<<<<<<<<<<<<<<<<<<
\Body
A & B &1 \\
C & D &2\\
E & F &3\\
G & H &4\\
I & J &5\\
K & L &6 \\
M & N &7
\end{NiceTabular}
\end{document}
答案2
确保编译多次(两次或更多次)。
\documentclass{article}
\usepackage{nicematrix}
\newcommand{\myred}{\color{red}}%change text color
\begin{document}
\begin{NiceTabular}{|*{4}{c|}}%
[code-before =
\rowcolors{1}{red!60}{blue!10}%odd even row colours
\rowcolor{green}{1} % header colour
%row-col
\cellcolor{white}{2-3, 3-4}%cells with white background
\rectanglecolor{white}{4-1}{5-2} % a rectangle of white cells {top-left}{bottom-right}
\rowcolor{white}{8}%the rows escaped
]\hline
& A & B & C \\\hline
A & 1 & 2 & \myred 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
D & 0 & 1 & 2 \\
E & 3 & 4 & 5 \\
F & 6 & 7 & 8 \\
G & 9 & 0 & 1 \\\hline
\end{NiceTabular}
\end{document}
答案3
6.26 版nicematrix
(2023-11-22) 提供了一种特殊颜色nocolor
。无论对这些单元格应用了何种其他着色说明(尤其是这些单元格是不是以白色显示)。
\documentclass{article}
\usepackage{nicematrix}
\pagecolor{gray!10}
\begin{document}
\begin{NiceTabular}{p{3.8cm}p{3.8cm}}[color-inside]
\CodeBefore
\rowcolors{1}{red!15}{gray!30}
\Body
A & B \\
C & D \\
E & F \\
\cellcolor{nocolor} G & H \\
I & J \\
K & L
\end{NiceTabular}
\end{document}
与往常一样nicematrix
,您需要进行多次编译。