SharedCTR1
目的は、記述環境間でカウンターを共有することです。次のコードは、1 つの記述環境でのみ機能しますが、両方では機能しません。
\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
余分な を削除しました{
が、それが大きな問題ではありませんでした。2 番目の定義 ( \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}