段階的に開かれるスライドがあります。通常は 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}
結果は次のとおりです。
これは、通常はラベルの定義は完全に機能しますが (最後の 2 つのスライド)、すべてのスライドを表示しない場合は機能しません (最初の 2 つのスライド)。
それで...この問題をどうやって解決するのでしょうか?
答え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}