![带有自动增加计数器的变量](https://linux22.com/image/426777/%E5%B8%A6%E6%9C%89%E8%87%AA%E5%8A%A8%E5%A2%9E%E5%8A%A0%E8%AE%A1%E6%95%B0%E5%99%A8%E7%9A%84%E5%8F%98%E9%87%8F.png)
我想定义一个执行以下操作的变量
\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}