
Я полагаю, это вопрос из разряда «приятно услышать»:
Я использую animate
пакет для показа последовательности скриншотов диалогов программного обеспечения. Проходя через серию, я добавил эту полезную, но уродливую на вид панель управления (да, я пробовал разные цвета fg/bg... это не улучшило ситуацию). Скриншоты — это обычные <BACK/NEXT>
диалоги.
Можно ли реализовать команду анимации ВПЕРЕД/НАЗАД в этих областях NEXT>
и <BACK
кнопках на снимках экрана, чтобы — как и в реальном программном обеспечении — читателю приходилось нажимать «ДАЛЕЕ» на снимке экрана, чтобы получить следующую картинку, а нажатие «НАЗАД» показывало предыдущий снимок экрана?
Надеюсь, я смог выразить это понятно...
решение1
Это хороший пример использования JavaScript API animate
и \mediabutton
команды media9
.
Пользователь Caramdir's отличныйнаизображениеПакет используется для размещения кнопок на анимации. Однако нам нужно пропатчить, 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/example-image-c.png ./example-image-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}