Faltan nombres naturales con \autoref en Beamer. ¿Un error de proyector?

Faltan nombres naturales con \autoref en Beamer. ¿Un error de proyector?

Usando hyperrefy beamerjuntos, me encuentro con el siguiente problema. El comando \autorefque se supone debe agregar el nombre del elemento al que se hace referencia no funciona.

Aquí hay un ejemplo mínimo que demuestra el problema.

\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}

Lo que produce el siguiente resultado

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Observe que el nombre "Unidad" no aparece en la referencia generada.

Respuesta1

Si miramos el .auxarchivo generado por su código, encontramos

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

Quitar el naturalnamesno solucionará el problema.

Por otra parte, el documento

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

\begin{document}

\section{First}\label{first}

\autoref{first}

\end{document}

Producirá

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

en el .auxarchivo y luego imprima “Unidad 1”.

Usar cleverefparece mucho más fácil:

\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}

ingrese la descripción de la imagen aquí

información relacionada