打印作为参数给出的计数器

打印作为参数给出的计数器

我有一个counterA和一个counterB。我想定义一个命令\PrintCounter,它以AB作为参数,然后打印相应计数器的值。

我写了以下代码:

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

相关内容