longtable
我正在尝试使用带有选项xcolor
的包为每隔一行着色,table
如该 MWE 所示(landscape
选项17pt
仅用于缩短 MWE):
\documentclass[oneside,landscape,17pt]{memoir}
\usepackage{longtable}
\usepackage[table]{xcolor}
\definecolor{tableRows1}{gray}{0.9}
\definecolor{tableRows2}{gray}{0.4}
\begin{document}
\rowcolors{4}{tableRows1}{tableRows2}
\begin{longtable}{cc}
\hiderowcolors
\toprule
Column 1 & Column 2 \\
\midrule
\endfirsthead
%
\multicolumn{2}{c}{\textsl{Continued from previous page}}\\
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
%
\bottomrule
\multicolumn{2}{c}{\textsl{Continued on next page}}
\endfoot
%
\bottomrule
\multicolumn{2}{c}{\textsl{Last foot}}
\endlastfoot
%
\showrowcolors
11 & 12 (\number\rownum) \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
\end{longtable}
\end{document}
如您所见,尽管我已指定从第 4 行 ( ) 开始着色,但着色从第一行开始(不包括列描述)\rowcolors{4}{tableRows1}{tableRows2}
。显然有些计算是错误的(?),因为第 1 行被视为第 20 行,如第 1 行第 2 列的括号中所示。
这是为什么?我该如何改变它才能获得“正确”的行为?
注意:偏移量大致对应于 .tex 文档中从开头到longtable
第一行数据的行数,即页眉和页脚规范可能算作表格的一部分。例如,注释\multicolumn
行将减少第一行的数字 (20)。
答案1
您可以在处理标题行后重置计数器:
\documentclass[oneside,landscape,17pt]{memoir}
\usepackage{longtable}
\usepackage[table]{xcolor}
\definecolor{tableRows1}{gray}{0.9}
\definecolor{tableRows2}{gray}{0.4}
\begin{document}
\rowcolors{4}{tableRows1}{tableRows2}
\begin{longtable}{cc}
\hiderowcolors
\toprule
Column 1 & Column 2 \\
\midrule
\endfirsthead
%
\multicolumn{2}{c}{\textsl{Continued from previous page}}\\
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
%
\bottomrule
\multicolumn{2}{c}{\textsl{Continued on next page}}
\endfoot
%
\bottomrule
\multicolumn{2}{c}{\textsl{Last foot}}
\endlastfoot
%
\noalign{\global\rownum=1}%<---
\showrowcolors
11 & 12 (\number\rownum) \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
11 & 12 \\
21 & 22 \\
31 & 32 \\
41 & 42 \\
51 & 52 \\
\end{longtable}
\end{document}