如何防止使用 tikz 叠加时出现跳跃图片

如何防止使用 tikz 叠加时出现跳跃图片

我在 Beamer 中有以下 tikz 图片

\usetikzlibrary{fit,calc,positioning,matrix,decorations.pathmorphing}
\begin{tikzpicture}[scale=0.8,system/.style={draw,rectangle,rounded corners=3,minimum width=2cm,text width=1.8cm,text centered}]
    \node [system] (fe) {Feature Extraction};
    \node [system] (am) [right=of fe] {Acoustic Model};


    \draw[->] (fe) |- (am);
    \draw[<-,decorate,decoration={snake,pre length=6mm,segment length=2mm,amplitude=3mm}] (fe.west) -- ++(-2cm,0);

   \node<2-> [above=of fe.north] {Fast Fourier Tranform};
\end{tikzpicture}

如你所见,我在第二张幻灯片中添加了一个节点。但是,添加后整个图片会跳动。

我怎样才能防止我的图片跳跃?

答案1

问题是由于图片的边界框会根据该节点是否存在而变化。有几种方法可以解决这个问题:

  1. \useasboundingbox使用或语法明确告诉 tikz 边界框是什么,从而确保两张幻灯片上的边界框相同\path[use as bounding box]。优点:您可以得到您想要的结果。缺点:您必须确切地知道要请求什么。

  2. 让额外的内容始终存在,但仅在第二张幻灯片上可见。有几种方法可以做到这一点;也许最简单的方法是将整个节点包装在 中,\visible<2->{...}而不是使用\node<2->。(如果 tikz 命令采用行动以及裸覆盖规范,但似乎并非如此。)另一种方法是将节点文本放在覆盖命令中,{\visible<2->{Fast Fourier Transform}}。还有一种方法是将空节点(或坐标)放置在所需位置,然后将带有文本的节点放在下一张幻灯片上:

    \coordinate [above=of fe.north] (pt);
    \node<2-> at (pt) {Fast Fourier Transform};
    

    尽管这仍可能导致跳跃,但您可能希望将文本节点定位在坐标下方。

相关内容