Beamer:\againframe 在其他框架内

Beamer:\againframe 在其他框架内

我想重复某一帧的某个状态beamer。像这样:

\frame[label=A]{
    \begin{itemize}
        \item<1> foo
        \item<2> bar
    \end{itemize}
}

\frame{
    \begin{itemize}
        \item<1> fooagain
        \item<3> baragain
    \end{itemize}
    \only<2>\againframe<1>{A}
    \only<4>\againframe<2>{A}
}

然而,这不起作用,因为只能\againframe在其他框架之外调用。

我可以接受这个约束,但是我不希望为每个我再次调用的帧都有一个迷你帧(使用\againframe)。

您知道该如何解决吗?

答案1

我不能 100% 确定我了解你想要实现的目标,但也许是这样的:

\frame<2,4>[label=A]{
    \begin{itemize}
        \item<1> fooagain
        \item<2> foo
        \item<3> baragain
        \item<4> bar
    \end{itemize}
}
\againframe<1-4>{A}

(我想这也是@gotgenes 所想的。)

答案2

您问这个问题已经有一段时间了,但我希望这对您和其他人有帮助。您必须像以下示例一样标记两个框架:

\frame<-2>[label=A]{
    \begin{itemize}
        \item<1-> foo
        \item<2-> bar
    \end{itemize}
}

\frame<1>[label=B]{
    \begin{itemize}
        \item<1-> fooagain
        \item<2-> baragain
    \end{itemize}
}
\againframe<1>{A}
\againframe<2>{B}
\againframe<2>{A}

答案3

我不太清楚您想要什么,但这样就newcommand足够了吗?

\newcommand{\twolist}[2]{\begin{itemize}\item #1 \item #2 \end{itemize}}
\begin{document}
\frame{
  \twolist{foo}{bar}
}
\frame{
  \twolist{fooagain}{baragain}
  \twolist{foo}{bar}
}
\end{document}

相关内容