TikZ + beamer:直接访问使用“visible on”关键字生成的特定幻灯片

TikZ + beamer:直接访问使用“visible on”关键字生成的特定幻灯片

我想要为一个复杂的过程制作动画,通常使用“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 onhttps://tex.stackexchange.com/a/99122/36296因为你没有给我们任何线索来定义这一点)

相关内容