オーバープリントと列挙ブロックの混合

オーバープリントと列挙ブロックの混合

一連の異なるブロックを重ねて表示し、各ブロックに各項目ごとに一時停止する列挙体を含めたいと思います。環境はoverprintこれをうまく処理しますが、使用したいテーマと混在していないようです: Warsaw。私の問題の簡単な例を以下に示します:

\documentclass{beamer}

\usetheme{Warsaw}

\begin{document}

\begin{frame}{Test}
  \begin{center}
  text before
  \pause
  \begin{overprint}%
    \onslide<2-3>\begin{center}{
        \begin{block}{Some title here}
        \begin{enumerate}[<+->]
        \item One
        \item Two
        \end{enumerate}
        \end{block}
    }\end{center}
    \onslide<4->\begin{center}{
        \begin{block}{Some title here}
        \begin{enumerate}[<+->]
        \item CHicken
        \item Duck
        \item Rooster
        \end{enumerate}
        \end{block}
    }\end{center}
  \end{overprint}
  text after
  \end{center}
\end{frame}

\end{document}

ブロックは互いにうまく重ねられていますが、生成される箇条書きはおかしくなります。最後のスライドで何が起こるかを示すスクリーンショットを以下に示します。

ここに画像の説明を入力してください

各列挙項目の間に休止を入れなければ、問題なく動作します。テーマを使用しない場合も問題なく動作しますWarsaw

Warsawテーマによって列挙が壊れてしまう理由について何か考えはありますか?

答え1

だけではありませんWarsawCambridgeUSたとえば を使用すると、問題も発生します。内部center環境を削除するか (具体的な例では実際には効果がありません)、\centering代わりに を使用すると、問題は解決します。

\documentclass{beamer}
\usetheme{Warsaw}

\begin{document}

\begin{frame}{Test}
  \begin{center}
  text before
  \pause
  \begin{overprint}%
    \onslide<2-3>{%
        \centering
        \begin{block}{Some title here}
        \begin{enumerate}[<+->]
        \item One
        \item Two
        \end{enumerate}
        \end{block}\par}
    \onslide<4->{%
        \centering
        \begin{block}{Some title here}
        \begin{enumerate}[<+->]
        \item CHicken
        \item Duck
        \item Rooster
        \end{enumerate}
        \end{block}\par}
  \end{overprint}
  text after
  \end{center}
\end{frame}

\end{document}

最後のスライドの画像:

ここに画像の説明を入力してください

overlayareaおそらく、あなたが達成しようとしている効果がこれ(の代わりに を使用)であるかどうかはわかりませんoverprint

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

最後のスライド:

ここに画像の説明を入力してください

ちなみに、 を使用していました\onslide<2-3>\begin{center}{...}\end{center}が、正しい構文は です\onslide<2-3>{\begin{center}...\end{center}}。ただし、この場合、これで問題は解決しません。考えられる解決策の 1 つは、上で説明したものです。

関連情報