带脚注的警告:“名称{Hfootnote.xx} 已被引用但不存在”

带脚注的警告:“名称{Hfootnote.xx} 已被引用但不存在”

首先,关于我的文档的一些一般细节:我正在使用scrbook类和hyperref包。文档被分成不同的源文件(尽管在这种情况下这个事实并不重要)。

我不断收到有关所有脚注(共 180 个)的警告:

Document.tex:0. name{Hfootnote.xx} has been referenced but does not exist, replaced by a fixed one.

其中,xx由编译文档中的脚注编号替换,范围从 1 到 180(在我的情况下有 180 个脚注)。

脚注的编号是正确的,并且它们在编译的 PDF 中按应有的方式出现。

唯一的问题是,文档中的引用是错误的。单击脚注的索引(在文本中)总是会转到文档的第一页。

我已经尝试/检查了什么?

  • 表格或标题中均无脚注

  • 多次重新编译并不能解决任何警告

  • 有些脚注确实包含\url{}但远非全部

有人能提示我还应该检查什么吗?

答案1

嗯,下面的方法很好用。所以你应该试着找出你的文档有什么不同。

\documentclass{scrbook}

\usepackage{hyperref}

\begin{document}
abc\newpage abc\footnote{blub}
\end{document}

我的猜测是,您没有遵循“将 hyperref 作为最后一个包加载”的规则,并且某些内容正在重新定义脚注。

答案2

我遇到了类似的问题。同样的警告,同样的结果(脚注链接始终指向第一页)。 setspace事实证明和之间存在一些奇怪的相互作用hyperref 解决方案是确保setspace已加载 hyperref

\documentclass{book}
\usepackage{setspace}
\usepackage{hyperref}
\begin{document}
Hi.\footnote{Yolo}
\end{document}

否则,如果您交换顺序,就会引起同样的警告。

注意:在底层bookmark也使用,所以即使您没有明确使用,也会出现类似的问题。hyperrefhyperref

答案3

我也遇到了这个问题,所以我按照\footnotemark[n]放置脚注的位置进行操作,然后在文档的后面:\footnotetext[n]{text}

我认为这是因为我放置脚注的命令没有按预期工作。在tabulartextit括号之外,\footnote工作正常。

相关内容