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

相關內容