重复框架内容

重复框架内容

假设我在每一帧上总是使用两个块。

然后,我希望有一个简单的方法来执行以下操作,而无需复制/粘贴过程:

在每一帧上(第一帧除外),

  • 第一个块应该是前一帧的第二个块。

因此我猜测类似于下面的代码是可能的并且有帮助:

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

相关内容