我想显示 20 个(或更多)单独的动画帧,并让用户“播放”这些帧以创建动画幻觉。对于每种情况,我都提供了一个 MWE,取自这里。
通过为帧系列中的每个图像创建指向下一图像的链接,我可以通过快速点击每个图像来创建动画幻觉。但是,快速点击相当痛苦,并且可能会创建不必要的快捷方式,具体取决于用户使用的 pdf 查看器。
% ---------------------------- Hyperlink animation --------------------------- %
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\usepackage{hyperref}
\pgfplotsset{width=7cm,compat=1.16}
\begin{document}
\foreach \i [count=\j] in {-4.5,-4,...,4.5}{
\hypertarget{link\the\numexpr\j-1\relax}{}
\hyperlink{link\j}{
\begin{tikzpicture}
\begin{axis}[grid=major,view={20}{40},z buffer=sort, data cs=polar]
\addplot3 [surf, domain=0:360, domain y=5-\i:10,samples=30, samples y=1+\j]
{-y+5};
\addplot3 [data cs=cart,surf,domain=-10:10,samples=2, opacity=0.5,point
meta=0]
{\i};
\addplot3 [domain=0:360, samples y=0, samples=30, thick, z buffer=auto]
(x,5.1-\i,\i);
\addplot3 [surf,domain=0:360, domain y=0:5-\i,samples=30, samples y=21-\j]
{-y+5};
\end{axis}
\end{tikzpicture}}}
\end{document}
通过使用独立类,我可以创建带有单独图形的小页面,稍后可以将其添加到主文档中。使用此方法,您可以通过切换到下一页轻松查看动画,只需按住“右箭头”键即可。但是,此方法会创建 20 个(或更多)与计数无关的页面。
% --------------------------- Multi-page animation --------------------------- %
\documentclass[multi=my,border=10pt]{standalone}
\usepackage{pgfplots}
\usepackage{hyperref}
\pgfplotsset{width=7cm,compat=1.16}
\begin{document}
\foreach \i [count=\j] in {-4.5,-4,...,4.5}{
\begin{my}
\begin{tikzpicture}
\begin{axis}[grid=major,view={20}{40},z buffer=sort, data cs=polar]
\addplot3 [surf, domain=0:360, domain y=5-\i:10,samples=30, samples y=1+\j]
{-y+5};
\addplot3 [data cs=cart,surf,domain=-10:10,samples=2, opacity=0.5,point
meta=0]
{\i};
\addplot3 [domain=0:360, samples y=0, samples=30, thick, z buffer=auto]
(x,5.1-\i,\i);
\addplot3 [surf,domain=0:360, domain y=0:5-\i,samples=30, samples y=21-\j]
{-y+5};
\end{axis}
\end{tikzpicture}
\end{my}}
\end{document}
解决我的问题:
- 有没有办法创建带有内置快捷方式的超链接,以便用户可以使用它跳转到下一张图片?这样,我就可以将所有图片添加到 1 或 2 页,然后使用键盘快捷键跳转到下一页。
- 或者有没有办法不计算一组页面,无论是通过乳胶文档本身还是通过 pdf 查看器,但仍然允许 pdf 查看器使用下一页快捷方式来查看动画?