我的 PDF 中有一些超链接问题,似乎可以通过将其添加\hypersetup{naturalnames=true}
到 .tex 文件来解决。添加此命令可能会出现什么问题?我的论文文本似乎没有改变,之前指向错误位置的链接现在指向了正确位置,但其他一些链接可能会毫无预警地指向错误位置吗?
我没有一个简短的例子可以展示;我只是想知道是否存在一些需要注意的常见问题。
答案1
引用手册hyperref
:
“任何可以引用的东西都会向前推进一些计数器;我们重载它以放入超文本起点(没有可见的锚点),并记下它以供以后使用\label
。如果\theH<name>
没有扩展到合理的引用,这将严重失败。这意味着引入新元素的类或包需要为\theH<name>
每个定义一个等效项。如果 没有定义,\the<name>
我们确实会设置一个陷阱使其\theH<name>
与相同,但这不一定是个好主意。\arabic{<name>}
\theH<name>
或者,该naturalnames
选项使用 LaTeX 提供的任何内容,这些内容可能有用。但您需要确保这些是合法的 PDF 和 HTML 名称。该hypertexnames=false
选项只是任意组成的名字。”(重点是我的)
除了与选项 一起使用的 LaTeX 标签名称的合法性之外naturalnames=true
,标签可能不是唯一的。以下代码与 有断开的链接naturalnames=true
,但没有此选项也可以工作。您可能会在这里责怪,但这是需要注意的事情。但是,当引入新问题subfig
时,您会收到警告。naturalnames
\documentclass{article}
\usepackage{subfig}
% \usepackage[naturalnames=true]{hyperref} %% does not work
\usepackage{hyperref} %% works
\begin{document}
\section{One}
\begin{figure}[ht]
\subfloat[][]{Ding\label{subfig:11}} \hfill
\subfloat[][]{Deng\label{subfig:12}}
\caption{Caption}
\end{figure}
\begin{figure}[ht]
\subfloat[subfig:21][]{Dong\label{subfig:21}} \hfill
\subfloat[subfig:22][]{Dung\label{subfig:22}}
\caption{Caption}
\end{figure}
Subfigures~\ref{subfig:11}, \ref{subfig:12}, \ref{subfig:21}, \ref{subfig:22}.
\end{document}