Beamer에 \autoref가 포함된 자연 이름이 누락되었습니다. 비머 버그?

Beamer에 \autoref가 포함된 자연 이름이 누락되었습니다. 비머 버그?

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}

여기에 이미지 설명을 입력하세요

관련 정보