비머 슬라이드 번호를 참조하면 모든 슬라이드가 표시되지 않습니다(정의되지 않은 참조 오류).

비머 슬라이드 번호를 참조하면 모든 슬라이드가 표시되지 않습니다(정의되지 않은 참조 오류).

점진적으로 열리는 슬라이드가 있습니다. 일반적으로 n개의 슬라이드가 있다고 가정해 보겠습니다. 그러나 "이제" 나는 슬라이드 1, 예를 들어 슬라이드 2에서 시작하지 않기로 결정했습니다. 여전히 n-1개의 슬라이드가 표시되어 있지만 LaTeX는 더 이상 레이블 정의를 찾을 수 없다고 결정합니다! 이 문제를 어떻게 해결합니까?

아래에 최소한의 예를 제공합니다. 슬라이드에 대한 인수로서뿐만 아니라 '일반적인 방법'으로 레이블을 정의할 수 있도록 모든 슬라이드를 복제했다는 점에 유의하십시오. 이는 단지 이것이 아무것도 변경되지 않는다는 것을 보여주기 위한 것입니다.

코드는 다음과 같습니다.

\documentclass{beamer}

\begin{document}

\begin{frame}<2->{Title of Slide 1}\label{LabelOfSlideOne}
  Slide 1 has three subslides, opened one by one, normally. Here, however, we start at slide number 2!
  \begin{itemize}[<+->]
    \item 1
    \item 2
    \item 3
  \end{itemize}
\end{frame}


\begin{frame}<2->[label=LabelOfSlideTwo]{Title of Slide 2}
  Slide 2 is exactly as slide 1, we simply define the label differently.
  \begin{itemize}[<+->]
    \item 1
    \item 2
    \item 3
  \end{itemize}
\end{frame}


\begin{frame}{Title of Slide 3}\label{LabelOfSlideThree}
  Slide 3 has two subslides, we show them incrementally, as normal.
  \begin{itemize}[<+->]
    \item 1
    \item 2
  \end{itemize}
\end{frame}


\begin{frame}[label=LabelOfSlideFour]{Title of Slide 4}
  Slide 4 is exactly as slide 3, we simply define the label differently.
  \begin{itemize}[<+->]
    \item 1
    \item 2
  \end{itemize}
\end{frame}


\begin{frame}{Slide 5: Test all the references!}
  \begin{itemize}
    \item This should show a 1: \ref{LabelOfSlideOne}
    \item This should show a 2: \ref{LabelOfSlideTwo}
    \item This should show a 3: \ref{LabelOfSlideThree}
    \item This should show a 4: \ref{LabelOfSlideFour}
  \end{itemize}
\end{frame}

\end{document}

결과는 다음과 같습니다.

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

이는 반면에보통레이블 정의는 완벽하게 작동하지만(마지막 두 슬라이드) 모든 슬라이드(처음 두 슬라이드)를 표시하지 않으면 작동하지 않습니다.

그럼... 이 문제를 어떻게 해결하나요?

답변1

문제를 피할 수 있는 몇 가지 방법이 있습니다.

  • 특정 오버레이에 라벨을 지정할 수 있습니다. 예:\label<2>{LabelOfSlideOne}

  • 라벨의 특정 오버레이를 참조할 수 있습니다. 예:\ref{LabelOfSlideTwo<2>}


\documentclass{beamer}

\begin{document}

\begin{frame}<2->{Title of Slide 1}\label<2>{LabelOfSlideOne}
  Slide 1 has three subslides, opened one by one, normally. Here, however, we start at slide number 2!
  \begin{itemize}[<+->]
    \item 1
    \item 2
    \item 3
  \end{itemize}
\end{frame}


\begin{frame}<2->[label=LabelOfSlideTwo]{Title of Slide 2}
  Slide 2 is exactly as slide 1, we simply define the label differently.
  \begin{itemize}[<+->]
    \item 1
    \item 2
    \item 3
  \end{itemize}
\end{frame}


\begin{frame}{Title of Slide 3}\label{LabelOfSlideThree}
  Slide 3 has two subslides, we show them incrementally, as normal.
  \begin{itemize}[<+->]
    \item 1
    \item 2
  \end{itemize}
\end{frame}


\begin{frame}[label=LabelOfSlideFour]{Title of Slide 4}
  Slide 4 is exactly as slide 3, we simply define the label differently.
  \begin{itemize}[<+->]
    \item 1
    \item 2
  \end{itemize}
\end{frame}


\begin{frame}{Slide 5: Test all the references!}
  \begin{itemize}
    \item This should show a 1: \ref{LabelOfSlideOne}
    \item This should show a 2: \ref{LabelOfSlideTwo<2>}
    \item This should show a 3: \ref{LabelOfSlideThree}
    \item This should show a 4: \ref{LabelOfSlideFour}
  \end{itemize}
\end{frame}

\end{document}

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

관련 정보