章节标题中的增量计数器

章节标题中的增量计数器

我不知道为什么我不能\stepcounter在章节标题内调用。

例如,此代码可以正常工作:

\documentclass{article}
\newcounter{mycounter}
\begin{document}
\section{Title \themycounter}
\stepcounter{mycounter}
\end{document}

但是此代码遇到附加错误:

\documentclass{article}
\newcounter{mycounter}
\begin{document}
\section{Title \themycounter \stepcounter{mycounter}}
\end{document}

错误:

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

d:/D-Repos/tmp/counter.tex:7: Missing \endcsname inserted.
<to be read again> 
                   \MessageBreak 
l.7 ...itle \themycounter \stepcounter{mycounter}}

答案1

你应该运行\stepcounter{mycounter} \section或者 - 如果它出现在 -通过指令\section“保护”指令的参数中。(@DavidCarlisle 已经在评论中提到了第二种选择。)\stepcounter\protect

附录(另请参阅下面 David Carlisle 的评论):如果你的文档包含指令\tableofcontents,你应该不是使用第二种方法,否则编号会混乱。

在此处输入图片描述

\documentclass{article}
\newcounter{mycounter}
\renewcommand\themycounter{\Alph{mycounter}}

\begin{document}
\stepcounter{mycounter}\section{Title \themycounter}

\section{\protect\stepcounter{mycounter}Title \themycounter}
\end{document}

相关内容