我定义了一个新定理,希望它从一个特定的数字开始(比如说 3)。起初我想使用\addtocounter{\theexe}{3}
(其中EXE文件是新定理),但我收到一条错误,指出未定义计数器‘0’。
我接下来做的是使用(重新)定义我的计数器,\renewcommand*{\theexe}{0}
但我仍然收到相同的消息。如何强制我的计数器从 3 开始。我的代码是
\documentclass[a4paper,11pt]{article}
\newtheorem{exe}{Problem}
\renewcommand*{\theexe}{0}
\begin{document}
\addtocounter{\theexe}{3}
\begin{exe}
This is the third problem
\end{exe}
\end{document}
答案1
exe
是一个 LaTeX 计数器,\theexe
是一个用于格式化/显示计数器当前值的宏(默认设置为\arabic{exe}
)。
重新定义\theexe
不会\renewcommand
改变底层计数器,而重新定义为始终0
将导致计数器的所有值显示为零。
相反,您应该使用 LaTeX 计数器命令,例如\setcounter
和\addtocounter
。虽然您尝试了后者,但您尝试传递计数器的当前显示值而不是计数器的名称。
还要注意,exe
环境会自动将计数器加一(初始设置为零)。
正确的语法是\setcounter{exe}{2}
(或),以实现第一个环境中使用的计数器\addtocounter{exe}{2}
数量应为。正如 Andrew Swann 指出的那样,使用版本可能更安全,因为如果行意外重复,不会出现任何问题,而版本会起作用两次。exe
exe
3
\setcounter
\addtocounter
\documentclass[a4paper,11pt]{article}
\newtheorem{exe}{Problem}
\setcounter{exe}{2}
\begin{document}
\begin{exe}
This is the third problem
\end{exe}
\end{document}