\defで新しいカウントを作成する

\defで新しいカウントを作成する

次のマクロ/コマンドがあります:

\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}

関連情報