我正在制作一个beamer
关于网络协议的演示文稿。我喜欢在幻灯片中放一些非常简单的动画,比如箭从发送者延伸到接收者,显示网络消息的流动。
我看到过类似这样的 LaTeX 软件包animate
可以做到这一点。但我认为它们有点矫枉过正。
或者说,他们不是吗?嗯,我不知道。
有没有简单的方法可以实现我想要的效果?
答案1
beamer 有一种\animate
方法可以自动连续播放幻灯片。您只需创建“定格”幻灯片即可。例如:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[every node/.style={draw}]
\node (s) {sender};
\node (r) at (5,0) {receiver};
\animate<2-10>
\foreach \pos in {0.1,0.2,...,1.0} {
\action<+>{
\path (s) -- (r) node[pos=\pos,coordinate] (p) {};
\draw[->] (s) -- (p);
}
}
\end{tikzpicture}
\end{frame}
\end{document}
在 Adobe Reader 中打开 PDF 并启用全屏模式。单击后,您将看到箭头从发送者动画延伸到接收者。
答案2
我认为,为此目的使用“动画”LaTeX 包并不算过分:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\begin{document}
\begin{frame}
\begin{animateinline}[loop]{10}
\multiframe{10}{rPos=0.1+0.1}{
\begin{tikzpicture}[every node/.style={draw}]
\node (s) {sender};
\node (r) at (5,0) {receiver};
\path (s) -- (r) node[pos=\rPos,coordinate] (p) {};
\draw[->] (s) -- (p);
\end{tikzpicture}
}
\end{animateinline}
\end{frame}
\end{document}
代码行数与 Matthews 的示例大致相同。动画可以配置为循环播放帧。