目的是在描述环境中共享计数器SharedCTR1
。以下代码仅适用于一个描述环境,但不能同时适用于两个描述环境。
\documentclass{report}
\begin{document}
{\newcounter{SharedCTR}
\def\SharedCTR1{\stepcounter{SharedCTR}\arabic{SharedCTR}}
\section{Section one}
\begin{description}
\item[desc \SharedCTR1.] text text.
\item[desc \SharedCTR1.] text text text.
\item[desc \SharedCTR1.] text text text text.
\end{description} %% In original doc: extra curly bracket was here.
\section{Section two}
\begin{description}
\item[desc \myUseCaseCTR1.] text text. % Fails on this line.
\item[desc \myUseCaseCTR1.] text text text.
\item[desc \myUseCaseCTR1.] text text text text.
\end{description}
\end{document}
我一开始以为问题出在名称中的数字1
,但如果我将其删除,它仍然不起作用。错误如下:
! Undefined control sequence.
<argument> desc \myUseCaseCTR
1.
l.20 \item[desc \myUseCaseCTR1.]
text text. % Fails on this line.
[编辑] 在原始(长)文档中的某个地方,它被写成\end{description}}
。有一个额外的花括号}
,当变量在不同的描述环境中再次使用时,几行之后会导致错误。我花了一段时间才发现问题。
答案1
我删除了一个多余的{
,但这不是主要问题。您尚未定义第二个定义(\myUseCaseCTR
),如果仔细检查,名称与(\SharedCTR
)不同。我已使用\let
命令来定义它,请参阅第 7 行。
我附上了一个工作示例和一个预览。
\documentclass{report}
\pagestyle{empty}
\begin{document}
%{ % Deleted
\newcounter{SharedCTR}
\def\SharedCTR1{\stepcounter{SharedCTR}\arabic{SharedCTR}}
\let\myUseCaseCTR=\SharedCTR
\section{Section one}
\begin{description}
\item[desc \SharedCTR1.] text text.
\item[desc \SharedCTR1.] text text text.
\item[desc \SharedCTR1.] text text text text.
\end{description}
\section{Section two}
\begin{description}
\item[desc \myUseCaseCTR1.] text text. % Failed on this line.
\item[desc \myUseCaseCTR1.] text text text.
\item[desc \myUseCaseCTR1.] text text text text.
\end{description}
\end{document}