打印作为参数接收的计数器

打印作为参数接收的计数器

我正在尝试打印一个计数器,其名称在参数中收到#1。我试过了\the#1,但没有成功,也试过了这个答案给出了解决方案,这给了我错误“不能在 \the 之后使用 \let”。

有什么办法可以做我想做的事吗?

下面是我想要的一个例子:

\newcommand{\printcounter}[1]{\expandafter\the\csname #1\endcsname}
\begin{document}
\printcounter{section} % this doesn't work

答案1

如果您想要抽象的数值:

\newcommand{\printcounter}[1]{\the\value{#1}}

\printcounter{section}

如果你想要代表权,

\thesection

或者,对于通用接口

\newcommand{\printcounter}{\csname the#1\endcsname}

\printcounter{section}

有什么区别?在标准设置下,如果我们在第 2 节第 3 子节,第一个\printcounter{subsection}会打印 3,第二个会打印 2.3(当前表示)。随你选择。

相关内容