在复杂环境中使用 hyperref 动态引用枚举项

在复杂环境中使用 hyperref 动态引用枚举项

我希望能够有一个命令,比如\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}

在此处输入图片描述

相关内容