acro 的 link-only-first 选项使缩写词的(第一个)简短出现错误地链接到文档的最后一页

acro 的 link-only-first 选项使缩写词的(第一个)简短出现错误地链接到文档的最后一页

acro的文档告诉我们:

acro与包hyperref[ORT21] 一起使用时,您可以使用以下选项:

make-links = true|false 如果激活此功能,则首字母缩略词的每个简短或替代出现都将链接到首字母缩略词列表中的描述。

以下示例确实如此:

\documentclass{article}
\usepackage{acro}
\usepackage{hyperref}

\acsetup{
  make-links = true,
  % link-only-first = true
}

\DeclareAcronym{cd}{
  short = CD ,
  long = compact disc
}

\begin{document}
\ac{cd}
\newpage
\printacronyms
\newpage
Foo.
\end{document}

接下来,文档告诉我们:

link-only-first = true|false

如果另外激活此功能,make-links则只有首字母缩略词的第一个简短或替代出现才会链接到首字母缩略词列表中的描述。

但是,只要link-only-first在上面的例子中取消注释该选项,就会链接该首字母缩略词的(第一个)简短出现:

  • 最后一页该文件,
  • 不是将其添加到首字母缩略词列表中的描述中。

有趣的是,.aux两种情况下的文件是相同的。

您了解发生了什么情况以及如何解决这个问题吗?

答案1

我认为这是 acro 中的一个错误。它使用 \printacronym 中的相同代码来设置目标,并且将 link-only-first 布尔值设置为 true,目标也会被抑制。

\documentclass{article}
\usepackage{acro}
\usepackage{hyperref}

\acsetup{
  make-links = true,
  link-only-first = true
}

\DeclareAcronym{cd}{
  short = CD ,
  long = compact disc
}


\begin{document}
\ac{cd}
\newpage
\ExplSyntaxOn
\bool_set_false:N\l__acro_link_only_first_bool
\ExplSyntaxOff
\printacronyms
\newpage
Foo.
\end{document}

相关内容