![hyperref 和 manyfoot 页面链接错误](https://linux22.com/image/398797/hyperref%20%E5%92%8C%20manyfoot%20%E9%A1%B5%E9%9D%A2%E9%93%BE%E6%8E%A5%E9%94%99%E8%AF%AF.png)
hyperref 链接到由 manyfoot 生成的脚注的错误页面。
\documentclass{article}
\usepackage{manyfoot}
\usepackage{hyperref}
\DeclareNewFootnote{C}
\begin{document}
\tableofcontents
\clearpage
\section{Introduction}
\clearpage
\section{Background}
Default citation \footnoteC{Links to page 1 instead of current page}
\end{document}
当使用 pdflatex 编译上述代码时,脚注标记总是超链接(在 PDF 中)到“第 1 页”,而不是脚注文本出现的页面。
答案1
此代码会导致警告
pdfTeX 警告(目标):名称{Hfootnote.1} 已被引用但不存在,已由固定名称替换
定义目的地的相同解决方案也适用于此。希望在 manyfoot 的未来版本中修复此问题。
\usepackage{etoolbox}
\makeatletter
\newcommand\manyfoottarget{\makebox[0pt][r]{\hypertarget{Hfootnote.\theHfootnote
}\quad}}
\patchcmd\MFL@fnoteplain{\rule}{\manyfoottarget\rule}{}{\fail}
\makeatother