我想要为一个复杂的过程制作动画,通常使用“visible on”关键字可以很好地完成这个过程,但我想短暂地打断动画并插入一张幻灯片来介绍一个新的概念/方法......现在可以通过它来完成这个过程。
但是,如果启用“visible on”,它将生成整个过程,我无法控制单个幻灯片或将它们放在何处。有没有什么方法可以实现这个目标?
最灵活和最理想的解决方案是,如果我可以根据范围生成幻灯片......例如:
\begin{frame}{Primitive process}
\begin{tikzpicture}[range=<1-2>] % range: only generate slides 1-2 of this diagram
\node[visible on=<1>] {Primitive};
\node[visible on=<2>] {elements};
\node[visible on=<3>] {Very complicated};
\node[visible on=<4>] {elements};
\end{tikzpicture}
\end{frame}
\begin{frame}{Introducing new complicated concept}
\bi
\ii some
\ii explanation
\ii
\end{frame}
\begin{frame}{Now we're ready!}
\begin{tikzpicture}[range=<2->] % generate all the slides except the first
% the same as above (as \input'ed from an external file)
\end{tikzpicture}
\end{frame}
答案1
要仅显示覆盖的子集,beamer 提供了指定的可能性\begin{frame}<1-2>
。要显示缺失的帧,您无需重写所有内容,只需使用即可\againframe
。
\documentclass{beamer}
\usepackage{tikz}
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt=#1{}{invisible}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}
\begin{document}
\begin{frame}<1-2>[label=complicate]
\frametitle{Primitive process}
\begin{tikzpicture}
\node[visible on=<1>] {Primitive};
\node[visible on=<2>] {elements};
\node[visible on=<3>] {Very complicated};
\node[visible on=<4>] {elements};
\end{tikzpicture}
\end{frame}
\begin{frame}{Introducing new complicated concept}
test
\end{frame}
\againframe<2->{complicate}
\end{document}
(我借用visible on
了https://tex.stackexchange.com/a/99122/36296因为你没有给我们任何线索来定义这一点)