我通常不喜欢科学演示中的动画,但在这里我想问如何实现动画。
我有两个图,第二个图(下图 B)是第一个图(下图 A)的特写版本。我使用列环境和幻灯片编号实现了这一点:
\documentclass{beamer}
\usetheme{boxes}
\usepackage[export]{adjustbox}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\usetikzlibrary{decorations.pathreplacing,angles,quotes,decorations.pathmorphing}
\begin{document}
\begin{frame}{Hello}
\framesubtitle{I like trains}
\begin{columns}
\column{0.5\linewidth}
\centering
\begin{tikzpicture}
\onslide<1->{
\draw[<->] (-0.8,0) -- (0.8,0);
}
\end{tikzpicture}
\column{0.5\linewidth}
\includegraphics<1>[width=\textwidth]{example-image-a}
\includegraphics<2>[width=\textwidth]{example-image-b}
\end{columns}
\end{frame}
\end{document}
现在,当我浏览演示时,这确实令人困惑,因为我们看到图 A,然后直接看到超特写版本的图 B,而不知道它显示的是 A 的哪一部分。理想情况下,我希望有一个简单的“缩放效果”。我认为最简单的选择是在图形 A 和 B 之间插入一些中间叠加层,然后让它们以一定的暂停时间相互过渡。但是我不知道如何在不点击所有叠加层的情况下实现这一点。任何关于此或其他实现的帮助都将不胜感激。
答案1
这段代码怎么样?
\documentclass{beamer}
\usetheme{boxes}
\usepackage[export]{adjustbox}
\usepackage{tikz,animate}
\usetikzlibrary{shapes,arrows,positioning}
\usetikzlibrary{decorations.pathreplacing,angles,quotes,decorations.pathmorphing}
\begin{document}
\begin{frame}{Hello}
\animate<2-51>
\newcount\mysize
\animatevalue<2-42>{\mysize}{12}{52}
\transduration<2-42>{0.4}
\framesubtitle{I like it when it rains}
\begin{columns}
\column{0.5\linewidth}
\centering
\begin{tikzpicture}
\onslide<1->{
\draw[<->] (-0.8,0) -- (0.8,0);
}
\end{tikzpicture}
\column{0.5\linewidth}
\begin{tikzpicture}
\node at (0,0) {\includegraphics[width=6cm]{example-image-a}};
\pause
\node at (0,0) {\includegraphics[width=\the\mysize mm]{example-image-b}};
\end{tikzpicture}
\end{columns}
\end{frame}
\end{document}
这会产生一个投影仪动画,将第二张图片放大到第一张图片的中心,但是通过调整第二个节点的位置,您可以控制这个位置。
我应该提到,动画只有在满足某些要求时才有效。我使用 acroread 的全屏模式。(并且该\transduration<2-42>{0.4}
命令允许您调整速度。)
答案2
这是 @marmot 答案的一个稍微修改的版本,结合了他的动画方法这个答案.这样就可以包含一个每个动画步骤中都有新的图形文件并且“缩放”包含在这些图形所显示的内容中(它们必须在外部创建)。 这是我在问题中最初想要表达的意思。
\documentclass{beamer}
\usetheme{boxes}
\usepackage[export]{adjustbox}
\usepackage{tikz,animate}
\usetikzlibrary{shapes,arrows,positioning}
\usetikzlibrary{decorations.pathreplacing,angles,quotes,decorations.pathmorphing}
\begin{document}
\begin{frame}{Hello}
\animate<2-9>
\newcount\mysize
%\animatevalue<2-42>{\mysize}{12}{52}
\transduration<2-7>{0.4}
\framesubtitle{I like it when it rains}
\begin{columns}
\column{0.5\linewidth}
\centering
\begin{tikzpicture}
\onslide<1->{
\draw[<->] (-0.8,0) -- (0.8,0);
}
\end{tikzpicture}
\column{0.5\linewidth}
\begin{tikzpicture}
\node at (0,0) {\includegraphics[width=6cm]{example-image-a}};
\foreach \x in {a,b,a,b,a,b}
{
\pause
\node at (0,0) {\includegraphics[width=6cm]{example-image-\x}};
}
\end{tikzpicture}
\end{columns}
\end{frame}
\end{document}