私はこの質問の答えを読んでいましたオーバープリントと列挙ブロックの混合
[リンクをたどる必要がないようにコードを再コピーします]
\documentclass{beamer}
\usetheme{Warsaw}
\begin{document}
\begin{frame}{Test}
\begin{center}
text before
\pause
\begin{overlayarea}{\textwidth}{3.3cm}
\only<2-3>{%
\begin{block}{Some title here}
\begin{enumerate}[<+->]
\item One
\item Two
\end{enumerate}
\end{block}}
\only<4-7>{%
\begin{block}{Some title here}
\begin{enumerate}[<+(2)->]
\item CHicken
\item Duck
\item Rooster
\end{enumerate}
\end{block}}
\end{overlayarea}
text after
\end{center}
\end{frame}
\end{document}
そして、2 番目の環境のデフォルトの増分オーバーレイ仕様で、括弧内の数字が使用されていることに気付きましたenumerate
。( の存在を確認してください[<+(2)->]
) そうすることで、環境の 2 番目の番号付きリストの項目がoverlayarea
増分的に明らかになります。
なぜそれが必要なのでしょうか?環境beamerpauses
間でリセットされることを意味しているようです。それとも、環境内のコマンドenumerate
間でリセットされるのでしょうか?only
overlay
それは不快な動作ではないでしょうか? なぜなら、それはあたかも、ビーマーの一時停止を自分で追跡しなければならないかのようです。 の有用性は[<+->]
失われてしまいますね?
答え1
この一見奇妙な現象は、次の簡単な例を調べることで説明できます。
\documentclass{beamer}
\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}
\begin{document}
\begin{frame}{Test}
\only<1-2>{\par\showpauses%
\begin{enumerate}[<+->]
\item One \showpauses
\item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}
\end{document}
ドキュメントを処理すると、beamerpauses
さまざまな段階でのカウンターの値を示す 3 つのスライドのプレゼンテーションが作成されます。
スライド2までは、すべてが予想どおりです。スライド2の の終わりには のenumerate
値はbeamerpauses
3です。しかし、スライド3ではbeamerpauses
です1
。なぜこのようなことが起こるのでしょうか? オーバーレイの仕様が\only
だったため1-2
、すべてbeamerpauses
スライド1と2で起こっていることは、それらのスライドでのみ発生します。特に、列挙によって生成されるステップは効果があります。のみスライド 1 と 2 の場合。 の影響を受けない 3 番目のスライドでは、\only
カウンターはbeamerpauses
以前と同じ値になります。
これは に何か問題があることを示していますかbeamer
?私はそうは思いません。結局のところ、 の期待される意味は、\only
その範囲内に物事を維持することです。のみ指定されたスライドに対して。
上記の例での代わりに<1->
(または<1-3>
)を使用すると、<1-2>
\documentclass{beamer}
\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}
\begin{document}
\begin{frame}{Test}
\only<1->{\par\showpauses%
\begin{enumerate}[<+->]
\item One \showpauses
\item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}
スライド 3 は のスコープ内にあるため、スライド 3 のカウンターの値が 3 になっていることがわかります\only
。
元の例のカウンターの「汚い」手動増加は、単に OP が達成したかった特殊効果によるものでした。おそらく、この同じ効果は、手動介入なしで別の方法で達成できるのではないでしょうか。