在 Beamer 中重复幻灯片而不重新定义标签

在 Beamer 中重复幻灯片而不重新定义标签

显然(§5.1.4 beamer 手册),beamer 命令\againframe被认为是继续框架

在 beamer 中,你可以使用\againframe命令“继续”你之前在某处开始的帧,但是其中某些细节已被抑制。

而不是重复在演示文稿中重复两次相同的帧。事实上,使用命令重复相同的帧是可行的,因为它可以编译并在 PDF 中提供所需的输出。但是,这会导致标签重复,从而导致编译时出现警告。如果使用\againframe继续一个帧,则不会发生这种情况。

梅威瑟:

\documentclass{beamer}

\begin{document}

\begin{frame}<1>[label=test]{A frame}
    \begin{itemize}
        \item<1> Item
        \item<2> Advanced item
    \end{itemize}
\end{frame}

\againframe<1-2>{test} % This gives warnings, I repeat overlay 1
%\againframe<2>{test}  % This is fine, I continue a frame

\end{document}

现在,一个简单的解决方法是创建两个相同的叠加层,然后在演示的某个点使用一个,在需要重复框架的地方使用另一个,这已经在以下问题的答案中被建议了:这个问题

但是,如果多次需要这样做和/或在复杂的框架上这样做,就会变得非常烦人。因此,我想知道是否有人有一个聪明的主意来避免标签重新定义。换个问法,如何\repeatframe定义命令?我想避免的是简单地忽略警告......

我还发现另一个问题关于这个问题,但我不确定这个好的答案中所建议的是否是我能得到的最好的答案,是否是这个问题的真正解决方案。

附言:虽然直接复制框架(复制粘贴)是可行的,但这不是一种选择。每个人都知道,一旦你需要更改该框架,你就必须记住更改其副本……

答案1

如何将要重复的内容移动到其他文件?这样就可以多次输入。如果没有覆盖,甚至可以移动\begin{frame}...\end{frame}到子文件

\documentclass{beamer}

\begin{document}

\begin{frame}<1>
\input{theframeyouwanttorepeat} 
\end{frame}

\begin{frame}
test
\end{frame} 

\begin{frame}<2>
\input{theframeyouwanttorepeat} 
\end{frame}

\end{document}

和 theframeyouwanttorepeat.tex:

 zzz \pause yyy

相关内容