有没有办法在标签内使用宏\label
?
\edef\num{1}
\label{test\num}
\ref{test1}
答案1
以下工作符合预期:
\documentclass[a4paper]{article}
\begin{document}
\def\NUM{1}
\section{X}\label{sec:\NUM}
This is section~\ref{sec:\NUM} or is it section~\ref{sec:1}?
\end{document}
如果我加载 hyperref,它的工作方式相同。请注意,使用\NUM
或\edef
进行定义\def
完全相同。
答案2
如果在调度扩展时出现问题,您可以\expandafter
在将宏传递给之前使用它来扩展宏\label
:
\def\num{1}
\def\labeltext{{test\num}}
\expandafter\label\labeltext
\ref{test1}