我有以下巨集/命令:
\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}