Usando hyperref
e beamer
juntos, encontro o seguinte problema. O comando \autoref
que deveria adicionar o nome do item referenciado não funciona.
Aqui está um exemplo mínimo que demonstra o 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}
O que produz a seguinte saída
Observe que o nome “Unidade” não aparece na referência gerada.
Responder1
Se olharmos para o .aux
arquivo gerado pelo seu código, encontramos
\newlabel{first}{{1}{1}{My first section}{Doc-Start}{}}
Remover o naturalnames
não resolverá o problema.
Por outro lado, o documento
\documentclass{article}
\usepackage{hyperref}
\renewcommand{\sectionautorefname}{Unit}
\begin{document}
\section{First}\label{first}
\autoref{first}
\end{document}
vai produzir
\newlabel{first}{{1}{1}{First}{section.1}{}}
no .aux
arquivo e depois imprima “Unidade 1”.
Usar cleveref
parece muito mais 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}