Beim Verweisen auf die Foliennummern des Beamers werden nicht alle Folien angezeigt (undefinierter Verweisfehler)

Beim Verweisen auf die Foliennummern des Beamers werden nicht alle Folien angezeigt (undefinierter Verweisfehler)

Ich habe eine Folie, die schrittweise geöffnet wird. Angenommen, sie hat normalerweise n Folien. Aber „jetzt“ entscheide ich, nicht bei Folie 1, sondern beispielsweise bei Folie 2 zu beginnen. Obwohl immer noch n-1 Folien angezeigt werden, entscheidet LaTeX dennoch, dass es die Beschriftungsdefinition nicht mehr finden kann! Wie löse ich dieses Problem?

Ich gebe unten ein Minimalbeispiel. Beachten Sie, dass ich alle Folien dupliziert habe, damit ich die Beschriftung sowohl als Argument für die Folie als auch auf die „übliche Weise“ definieren kann – nur um zu zeigen, dass dies nichts ändert.

Hier der Code:

\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}

Das ist das Ergebnis:

Bildbeschreibung hier eingeben

Dies zeigt, dass währendnormalerweiseDas Definieren von Beschriftungen funktioniert einwandfrei (die letzten beiden Folien). Es funktioniert nicht, wenn wir nicht alle Folien anzeigen (die ersten beiden Folien).

Also ... wie kann dieses Problem gelöst werden?

Antwort1

Sie können das Problem auf verschiedene Weise vermeiden:

  • Sie können die Beschriftung auf einem bestimmten Overlay festlegen, z. B.\label<2>{LabelOfSlideOne}

  • Sie können beispielsweise auf eine bestimmte Überlagerung eines Etiketts verweisen.\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}

Bildbeschreibung hier eingeben

verwandte Informationen