简单的用例,我有一个需求计数器,R1,R2等,如下所示:
\newcounter{requirementcounter}
\newcommand{\requirement}{\refstepcounter{requirementcounter}R.\therequirementcounter}
但是,当我引用计数器实例(即\requirement{req:a}
通过\ref{req:a}
)时\ref{}
,将仅包含计数器值,而不是 R.value 格式的自定义标签
我该如何格式化计数器参考标签?
答案1
重新定义宏就足够了\the<counter>
。然后\label
系统\ref
将自动拾取它:
\newcounter{requirementcounter}
\renewcommand*{\therequirementcounter}{R\arabic{requirementcounter}}
...
\refstepcounter{requirementcounter}\therequirementcounter
\label{req:a}
...
\ref{req:a}
答案2
以下是可以实现此目的的一小段代码:
\newcounter{reqcount}
\newcommand{\reqitem}[1]{%
R\ref*{#1} \refstepcounter{reqcount}\label{#1}
}
\newcommand{\descref}[1]{%
\hyperref[#1]{R\ref*{#1}}%
}
使用示例:
Here is req: \reqitem{reqi:a}
Here is req: \reqitem{reqi:b}
Here is reference: \descref{reqi:a}, \descref{reqi:a}, \descref{reqi:b}
结果: