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{}{}\hyperlinkbeamer\refhyperref\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}

関連情報