避免 hyperref 警告:忽略空錨點

避免 hyperref 警告:忽略空錨點

我使用類似下面的內容來獲得沒有錨點的腳註。

\documentclass{article}
\usepackage{hyperref}
\begin{document}
{\let\thefootnote\relax\footnotetext{2010 Mathematics Subject Classification: 05A05, 05A16.}}
\end{document}

hyperref 套件不喜歡這樣並會產生警告。我可以採取一些簡單的措施來防止警告嗎? (我希望沒有警告。)我確實希望 hyperref 為普通腳註創建連結。

一個更一般的問題(應該回答具體問題):是否有一個命令可以在本地禁用 hyperref 建立連結?

答案1

要獲得未編號的腳註,我建議定義一個自訂命令,如下 MWE 所示:

\documentclass{article}
\usepackage{hyperref}

\newcommand\nnfootnote[1]{%
  \begin{NoHyper}
  \renewcommand\thefootnote{}\footnote{#1}%
  \addtocounter{footnote}{-1}%
  \end{NoHyper}
}
\begin{document}
\nnfootnote{2010 Mathematics Subject Classification: 05A05, 05A16.}
\end{document}

NoHyper環境還確保從文字到腳註不存在超連結。

答案2

您可以消除所有 hyperref 警告,包括不需要的

Package hyperref Warning: Ignoring empty anchor

在您的群組中添加以下內容之前\footnotetext

\makeatletter\def\Hy@Warning#1{}\makeatother

(我同意將其變成宏的建議,但將其放在一邊。)

我們希望文本中沒有真正的超引用警告,因為它們也會被靜音。

顯然這是對內部工作方式的修改,不是任何類型的有保證的接口,但是FWIW......

相關內容