如何在LaTeX中制作动画

Vanabel/ 4月 20, 2012/ LaTeX/ 0 comments

在这里, 我将演示如何利用Mathemathica在LaTeX中制作动画.

原理: LaTeX动画有两个比较著名的宏包, 一是animate, 二是movie15. 关于movie15的例子可以参考这里. 原理其实差不多, 只是用到的工具不同.
1. 制作frame, 也就是帧, 我们知道动画都是连续播放静态图片而运动起来的. 于是第一步就是用mathematica制作一个动画的frame;
2. 利用animate.sty将这些frame嵌入到pdf文件中; 这样就可以在acobat中播放了.

具体步骤如下:
1. 在Mathematica下运行如下代码:

flist = Most[
  Map[Graphics[{Red, Disk[{0, 0}, 2], White, 
      Disk[1.5 {Cos[#], Sin[#]}, 0.5]}] &, 
   Range[Pi/2, -3 Pi/2, -Pi/6.]]]

得到一列滚动的圆.

2. 利用如下代码将每幅图片提取到工作目录(可用Directory[]查看当前工作目录)

MapThread[
 Export[StringJoin["frame-", ToString[#2], ".jpg"], #] &, {flist, 
  Range[Length[flist]]}]

3. 在同一目录下新建test.tex内容如下



\begin{frame}{Example of animated PDF}
[htbp] \animategraphics[width=0.5\textwidth, controls,buttonsize=1em,buttonfg=0.5, loop]{5}{frame-}{1}{12}
\end{frame}

其中第2行是宏包载入代码, 必须的. 而5-9是frame的主要内容, 它包括了一个figure来居中放置动画, 而6-8行就是动画嵌入代码了. 它的基本格式如下

\animategraphics[]{}{}{}{}

各项参数意义是明显的:
width: 半个文章宽度
controls: 显示控制按钮
buttonsize: 按钮大小
buttonfg: 按钮透明度
loop: 循环播放.
更多的可参考animate的说明文档.
4. 运行pdflatex, 得到test.pdf 用acobat reader 打开即可.

5. 参考文献
i. PDF embedded animations with Mathematica and Latex-beamer
ii. The animate package
6. 附件
最终的pdf

Share this Post

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

*
*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据