Beamer比powerpoint用起来实在舒服很多,但有一个缺点就是多媒体支持不好。
在beamer中使用gif动态图效果的解决方法如下:
1. 包管理
这种方法的一般原理是把多帧的gif图片首先转化成单帧成组的pdf,eps,或者png,jpg文件,然后再beamer生成的文档中进行延时显示。因此,首先要包含相应的package:
\usepackage{graphicx}
\usepackage{animate}
其中,graphicx包用于正常的图片插入,animate包用于生成延时显示动画效果。
2.图片准备
假设已经制作完成了名为“abc.gif”动图文件,那么我们需要使用ImageMagick软件包将该gif文件转化成一系列的单帧图片。为此,我们使用如下命令
convert abc.gif -coalesce animate_abc_%d.eps
或
magick abc.gif -coalesce animate_abc_%d.eps
此处注意,如果你使用的ImageMagick版本超过7.2,那么需要使用“magick”命令,而不能使用“convert”命令。
执行完了之后会在同文件夹下生成文件名为animate_abc_0 -- animate_abc_xx的eps文件。此时,可以新建一个imgs文件夹,将这些新生成的eps文件存入。从而在你工作的文件夹下形成如下的目录树:
-> working folder
-> test_abc.tex
-> imgs
-> animate_abc_0.eps
-> animate_abc_1.eps
...
-> animate_abc_100.eps
此处假设生成了101帧eps图片(编号0 -- 100),实际生成的图片帧数可能有所变化。
3.图片插入
接下来,我们新建一个测试用的tex文件“test_abc.tex”,并输入如下内容
\documentclass{beamer}
\usepackage{graphicx,animate}
\begin{document}
\begin{figure}
\centering
\animategraphics[loop,autoplay]{12}{./imgs/animate_abc_}{0}{100}
\end{figure}
\end{document}
这里面的数字“100”需要根据实际生成的帧数进行修改。编译之后,我们就获得了一个包含动图的pdf了。需要注意的是,这个pdf只能用adobe reader打开。