我有一个 beamer 类文档,并且在 \phantomsection 之后直接定义了一个标签。
\begin{frame}
\phantomsection
\label{sec:rotation}
<TEXT>
\end{frame}
但是,在其他地方使用 \hyperref[sec:rotation]{rotation} 引用标签会创建一个链接,该链接不会指向定义该标签的部分,而是指向文档的开头。如何解决这个问题?
答案1
beamer
hyperref
使用选项加载implicit=false
。这会影响 的许多用户命令的行为hyperref
。在您的例子中,\phantomsection
现在是一个空宏(由 定义\let\phantomsection\@empty
)。
要向框架添加标签,您可以使用label={<label name>}
环境选项frame
。
\documentclass{beamer}
\begin{document}
\begin{frame}[label={sec:rotation}]
content
\end{frame}
\begin{frame}
% print "macro:->"
\meaning\phantomsection
% clicking "rotation" jumps to first frame
\hyperref[sec:rotation]{rotation}
\end{frame}
\end{document}