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}