% dvips/Distiller workflow only \documentclass{article} \usepackage{amsmath} \usepackage[% web={ pro, designv, tight, % forcolorpaper, centertitlepage, dvipsnames, usesf }, uselayers, attachsource=tex, eforms, aebxmp, ]{aeb_pro} \usepackage{fancyvrb} \usepackage[nomessages]{fp} % % The versions of pstricks-add and pstricks should be % fairly recent. % \usepackage{pstricks-add} \usepackage[absolute,overlay]{textpos} \DeclareDocInfo { title=The AeB Pro Package\texorpdfstring{\\[1ex]}{: }Rollovers and Auto-anime, author=D. P. Story, university=Acro\negthinspace\TeX.Net, email=dpstory@acrotex.net, subject=Test file for the AeB Pro package, keywords={Adobe Acrobat, JavaScript}, talksite=http://www.acrotex.net, talkdate={January 12, 2018}, copyrightStatus=True, copyrightNotice={Copyright (C) \the\year, D. P. Story}, copyrightInfoURL=http://www.acrotex.net } \talkdateLabel{Published:} \newcommand{\cs}[1]{\texttt{\char`\\#1}} \newcommand\newtopic{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi \vskip\medskipamount\noindent} \newenvironment{sverbatim} {\par\footnotesize\verbatim}{\endverbatim} \def\AcroTeX{Acro\negthinspace\TeX} \begin{document} \maketitle \section{Layers and Animation} Animations are usually started and stopped using control buttons; however, you can create a rollover animation (using \cs{texHelp}) that starts automatically when the user rolls over the target word. The key to running an animation in a rollover is the \verb!\addJStexHelpEnter{}! command. The argument of this command is executed when the mouse pointer enters the target word. Similarly \verb!\addJStexHelpExit{}! inserts JavaScript that is executed when the mouse exits the target word. Finally, \cs{resetaddJStexHelp} resets the inserted \verb!! back to their default in preparation for the next rollover animation. Refer to the source file for details of setting up the rollover. \defineRC{roanime} {% \DeclareAnime{sinegraph}{10}{40} \def\thisframe{\animeBld\psplot[linecolor=red]{0}{\xi}{sin(x)}\eBld} \begin{minipage}{.65\linewidth}\centering \psset{llx =-12pt,lly=-12pt,urx =12pt,ury =12pt} % ,trigLabels=true,labelFontSize=\small \begin{psgraph*}[arrows=->,trigLabels=true,trigLabelBase=2,dx=\psPiH](0,0)(-.5,-1.5)(6.75,1.5){164pt}{70pt} \psset{algebraic=true}% \rput(4,1){$y=\sin(x)$} \FPdiv{\myDelta}{\psPiTwo}{\nFrames}% \def\xi{0}% \multido{\i=1+1}{\nFrames}{\FPadd{\xi}{\xi}{\myDelta}\thisframe} \end{psgraph*} \end{minipage} } \begin{rollover} \begin{textblock*}{.45\linewidth}[.5,.5](.5\paperwidth,.5\paperheight) \xBld{roanime}\psshadowbox[framesep=0pt]{\fcolorbox{red}{cornsilk}{% \parbox{\linewidth}{\insertRC{roanime}}}}\eBld \end{textblock*} \end{rollover} \begin{printRollover} \definePR{roanime}{\parbox{.4\linewidth}{\insertRC{roanime}}}\insertPR{roanime} \end{printRollover} Recall that the \emph{initial period} of the \addJStexHelpEnter{aebAnimeLayersForward(\animSpeed,\nFrames,"\animBaseName");}% \addJStexHelpExit{aebAnimeLayersClear(\animSpeed,\nFrames,"\animBaseName");}% \texHelp{roanime}{sine function}\resetaddJStexHelp\space is that portion of the graph over the interval $ [0, 2\pi] $. The verbatim listing of the \cs{texHelp} command for this animation is \begin{Verbatim}[xleftmargin=\parindent,fontsize=\small] \addJStexHelpExit{aebAnimeLayersClear(\animSpeed,\nFrames,"\animBaseName");}% \texHelp{roanime}{sine function}\resetaddJStexHelp \end{Verbatim} The arguments \cs{animSpeed}, \cs{nFrames}, and \cs{animBaseName} are defined by the \cs{DeclareAnime} command (not shown). \end{document}