Hyperref:不要为列表创建目标锚点

Hyperref:不要为列表创建目标锚点

该软件包hyperref会自动为页面、图形等创建目标锚点。即使未引用目标,它也会包含在最终 PDF 中。例如,如果通过 Adob​​e Acrobat 编辑最终 PDF 的书签,则可以看到这些目标。

这些目标中的大多数都有有用的名称,但其中一些目标既不必要也不有用(而且有点弄乱了目标列表)。有没有办法阻止为特殊类型的标签或特别是列表环境创建这些目标enumerate

答案1

您可以使用以下变体之一。将\patchcmd仅抑制 Item-anchors,变体将抑制列表内部\AddToHook创建的所有锚点。\refstepcounter

\documentclass{article}
\usepackage{hyperref,etoolbox}
\makeatletter
\patchcmd\refstepcounter{\hyper@refstepcounter{Item}}{}{}{\fail}
%\AddToHook{env/enumerate/begin}{\@skiphyperreftrue}
\makeatother

\begin{document}
\begin{enumerate}
\item a 
\item b
\end{enumerate}

\end{document}

相关内容