在这里, 我将演示如何利用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
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.