Fehlende natürliche Namen mit \autoref in Beamer. Ein Beamer-Bug?

Fehlende natürliche Namen mit \autoref in Beamer. Ein Beamer-Bug?

hyperrefWenn ich und zusammen verwende beamer, stoße ich auf das folgende Problem. Der Befehl \autoref, der den Namen des referenzierten Elements hinzufügen soll, funktioniert nicht.

Hier ist ein Minimalbeispiel, das das Problem veranschaulicht

\PassOptionsToPackage{naturalnames}{hyperref}
\documentclass{beamer}
\usepackage[naturalnames]{hyperref}
\hypersetup{naturalnames}
\renewcommand{\sectionname}{Unit}
\begin{document}
  \section{My first section} \label{first}
  \begin{frame}
    See \autoref{second}.
  \end{frame}
  \section{My second section} \label{second}
  \begin{frame}
    See \autoref{first}.
  \end{frame}
\end{document}

Das Ergebnis ist folgendes

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Beachten Sie, dass der Name „Unit“ in der generierten Referenz nicht erscheint.

Antwort1

Wenn wir uns die von Ihrem Code generierte Datei ansehen .aux, finden wir

\newlabel{first}{{1}{1}{My first section}{Doc-Start}{}}

Durch das Entfernen naturalnameswird das Problem nicht behoben.

Andererseits das Dokument

\documentclass{article}
\usepackage{hyperref}
\renewcommand{\sectionautorefname}{Unit}

\begin{document}

\section{First}\label{first}

\autoref{first}

\end{document}

wird herstellen

\newlabel{first}{{1}{1}{First}{section.1}{}}

in die .auxDatei und drucken Sie dann „Einheit 1“ aus.

Die Verwendung cleverefscheint viel einfacher:

\documentclass{beamer}
\usepackage{cleveref}
\crefname{section}{Unit}{Units}

\begin{document}

\section{My first section}\label{first}

\begin{frame}

See \cref{first}.

\end{frame}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen