我实际上有两个相关的问题。
我有一个 PDF,想在 beamer 演示文稿中与 includegraphics 一起使用。这个 PDF 有一个白色背景,我想将其视为透明的(因此框架中的其他项目会打印在其上方。这可能吗?
实际上,我想要包含的 PDF 不止一个,用于创建动画(每个 PDF 都是一个框架)。现在我分别创建框架。有没有办法将所有 PDF 用于动画?
我尝试过类似的事情:
\includegraphics{\alt<1>{img1}{\alt<2>{img2}{img3}}}}
获得动画,但是它不起作用。
答案1
关于 1:我不知道这是否可行以及如何实现,很高兴了解。我猜透明度必须已经在 PDF 中了。
关于 2:这可以使用\foreach
TikZ/PGF 包和和来完成\includegraphics<+>
。我通常将动画的所有帧作为页面放入一个 PDF 中,因此我可以编写:
\usepackage{pgffor} % if you do not already include tikz
\begin{frame}{Animation}
\foreach \p in {1,...,10}{%
\includegraphics<+>[page=\p, width=\textwidth]{animation.pdf}
}
\end{frame}
如果您没有单个 PDF,但有多个 PDF 文件,您可以使用pdftk
它们来连接它们。或者,以下方法也应该有效(我现在无法测试):
\usepackage{pgffor} % if you do not already include tikz
\begin{frame}{Animation}
\foreach \f in {frame1.pdf, frame2.pdf, frame3.pdf}{%
\includegraphics<+>[width=\textwidth]{\f}
}
\end{frame}
这种方法的一个非常好的特性是,可以很容易地为讲义版本指定不同的序列(通常包含较少的幻灯片)。
答案2
据我所知,不可能让 LaTeX 忽略背景,但是如果你在 Inkscape 中打开 PDF,背景通常只是一个很容易删除的元素(尽管你必须对每一帧单独执行此操作)。
您可以使用该
animate
包然后使用:\animategraphics{framerate}{basetitle}{start}{end}
例如,如果您想以 10 fps 播放动画,其帧位于
frame001.png
文件frame050.png
夹中anim/
,则可以这样:\animategraphics{10}{anim/frame}{001}{050}
您可能还想使用一些选项(例如自动播放或步骤),有关详细信息,我将指导您查看软件包文档http://www.tug.org/texlive/Contents/live/texmf-dist/doc/latex/animate/animate.pdf。
我应该指出,
animate
当使用 Acrobat 阅读器以外的其他阅读器时,使用该包可能会产生一些副作用,特别是我发现在大多数 PDF 阅读器中背景图像往往变成全白。