带有可选参数和 `\value` 的新命令的怪异之处

带有可选参数和 `\value` 的新命令的怪异之处

在以下 MWE 中

\documentclass{article}
\newcounter{test}
\newcounter{tesp}

\newcommand{\vt}[1]{\value{tes#1}}
\newcommand{\vdt}[1][t]{\value{tes#1}}  % This command with default `t` doesn't work

\begin{document}

\setcounter{test}{1}
\setcounter{tesp}{1}

\addtocounter{test}{\vt{t}}
\addtocounter{tesp}{\vt{p}}

% \addtocounter{test}{\vdt[p]}  % These do not work
% \addtocounter{tesp}{\vdt}

\verb+test+ value: \thetest

\verb+tesp+ value: \thetesp
\end{document}

如果我取消注释其中一行

\addtocounter{test}{\vdt[p]}
\addtocounter{tesp}{\vdt}

我收到错误。考虑到命令按预期工作,Missing number, treated as zero我不明白我在 的定义中做错了什么。我如何/可以解决这个问题?\vdt\vt

相关内容