重置表格的行颜色

重置表格的行颜色

我有一些表格,其中的行颜色是交替的,使用\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}

输出是一样的。

相关内容