我有一些表格,其中的行颜色是交替的,使用\rowcolors{1}{white}{gray}
表格环境。之后,我想将行颜色重置为默认值,所以我这样做了\rowcolors{1}{white}{white}
。但是,当我尝试使用多行时,仍然遇到背景重叠的问题。我知道我可以使用负索引,就像在交替颜色的表格中一样,但我的问题是,如何将颜色重置为默认值?
rowcolors
当我有一个干净的乳胶文档时,我可以使用没有负索引的多行。使用命令后,我能以某种方式恢复到该状态吗?
\rowcolors{1}{white}{gray}
**tables and other code**
\begin{table}[H]
\renewcommand{\arraystretch}{1.5}
\rowcolors{1}{white}{white}
\begin{center}
\begin{tabular}{ | c | c | c | c | c | }
\hline
\multirow{2}{*}{teeeeeeeeest} & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1\\
\hline
& 1 & 1 & 1 & 1\\
\hline
\end{tabular}
\end{center}
\end{table}
结果:
答案1
\begingroup
您可以用和包围上述表格\endgroup
。然后该\rowcolor
命令将只在此组内有效。其他更改(例如字体大小、字体颜色、线条粗细等)的命令也将受到影响,并且只会在此组内有效。
因此,我还添加了第二个选项,即通过使用而不是来本地重置\rowcolor
仅针对此一个表的命令。\rowcolors{1}{}{}
\rowcolors{1}{white}{white}
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{multirow}
\usepackage{float}
\begin{document}
\begingroup
\rowcolors{1}{white}{gray}
\begin{tabular}{ll}
text & text \\
text & text \\
text & text \\
text & text \\
text & text \\
\end{tabular}
**tables and other code**
\begin{tabular}{ll}
text & text \\
text & text \\
text & text \\
text & text \\
text & text \\
\end{tabular}
\endgroup
\begin{table}[H]
\renewcommand{\arraystretch}{1.5}
\centering
\begin{tabular}{ | c | c | c | c | c | }
\hline
\multirow{2}{*}{teeeeeeeeest} & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1\\
\hline
& 1 & 1 & 1 & 1\\
\hline
\end{tabular}
\end{table}
\rowcolors{1}{white}{gray}
\begin{tabular}{ll}
text & text \\
text & text \\
text & text \\
text & text \\
text & text \\
\end{tabular}
**tables and other code**
\begin{tabular}{ll}
text & text \\
text & text \\
text & text \\
text & text \\
text & text \\
\end{tabular}
\begin{table}[H]
\rowcolors{1}{}{}
\renewcommand{\arraystretch}{1.5}
\centering
\begin{tabular}{ | c | c | c | c | c | }
\hline
\multirow{2}{*}{teeeeeeeeest} & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1\\
\hline
& 1 & 1 & 1 & 1\\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
使用,我们可以精确地修复命令 的作用域。您还可以使用一个易于在任何地方替换和 的{NiceTabular}
命令(但是,如果您愿意,这些命令仍然可用)。nicematrix
\rowcolors
\Block
\multicolumn
\multirow
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{cc}[hvlines]
\CodeBefore
\rowlistcolors{4-10}{red!15,blue!15}
\Body
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\Block{2-1}{CCC} & 333 \\
& 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
使用 PGF/TikZ 节点)。
还可以(在nicematrix
至少 6.25 版本中)\rowlistcolors
在表格中的某处放置命令,并进一步放置命令\rowlistcolors{}
以停止着色。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{cc}[hvlines,color-inside]
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\rowlistcolors{red!15,blue!15}
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\rowlistcolors{}
AAAAAAAA & 333 \\
BBBBB & 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\Block{2-1}{CCC} & 333 \\
& 444 \\
AAAAAAAA & 333 \\
BBBBB & 444 \\
\end{NiceTabular}
\end{document}
输出是一样的。