带有自动增加计数器的变量

带有自动增加计数器的变量

我想定义一个执行以下操作的变量

\newcounter{ver}
\newcommand{\version}[1][]{Version ~\thever ##1 \addtocounter{ver}{1}}

这个想法是,每当你写命令时,\version它都会显示版本号,并在数字上加 1。但是当我写上面的命令时,我得到了一个错误“你不能使用宏参数...”

知道如何定义这样的变量吗

答案1

##在定义中是#并且#1在定义中意味着第一个参数,所以在替换文本中##1产生 ,所以给出一个你在那时#1 不能遇到的错误。#

你也可以更换

 \addtocounter{ver}{1}

经过

\stepcounter{ver}

(注意命令前没有空格)

或更好

\refstepcounter{ver}

如果你使用,\refstepcounter你将能够使用\version{zzz}\label{myver}.... see \ref{myver}

相关内容