我想将 Beamer 演示文稿的某些部分制作成动画。\transduration
很有希望,但由于动画仅针对页面上具有变化时间参数的图形图像,因此我寻找比明确地在外部创建多个图形文件,并在 LaTeX 文档中创建相应的多个图形文件\includegraphics
,每个时间点一个。
搜索很快导致AlexG 对“LaTeX 中的动画”的回答,这对我很有吸引力,因为动画被封装在一个单独的文件中\multiframe
,并且似乎不需要任何 LaTeX 外部的工具来生成动画的帧。
但是,我无法让 AlexG 的 LaTeX 代码像这样工作:
latex alexg.tex
dvips alexg.dvi
ps2pdf alexg.ps
pdfpc alexg.pdf
事实上,我看到一个类似媒体播放器的框,下面有一些控件,里面有一条粗的蓝色垂直线,但是当我按下控件时什么也没有发生。
(尝试应用okular
和evince
显示也失败了。我也尝试过pdflatex
转换,但这也没有起作用,而且在导入 PostScript 图形时导致了不相关的其他地方出现问题。)
答案1
与 Acrobat Reader 不同,Evince 和 Okular 是简约的 PDF 查看器,不附带 JavaScript 引擎。需要运行通过该animate
包制作的嵌入式动画。
在 Linux 和移动平台上,无法使用具有所需功能的 PDF 查看器。此时,可以选择 SVG 作为备选输出格式,并使用 Web 浏览器进行查看。请参阅“不使用 Adobe 的动画包“ 了解更多信息。
OP 中链接的示例,略有修改(变成beamer
-class 文档,dvisvgm
设置为全局选项):
latex texsx-524206
latex texsx-524206
dvisvgm --zoom=-1 --font-format=woff texsx-524206
\documentclass[dvisvgm, aspectratio=169]{beamer}
\usepackage{animate}
\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}
\pgfdeclarelindenmayersystem{A}{%
\symbol{F}{\pgflsystemstep=0.6\pgflsystemstep\pgflsystemdrawforward}
\rule{A->F[+A][-A]}
}
\begin{document}
\begin{frame}{Embedded animation}
Press \fbox{F11} for presentation mode.
\begin{center}
\begin{animateinline}[controls,loop]{2}
\multiframe{8}{n=1+1}{
\begin{tikzpicture}[scale=10,rotate=90]
\draw (-.1,-.2) rectangle (.4,0.2);
\draw [blue,opacity=0.5,line width=0.1cm,line cap=round]
l-system [l-system={A,axiom=A,order=\n,angle=45,step=0.25cm}];
\end{tikzpicture}
}
\end{animateinline}
\end{center}
\end{frame}
\end{document}
````