Команда hyperref не указывает на нужное место в бимере

Команда hyperref не указывает на нужное место в бимере

Я пишу некоторые уравнения в бимере и хочу указать на эти уравнения с помощью гиперссылки, но ссылка, созданная командой 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}

Связанный контент