我无法解释为什么使用\rowcolor
嵌套datatool
循环会产生这种奇怪的行为:
代码:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{datatool}
\begin{filecontents*}{table.csv}
1
2
3
4
\end{filecontents*}
\begin{document}
\DTLloaddb[noheader]{table}{table.csv}
\begin{tabular}{c}
\rowcolor{gray!50} odd
\DTLforeach*{table}{\field=Column1}{%
\begin{tabular}{c}
\rowcolor{gray!20} odd
\DTLforeach*{table}{}{%
\DTLiflastrow{}{\\ \DTLifoddrow{even}{\rowcolor{gray!20} odd}}%
}\\
\end{tabular}
\DTLiflastrow{}{\\ \DTLifoddrow{even}{\rowcolor{gray!50} odd}}%
}\\
\end{tabular}
\end{document}
笔记:添加\rowcolor{white}
到条件的第一个参数\DTLifoddrow
显然可以解决问题。但我想知道为什么这是必要的,而主循环不需要它。