我正在寻找方法来产生Beamer 中的小动画兼容开源 PDF 查看器比如 Okular 和 Evince。
我发现的所有解决方案都不起作用,除了一个:打开这个演示在幻灯片 74 上,使用 Okular 或 Evince(不支持 Firefox)全屏观看第 1.8 节,尽情享受吧。是否可以将其调整到 Beamer,例如,将一个点移动到圆圈周围?
注意::一开始我是把这个问题当成一个真正的问题来写的,但是经过一番研究我在写完这个问题之前找到了一个解决方案,所以我想分享一下。
欢迎提出我的回答中未描述或描述不佳的任何其他解决方案,并且请毫不犹豫地说出哪种解决方案适用于哪种程序。
(要查看 MWE,请参阅下面的我的回答)
答案1
这是我所看到的所有可能解决方案的描述,如果您有有关软件兼容性或提示的信息,请随时发表评论和/或添加其他答案。
使用过渡持续时间
想法:绘制连续的投影仪框架,并设置一个\transduration
来创建当前框架的自动变化(就像在幻灯片中一样)
优点:
- 与 Okular 和 Evince 配合良好
- 实现起来非常简单
- 如果您不介意手动按住 -> 键,则可以“在任何地方”使用。
缺点:
- 生成的 PDF 有很多页面
- 有时,如果过渡时间太短,就很难“回到”动画的开始。
软件无法使用:
- 可以在“任何地方”使用,但(至少)在 Firefox 和 Chrome PDF Viewer、mupdf 和 Inspired 中,您需要手动按住 ->
代码 :
\documentclass[]{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetheme{Warsaw}
\begin{document}
\begin{frame}
\transduration<1->{0.1}
\center
\begin{tikzpicture}[]
\draw (0,0) circle (1);
\foreach \frnb in {1,...,75}
{
\draw<\frnb>[fill=red] ({5*(\frnb-1)}:1) circle (0.2);
}
\draw[draw=none] (-1.3,1.3) rectangle (1.3,-1.3);
\end{tikzpicture}
\end{frame}
\end{document}
多媒体和电影:不适用于小型动画且不自动化
想法:将 tikz 动画转换为电影,然后使用 beamer 插入电影multimedia
。
优点:
- 适用于 Okular(未在 Evince 上测试,但我认为它可以工作)
- 播放/暂停/循环选项
- 可以包含快速且完整的动画,无需特别从 tikz 构建。
缺点:
- 电影很沉重
- 它们不能嵌入到 pdf 中,所以你需要将它们分开复制
- 从 tikz 到电影的转换实际上并不容易:我会编写一个 Makefile,
ffmpeg
每次convert
我想使用它时都会调用它...(顺便说一句,如果您知道仅使用 latex 包来做到这一点的方法,我会很感兴趣)当我有更多空闲时间时,我会尝试编写这个 Makefile。 - 当每次暂停之间都有很多小动画时,使用电影是不切实际的。
Animate 包:Okular/Evince 不支持
想法:使用该animate
包,但不适用于 Okular/Evince。
好点子 :
- 非常强大,提供循环、播放、暂停......
缺点:
- 仅适用于 Adobe Viewer,不支持 Okular 和 Evince(需要 Javascript)
Flash/MediaN... 不支持 Okular/Evince
如果我想使用 Flash 动画,Linux 上的支持仍然是最差的。