我有一个counterA
和一个counterB
。我想定义一个命令\PrintCounter
,它以A
或B
作为参数,然后打印相应计数器的值。
我写了以下代码:
\newcommand{\PrintCounter}[1]{
\thecounter#1
}
这会导致错误。我需要一种方法来告诉 LaTeXcounter#1
在评估 之前进行评估\the
。不幸的是,我无法使用 让它工作\expandafter
。
答案1
如果\counterA
和\counterB
是\count
寄存器,即 TeX 计数器,那么您可以\csname ..\endcsname
与一起使用\expandafter
:
\newcommand{\PrintCounter}[1]{%
\expandafter\the\csname counter#1\endcsname
}
但是,如果使用 来定义它们\newcounter
,即 LaTeX 计数器,那么只需使用\arabic{counter#1}
。