我使用 R 中的动画包创建了多个.pdf
带有动画的文件。例如,我有这两个图:
\documentclass{article}
\usepackage{animate}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{center}
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_7}{}{}
\end{center}
\end{figure}
\begin{figure}
\begin{center}
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_6}{}{}
\end{center}
\end{figure}
\end{document}
以下是 .pdf 文件:
我想将绘图数量减少为一个。因此,我希望将一个绘图叠加在另一个绘图之上,并能够使用选项卡在这些绘图之间导航,同时还能够在每个绘图的动画之间导航,而这正是我已有的功能。因此,我猜想这个想法是在两个维度上制作动画:一个用于绘图,另一个用于每个绘图的动画。为了更清楚地说明我的观点,这里有一张粗略绘制的 MS 绘画图像:
当然,最终产品看起来就像一个图,有两个选项卡用于在每个动画之间导航。有没有办法在 LaTeX 中做到这一点?我查看了动画包文档,但找不到太多内容。如果没有,我会寻找其他选项。当然,任何克服这个问题的想法都会受到赞赏。谢谢!
更新:我尝试使用 2 个以上图来执行一些代码:
\documentclass{article}
\usepackage{animate}[2015/03/11]
\usepackage{graphicx}
\usepackage{ocgx}
\usepackage{fixocgx}
\begin{document}
\begin{figure}\centering
\makebox[0pt][l]{%
\begin{ocg}{A}{A}{1}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_5}{}{}%
\end{ocg}%
}%
\begin{ocg}{B}{B}{0}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_6}{}{}%
\end{ocg}
\begin{ocg}{C}{C}{0}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_7}{}{}%
\end{ocg}
\actionsocg{A B C}{A}{B C}{\fbox{Plot A}}
\actionsocg{A B C}{B}{A C}{\fbox{Plot B}}
\actionsocg{A B C}{C}{A B}{\fbox{Plot C}}
\caption{Two animations on different layers}
\end{figure}
\end{document}
但我发现了一些奇怪的事情:
当空间用完时,有没有办法将所有地块放在一个地方,而不是将一个地块放在另一个地块之上?
答案1
ocgx
可以使用和包将动画放在 PDF 图层上fixocgx
。需要包animate
版本。2015/03/11
\documentclass{article}
\usepackage{animate}[2015/03/11]
\usepackage{graphicx}
\usepackage{ocgx}
\usepackage{fixocgx}[2015/03/11]
\begin{document}
\begin{figure}\centering
\makebox[0pt][l]{%
\begin{ocg}{A}{A}{1}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_5}{}{}%
\end{ocg}%
}%
\makebox[0pt][l]{%
\begin{ocg}{B}{B}{0}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_6}{}{}%
\end{ocg}%
}%
\begin{ocg}{C}{C}{0}%
\animategraphics[controls,width=.8\linewidth]{20}{Rplot8_7}{}{}%
\end{ocg}
\actionsocg{}{A}{B C}{\fbox{Plot A}}
\actionsocg{}{B}{A C}{\fbox{Plot B}}
\actionsocg{}{C}{A B}{\fbox{Plot C}}
\caption{Three animations on different layers}
\end{figure}
\end{document}
除了最后一个 ocg 环境外,每个 ocg 环境都必须放置在零宽度中\makebox
。此外,中间的行尾必须用 '%' 保护,以防止插入虚假空格。然后,所有动画图都放在彼此的顶部。