各フレームで常に 2 つのブロックを使用すると仮定します。
次に、コピー/貼り付けの手順なしで、次の操作を簡単に実行できる方法を用意したいと思います。
各フレーム(最初のフレームを除く)で、
- 最初のブロックは、前のフレームの 2 番目のブロックである必要があります。
したがって、以下のコードに似たものが可能であり、役立つと思います。
\begin{frame}
% code to call the second block from the previous frame
\begin{block} % the new block, to be used again on the next frame
\end{block}
\end{frame}
オーバーレイをいくつか使用できれば良いと思います。
何か案が?
答え1
手動介入なしのソリューションは次のとおりです。\dupbox
すべての作業を実行します。最初に初期コンテンツを定義し、新しいテキストでそれを呼び出すだけです。\dupbox
ブロックのタイトルを指定できるオプションの引数もあります。
\documentclass{beamer}
\usepackage{tikz}
\usetheme{Warsaw}
\usecolortheme{crane}
\newcommand\dupbox[2][]{%
\begin{block}{\duptitle}
\begin{minipage}{\linewidth}
\duptext
\end{minipage}
\end{block}
\begin{block}{#1}
\begin{minipage}{\linewidth}
#2
\end{minipage}
\end{block}
\gdef\duptext{#2}
\gdef\duptitle{#1}
}
\gdef\duptext{Initial text}
\gdef\duptitle{}
\begin{document}
\begin{frame}
\dupbox[Optional title]{Some text for frames one and two}
\end{frame}
\begin{frame}
\dupbox{Another test text for frames two and three with some math:
\[a=b.\]
}
\end{frame}
\begin{frame}
\dupbox[A simple TikZ drawing]{\tikz{\fill[blue] (0\linewidth,0) circle (13pt);
\fill[orange] (6,0) circle (13pt);}
}
\end{frame}
\begin{frame}
\dupbox{Even more text}
\end{frame}
\end{document}
答え2
そういう感じ?
\documentclass{beamer}
\begin{document}
\begin{frame}
\only<1>{\begin{block}{First} block \end{block}}
\only<1,2>{\begin{block}{Second} block \end{block}}
\only<2,3>{\begin{block}{Third} block \end{block}}
\only<3>{\begin{block}{4th} block \end{block}}
\end{frame}
\end{document}