步数计数器和表格环境

步数计数器和表格环境

我正在尝试生成一个编号表。我使用了回答这里,将其放入@{\stepcounter{rowcount}}表格的第一行。

但是,当我尝试使用包booktabs,甚至是纯表格格式时,这似乎会中断。我怀疑问题是由于\stepcounter它很脆弱,但我不知道如何解决这个问题。

我还想将第一行设为标题,不带数字。

这是 MWE

\documentclass{article}
\usepackage{booktabs}
\newcounter{rowcounter}
\setcounter{rowcounter}{0}
\begin{document}

\begin{tabular}{@{\stepcounter{rowcounter}\arabic{rowcounter}}ll} 
header row & text0\\ 
first row & text1\\
second row & text1\\
third row & text2

\end{tabular}
\end{document}

答案1

如果你不使用array你需要的\protect命令

\documentclass{article}
\usepackage{booktabs}
\newcounter{rowcounter}
\setcounter{rowcounter}{0}
\begin{document}

\begin{tabular}{@{\protect\stepcounter{rowcounter}\protect\arabic{rowcounter} }ll} 
header row & text0\\ 
first row & text1\\
second row & text1\\
third row & text2

\end{tabular}
\end{document}

如果您想从 0 开始,那么您可以将其初始化为 -1 而不是 0,或者在@{} 增加计数器之前而不是之后使用它。

答案2

在序言中你需要添加array包:

\documentclass{article}
\usepackage{array,  % <-- added
            booktabs}
\newcounter{rowcounter}
\setcounter{rowcounter}{0}

\begin{document}

\begin{tabular}{@{\stepcounter{rowcounter}\arabic{rowcounter}\ }ll}
header row & text0\\
first row & text1\\
second row & text1\\
third row & text2
\end{tabular}
\end{document}

在此处输入图片描述

相关内容