我在投影仪中写了一些方程式,我想使用超链接指向这些方程式,但是hyperref[label]{text}
包中的命令生成的链接hyperref
没有指向正确的位置,而命令\ref
指向了正确的位置。例如
\documentclass{beamer}
\hypersetup{
colorlinks,
linkcolor=red,
}
\begin{document}
\begin{frame}[c]\frametitle{page 1}
\begin{equation}\label{eq:1}
123
\end{equation}
\end{frame}
\begin{frame}[c]\frametitle{page 2}
\begin{equation}\label{eq:2}
456
\end{equation}
\end{frame}
\begin{frame}[c]\frametitle{page 3}
Right link, will point to page 2:\ref{eq:2}\par
Wrong link, doesn't point to page 2:\hyperref[eq:2]{The equation 2}\par
\end{frame}
\end{document}
我使用xelatex
的编译器以及平台是TL2016和Windows 7。
答案1
而不是\hyperref[]{}
使用\hyperlink{}{}
--\hyperlink
而是重新定义为在内部beamer
使用通常的方法\ref
,因为该命令默认使用链接(使用hyperref
)并且链接将起作用,但它会在使用另一个文档类设置的另一个文档中失败,因为\hyperlink
应用的是锚点名称而不是标签名称。
还请注意,它也\hyperlink
支持幻灯片叠加<>
语法。beamer
\documentclass{beamer}
\hypersetup{
colorlinks,
linkcolor=red,
}
\begin{document}
\begin{frame}[c]\frametitle{page 1}
\begin{equation}\label{eq:1}
123
\end{equation}
\end{frame}
\begin{frame}[c]\frametitle{page 2}
\begin{equation}\label{eq:2}
456
\end{equation}
\end{frame}
\begin{frame}[c]\frametitle{page 3}
Right link, will point to page 2:\ref{eq:2}
Correct link, does point to page 2:\hyperlink{eq:2}{The equation 2} as well!
\end{frame}
\end{document}