hyperref
と を一緒に使用するとbeamer
、次の問題が発生します。\autoref
参照される項目の名前を追加するはずのコマンドが機能しません。
問題を示す最小限の例を以下に示します。
\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}
次のような出力が生成される。
生成された参照には「Unit」という名前が表示されないことに注意してください。
答え1
.aux
コードによって生成されたファイルを見ると、
\newlabel{first}{{1}{1}{My first section}{Doc-Start}{}}
を削除してもnaturalnames
問題は解決しません。
一方、文書
\documentclass{article}
\usepackage{hyperref}
\renewcommand{\sectionautorefname}{Unit}
\begin{document}
\section{First}\label{first}
\autoref{first}
\end{document}
生産する
\newlabel{first}{{1}{1}{First}{section.1}{}}
ファイルに.aux
「Unit 1」と入力し、印刷します。
使い方はcleveref
はるかに簡単そうです:
\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}