我想,这是一个“最好有”的问题:
我正在使用该animate
软件包显示一系列软件对话框截图。在完成该系列的过程中,我添加了那个有用但外观丑陋的控制面板(是的,我尝试了不同的 fg/bg 颜色……但效果并不好)。这些截图是常见的<BACK/NEXT>
对话框。
是否有可能在这些动画命令中获取前进/NEXT>
后退<BACK
按钮区域中获取动画命令“前进/后退”,以便 - 类似于真实软件 - 读者必须单击屏幕截图中的“下一步”才能获得下一张图片,单击“后退”显示上一个屏幕截图?
希望我能表达得通俗易懂...
答案1
这是使用 JavaScript APIanimate
和\mediabutton
命令的一个很好的例子media9
一个很好的例子。
用户 Caramdir 的优秀图像包用于将按钮放置在动画上。但是,我们必须修补onimage.sty
才能不使用\includegraphics
。
为了编译下面的代码,请将示例图像文件从包复制mwe
到当前目录中,如下所示
cp $TEXMF/tex/latex/mwe/example-image-a.png ./example-image-1.png cp $TEXMF/tex/latex/mwe/example-image-b.png ./example-image-2.png cp $TEXMF/tex/latex/mwe/示例图像-c.png ./示例图像-3.png
因为我们需要编号的图像\animategraphics
。
\documentclass{beamer}
\usepackage{animate}
\usepackage{media9} % buttons via \mediabutton
%get it from http://bazaar.launchpad.net/~tex-sx/tex-sx/development/view/head:/onimage.dtx
\usepackage{onimage}
%patch onimage.sty not to use \includegraphics
\makeatletter
\def\tikzonimage@opt[#1]#2{%
\begin{tikzpicture}
%\node[inner sep=0] (image) {\includegraphics[#1]{#2}};
\node[inner sep=0] (image) {#2};
\begin{tikzonnode}{image}%
}
\makeatother
\begin{document}
\begin{frame}
\begin{tikzonimage}{%
\animategraphics[method=ocg,label=myGUI,step,nomouse,width=0.8\linewidth]{1}{example-image-}{1}{3}
}[tsx/show help lines]
\node at (0.8 , 0.8) [anchor=south east, inner sep=0pt, outer sep=0pt] {
\mediabutton[
jsaction={try{anim.myGUI.frameNum--}catch(e){}}
]{\fbox{\small\strut back}}};
\node at (0.8 , 0.8) [anchor=south west, inner sep=0pt, outer sep=0pt] {
\mediabutton[
jsaction={try{anim.myGUI.frameNum++}catch(e){}}
]{\fbox{\small\strut next}}};
\end{tikzonimage}
\end{frame}
\end{document}