我希望能够有一个命令,比如\nameref
,给定一个标签,检索enumerate
与其各自项目相关的计数器。
enumerate
item
我的目标是能够在单个 (目前已通过 实现) 和多个标签上下文中引用s \ref
。例如,我希望能够继续执行\ref{<label1>}
,但也能执行类似 的操作\multirefs{<label1>, <label2>}
并产生以下输出结果:
\ref{<label1>}
: (A_{1}) ← 目前有效
\multirefs{<label1>, <label2>}
: (A_{1}, A_{2}) ← 这就是我想要的
我最感兴趣的是更通用的方法,类似于链接答案。 尽管cleverref
提供与此等效的功能,出于这个问题的目的,请假设它无法使用,并且hyperref
必须使用(尽管可以修补)。
我怎样才能让它工作,类似于关于此主题的现有答案,但是有上述条件吗?
注意:由于这个问题的一般性,没有提供 MWE。这个问题是我对自己先前等价问题,这确实变得复杂了。感谢乌尔丽克·菲舍尔感谢他们先前提出的有益评论。
答案1
如果您想处理标签列表,您可以这样做。
\documentclass{article}
\usepackage{xparse,hyperref}
\ExplSyntaxOn
\NewDocumentCommand\multirefs{m}
{
\seq_set_from_clist:Nn \l_tmpa_seq { #1 }
\seq_set_map:NNn \l_tmpb_seq \l_tmpa_seq
{
\exp_not:N\ref{##1}
}
(\seq_use:Nn \l_tmpb_seq {,~})
}
\ExplSyntaxOff
\begin{document}
\section{a}\label{sec:a}
\section{b}\label{sec:b}
\multirefs{sec:a,sec:b}
\end{document}