使用 memoir、caption、hyperref、sidecaption 和 pdflatex 修复损坏的超链接

使用 memoir、caption、hyperref、sidecaption 和 pdflatex 修复损坏的超链接

我在使用 编译的文档中遇到了memoir++和环境caption的超链接损坏问题。下面是重现我问题的 MWE:hyperrefsidecaptionpdflatex

\documentclass{memoir}

\usepackage{caption}
\usepackage{hyperref}

\begin{document}

% create empty page for demonstration
\mbox{}
\clearpage

\begin{figure}
  \begin{sidecaption}{test}[test]
    test
  \end{sidecaption}
\end{figure}

\ref{test} % link broken, links to first page

\end{document}

编译时pdflatex出现警告

pdfTeX warning (dest): name{figure.0.1} has been referenced but does not exist, replaced by a fixed one

sidecaption并且,除非 (1) 未加载该包或 (2)使用了caption不同的引擎,否则指向 ed 图的超链接将会断开。xelatex

sidecaption也在其他 ed float 中遇到了这种行为。在一个大型的复杂文档中(https://bayesoptbook.com/)所有超链接均运行正常除了那些指向sidecaptioned 浮点数的 – 编译时出现类似的警告,并且链接到文档顶部的类似损坏的超链接。

答案1

该软件包的作者caption刚刚实施了修复:https://gitlab.com/axelsommerfeldt/caption/-/issues/175,感谢这个问题。

它还没有在 CTAN 上发布,但你已经可以通过手动替换系统上的文件来实现修复,caption-memoir.sto这个新版本.
(对于我来说,使用 Windows 和 TinyTeX,此文件位于C:\TinyTeX\texmf-dist\tex\latex\caption\caption-memoir.sto

相关内容