hyperref 命令未指向 beamer 中的正确位置

hyperref 命令未指向 beamer 中的正确位置

我在投影仪中写了一些方程式,我想使用超链接指向这些方程式,但是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}

相关内容