我正在尝试打印一个计数器,其名称在参数中收到#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(当前表示)。随你选择。