使用 Inkscape (创建矢量图像的软件)我创建了一个包含多个图层的文件。感谢一个非常有用的脚本(光束景观),然后保存这些图层为单独的 PDF 文件。接下来,使用覆盖,各层将逐步以叠加图形的形式出现在演示文稿中,如下所示:
\documentclass{beamer}
\usepackage[absolute,overlay]{textpos}
\textblockorigin{0mm}{0mm}
\begin{document}
\begin{frame}[t]{Some title...}
Some text...
\transdissolve<3,5,7>
% Layer "1<1-2,8>"
\pgfdeclareimage[width=\paperwidth]{Layer1}{Figures/Layer1}
\begin{textblock}{1}(0,0)
\pgfuseimage<1-2,8>{Layer1}
\end{textblock}
% Layer "2<2-4,8>"
\pgfdeclareimage[width=\paperwidth]{Layer2}{Figures/Layer2}
\begin{textblock}{1}(0,0)
\pgfuseimage<2-4,8>{Layer2}
\end{textblock}
% Layer "3<4-6,8>"
\pgfdeclareimage[width=\paperwidth]{Layer3}{Figures/Layer3}
\begin{textblock}{1}(0,0)
\pgfuseimage<4-6,8>{Layer3}
\end{textblock}
% Layer "4<6-7,8>"
\pgfdeclareimage[width=\paperwidth]{Layer4}{Figures/Layer4}
\begin{textblock}{1}(0,0)
\pgfuseimage<6-7,8>{Layer4}
\end{textblock}
\end{frame}
\end{document}
如你所见,第一层只出现在步骤 1 和 2 中(转溶当然,效果不是必需的)。我希望的是,在步骤 2 中,后步骤 1,第一层以较浅的颜色显示(因此有点透明,就像命令\uncover
可以对列表或方程式执行的操作一样)。
同样,第二层应该在步骤 2 中按原样出现,然后在步骤 3 和 4(或者可能仅在步骤 4)中褪色为更浅的颜色。
以图形为例,假设第 1 层是一个完整的圆,第 2 层是这个完整圆的一部分。当第 2 层与第 1 层重叠时(如本例中的步骤 2 所示),您不会注意到过渡到步骤 2,因为这个“圆的一部分”只是显示在整个圆的顶部。
顺便说一句,在步骤 1 中仅显示第 1 层(然后在步骤 2 中仅显示第 2 层)并不是解决方案——我真正想要的是在步骤 2 中以更浅的颜色显示整个圆圈(第 1 层),并将第 2 层(圆圈的一部分)显示在它上面。
答案1
你可以通过如下方式获得你想要的效果:
\documentclass{beamer}
\usepackage{tikz}
\usepackage[absolute,overlay]{textpos}
\textblockorigin{0mm}{0mm}
\begin{document}
\begin{frame}[t]
\pgfdeclareimage[interpolate=true,height=\textheight]{layer1}{circle}
\pgfdeclareimage[height=\textheight]{layer2}{square}
\begin{textblock}{1}(0,0)
\begin{tikzpicture}
\only<1>{\node[opacity=1]{\pgfuseimage{layer1}}};
\only<2->{\node[opacity=0.5]{\pgfuseimage{layer1}}};
\end{tikzpicture}
\end{textblock}
\begin{textblock}{1}(0,0)
\begin{tikzpicture}
\only<2>{\node[opacity=1]{\pgfuseimage{layer2}}};
\only<3->{\node[opacity=0.5]{\pgfuseimage{layer2}}};
\end{tikzpicture}
\end{textblock}
\end{frame}
\end{document}
这样在第一张幻灯片中会显示一个圆圈,而在第二张幻灯片中则会显示一个完全不透明的正方形,该正方形被 50% 透明度的圆圈包围。