次のマクロ/コマンドがあります:
\def\definenewcounter#1{\newcount \csname#1\endcsname}
引数 1 の名前で新しいカウントを作成するはずですが、エラーが発生します。どうすれば解決できますか?
より詳しい例を以下に示します。
\documentclass[]{article}
\def\definenewcounter#1{\newcount \csname#1\endcsname}
\begin{document}
\definenewcounter{countertest}
\end{document}
答え1
示されているコードは\csname
カウント レジスタとして定義されており、複数のエラーが発生します。
使用できる
\documentclass[]{article}
\def\definenewcounter#1{\expandafter\newcount \csname#1\endcsname}
\begin{document}
\definenewcounter{countertest}
\end{document}
しかし、これはすでに提供されているLaTeXにとって奇妙な構造のように思えます
\documentclass[]{article}
\begin{document}
\newcounter{countertest}
\end{document}