From a06e21410d38c53231a9a5432fc9f10715f11b88 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 11 Sep 2018 20:29:10 +0900 Subject: update aeb-pro with ctan2tds script --- texmf-dist/tex/latex/aeb-pro/aeb_pro.sty | 706 +++---- texmf-dist/tex/latex/aeb-pro/aeblayers.def | 622 +++--- texmf-dist/tex/latex/aeb-pro/aebpro.def | 2474 ++++++++++++------------ texmf-dist/tex/latex/aeb-pro/anime_support.def | 986 +++++----- texmf-dist/tex/latex/aeb-pro/btnnanime.def | 112 +- texmf-dist/tex/latex/aeb-pro/create_icon.def | 312 +-- texmf-dist/tex/latex/aeb-pro/linkto.def | 528 ++--- texmf-dist/tex/latex/aeb-pro/ocganime.def | 78 +- 8 files changed, 2909 insertions(+), 2909 deletions(-) (limited to 'texmf-dist/tex') diff --git a/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty index 76c534b4..e791cdda 100644 --- a/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty +++ b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty @@ -1,353 +1,353 @@ -%% -%% This is file `aeb_pro.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,package') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\NeedsTeXFormat{LaTeX2e}[1997/12/01] -\ProvidesPackage{aeb_pro} - [2018/02/17 v2.9b aeb_pro: A support package (dps)] -\RequirePackage{ifpdf}[2006/02/20] -\RequirePackage{ifxetex}[2006/08/21] -\RequirePackage{xkeyval} -\let\aebp@One=1 \let\aebp@Zero=0 -\let\aebp@YES=y \let\aebp@NO=n -\def\ap@csarg#1#2{\expandafter#1\csname#2\endcsname} -\define@key{aebpreq}{req}[]{\def\eq@pkgReq{#1}} -\def\aebp@setCCOptions#1#2{%#1=package #2=options - \ap@csarg\edef{aeb@#1@opts}{#2}} -\@tfor\aeb@pcks:={web}{exerquiz}{dljslib}% -{eforms}{insdljs}{eq2db}{aebxmp}{hyperref}{graphicxsp}{rmannot}\do -{% - \ap@csarg\let{aeb@\aeb@pcks @req}\@empty - \ap@csarg\let{aeb@\aeb@pcks @opts}\relax - \edef\aeb@pack@def{\noexpand - \define@key{aeb_pro.sty}{\aeb@pcks}[]{% - \noexpand\aebp@setCCOptions{\aeb@pcks}{##1}}% - }\aeb@pack@def -} -\let\aebp@passDriver\aebp@YES -\ifpdf\let\aebp@passDriver\aebp@NO\else -\ifxetex\let\aebp@passDriver\aebp@NO\fi\fi -\define@choicekey+{aeb_pro.sty}{driver}% - {dvipsone,dvips,pdftex,dvipdfm,textures,% - dvipdfmx,xetex}{% - \def\aeb@driver{#1}\ifx\aeb@driver\@empty\else - \PassOptionsToPackage{#1}{web} - \PassOptionsToPackage{#1}{exerquiz} -\def\aebp@PassToHYIns{\PassOptionsToPackage{#1}{hyperref} - \PassOptionsToPackage{#1}{insdljs}} -\ifx\aebp@passDriver\aebp@YES - \expandafter\aebp@PassToHYIns\fi - \PassOptionsToPackage{#1}{eforms} - \PassOptionsToPackage{#1}{graphicxsp} - \fi -}{\PackageError{aeb_pro}{Bad choice for the driver, permissible values - \MessageBreak are dvipsone, dvips, pdftex, dvipdfm, - textures,\MessageBreak dvipdfmx, and xetex} - {Try again with a permissible driver name}} -\let\aeb@driver\@empty - -\newif\if@useacrobat \@useacrobatfalse -\DeclareOptionX{useacrobat}{\@useacrobattrue} -\newif\if@gopro \@goprotrue -\DeclareOptionX{nopro}{\@useacrobattrue\@goprofalse - \PassOptionsToPackage{nopro}{insdljs}} -\def\aeb@InputAeBPro{\InputIfFileExists{aebpro.def}% - {\PackageInfo{aeb_pro}{Inputting code for the pro option}}% - {\PackageInfo{aeb_pro}{Cannot find aebpro.def. - Reinstall or refresh your file name database, as needed.}}} -\AtEndOfPackage{\aeb@InputAeBPro} -\let\aebp@uselayers=0 -\DeclareOptionX{uselayers}{% - \ifx\aebp@uselayers0\AtEndOfPackage{\aeb@InputAeBLayers}% - \global\let\aebp@uselayers=1\fi -} -\def\aeb@InputAeBLayers{\InputIfFileExists{aeblayers.def}% - {\PackageInfo{aeb_pro}{Inputting code for uselayers option}}% - {\PackageInfo{aeb_pro}{Cannot find aeblayers.def. - Reinstall or refresh your file name database.}}} -\DeclareOptionX{gopro}{\PassOptionsToPackage{pro}{web}} -\DeclareOptionX{attachsource}{\def\aeb@attachsource{#1}} -\let\aeb@attachsource\@empty -\DeclareOptionX{attachments}{\def\aeb@attachments{#1}} -\let\aeb@attachments\@empty -\newif\ifoptattachments\optattachmentsfalse -\newif\ifoptattachmentsTaken\optattachmentsTakenfalse -\DeclareOptionX{optattachments}{% - \optattachmentsTakentrue - \optattachmentstrue} -\DeclareOptionX{!optattachments}{% - \optattachmentsTakentrue - \optattachmentsfalse} -\def\@aeb@InputUnicodes{\InputIfFileExists{linkto.def}% - {\PackageInfo{aeb_pro}{Inputting code for the linktoattachments - option}}{\PackageWarning{aeb_pro}{Cannot find linkto.def. - Reinstall or refresh your file name database, as needed.}}} -\let\aeb@InputUnicodes\@empty -\DeclareOptionX{linktoattachments}{% dps23 - \let\aeb@InputUnicodes\@aeb@InputUnicodes -} -\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23 -\let\aeb@childofInput\@empty -\let\aeb@childof\@empty -\DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{% - \InputIfFileExists{\aeb@childof_xref.cut}{}{}}} -\def\inputAttachmentRelatedFiles{% - \aeb@InputUnicodes - \aeb@childofInput -} -\AtEndOfPackage{\inputAttachmentRelatedFiles} -\let\inputCommonAnimeCode\relax -\DeclareOptionX{ocganime}{% - \ifx\aebp@uselayers0\ExecuteOptionsX{uselayers} - \global\let\aebp@uselayers=1\fi - \ifx\inputCommonAnimeCode\relax - \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode - \AtEndOfPackage{\inputCommonAnimeCode}\fi - \AtEndOfPackage{\inputOcgAnimeCode} -} -\DeclareOptionX{btnanime}{% - \ifx\inputCommonAnimeCode\relax - \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode - \AtEndOfPackage{\inputCommonAnimeCode}\fi - \AtEndOfPackage{\inputBtnAnimeCode} -} -\def\inputBtnAnimeCode{\InputIfFileExists{btnnanime.def} - {\PackageInfo{aeb_pro}{inputting btnnanime.def}} - {\PackageWarning{aeb_pro}{cannot find btnnanime.def}}}% -\def\inputOcgAnimeCode{\InputIfFileExists{ocganime.def} - {\PackageInfo{aeb_pro}{inputting ocganime.def}} - {\PackageWarning{aeb_pro}{cannot find ocganime.def}}}% -\def\aebp@inputCommonAnimeCode{\InputIfFileExists{anime_support.def} - {\PackageInfo{aeb_pro}{inputting anime_support.def}} - {\PackageWarning{aeb_pro}{cannot find anime_support.def}}}% -\let\pathToBtnCtrlIcons\@empty -\let\ExecuteOptionsXSAVE\ExecuteOptionsX -\let\ExecuteOptionsX\@gobble -\InputIfFileExists{aebpro.cfg}{}{} -\let\ExecuteOptionsX\ExecuteOptionsXSAVE -\ifpdf\ExecuteOptionsX{driver=pdftex}\else - \ifxetex\ExecuteOptionsX{driver=xetex}\else - \@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{driver=dvips}} - {\ExecuteOptionsX{driver=dvipsone}}\fi\fi -\ProcessOptionsX -\edef\ap@restoreCats{% - \catcode`\noexpand\"=\the\catcode`\"\relax - \catcode`\noexpand\,=\the\catcode`\,\relax - \catcode`\noexpand\(=\the\catcode`\(\relax - \catcode`\noexpand\!=\the\catcode`\!\relax -} -\@makeother\"\@makeother\,\@makeother\(\@makeother\! -\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{} -\pdfmarkuptrue -\def\aeb@testdriver{dvips}% -\ifx\aeb@testdriver\aeb@driver - \@useacrobattrue\else -\def\aeb@testdriver{dvipsone}% -\ifx\aeb@testdriver\aeb@driver - \@useacrobattrue\else - \pdfmarkupfalse -\fi\fi -\if@gopro\else -\let\aebp@isattach\aebp@NO -\ifx\aeb@attachsource\@empty\else\let\aebp@isattach\aebp@YES\fi -\ifx\aeb@attachments\@empty\else\let\aebp@isattach\aebp@YES\fi -\let\aeb@attachsource\@empty -\let\aeb@attachments\@empty -\optattachmentsfalse\optattachmentsTakenfalse -\let\inputAttachmentRelatedFiles\relax -\ifx\aebp@isattach\aebp@YES - \PackageWarningNoLine{aeb_pro}{The various attachment options - are not\MessageBreak supported with the nopro option, - ignoring them}\fi -\fi -\ifpdfmarkup\else -\if\aebp@uselayers1 - \def\aeb@InputAeBLayers{\PackageError{aeb_pro} - {The uselayers and ocganime options are not supported,\MessageBreak - with the useacrobat and nopro options,\MessageBreak - ignoring these options}{Remove dependence on layers, - or obtain\MessageBreak the full Acrobat product}} - \let\texHelpIndicator\@gobble - \let\addJStexHelpEnter\@gobble - \let\addJStexHelpExit\@gobble - \let\texHelp\@gobbletwo - \def\xBld#1\eBld{} - \let\defineRC\@gobbletwo - \let\insertRC\@gobble - \let\definePR\@gobbletwo - \let\insertPR\@gobble - \let\proofRollovers\relax - \let\texPHProof\@gobbletwo - \newcommand\animeBld[1][]{} - \def\DeclareAnime#1#2#3{} - \newcommand\backAnimeBtn[3][]{} - \newcommand\clearAnimeBtn[3][]{} - \newcommand\forwardAnimeBtn[3][]{} -\fi\fi -\def\aebp@PkgWarningi#1{\ifpdfmarkup\else\PackageWarningNoLine{aeb_pro} - {The #1\space package requires Adobe Distiller,\MessageBreak - do not load this package}\fi} -\def\aebp@PkgWarningii#1{\PackageWarningNoLine{aeb_pro} - {The #1\space package requires Adobe Distiller,\MessageBreak - ignoring #1\space as an option}} -\def\aebp@PkgWarningiii#1{\PackageWarningNoLine{aeb_pro} - {The #1\space package requires Adobe Distiller or\MessageBreak - the useacrobat option (Acrobat required),\MessageBreak - ignoring #1\space as an option}} -\providecommand\getargsii[2]{\def\aeb@argi{#1}\def\aeb@argii{#2}} -\newcommand\ap@RP[2][]{\def\@rgi{#1}\def\@rgii{#2}% - \ifx\@rgi\@empty\else\edef\@rgi{[\@rgi]}\fi - \@ifnextchar[%] - {\ap@@RP}{\ap@@RP[]}} -\def\ap@@RP[#1]{\def\@rgiii{#1}% - \let\XKV@rm\@empty\let\eq@pkgReq\@empty - \@ifundefined{aeb@\@rgii @opts} - {\ifx\@rgi\@empty\else - \ap@csarg\edef{aeb@\@rgii @req}{#1}\fi - }{% - \edef\x{\noexpand - \setkeys*{aebpreq}{\@nameuse{aeb@\@rgii @opts}}}\x - \edef\eq@theseOpts{\XKV@rm}% - \ap@csarg\edef{aeb@\@rgii @req}{\eq@pkgReq}% - \edef\x{\noexpand - \PassOptionsToPackage{\eq@theseOpts}{\@rgii}}\x - }% - \ifx\@rgiii\@empty - \if!\@nameuse{aeb@\@rgii @req}!\else - \ap@csarg\edef{aeb@\@rgii @req}{[\@nameuse{aeb@\@rgii @req}]}\fi - \else - \@ifl@t@r{#1}{\@nameuse{aeb@\@rgii @req}}% - {\if!\@nameuse{aeb@\@rgii @req}!\else - \ap@csarg\edef{aeb@\@rgii @req}% - {[\@nameuse{aeb@\@rgii @req}]}\fi - }{\ap@csarg\edef{aeb@\@rgii @req}{[#1]}}% - \fi - \edef\x{\noexpand - \RequirePackage{\@rgii}\@nameuse{aeb@\@rgii @req}}\x -} -\@ifpackageloaded{web}{} -{% - \@ifundefined{aeb@web@opts}{}{\ap@RP{web}}% -} -\@ifpackageloaded{exerquiz}{} -{% - \@ifundefined{aeb@exerquiz@opts}{}{\ap@RP{exerquiz}}% -} -\@ifpackageloaded{hyperref}{} -{% - \@ifundefined{aeb@hyperref@opts}{}{\ap@RP{hyperref}}% -} -\@ifpackageloaded{eq2db}{} -{% - \@ifundefined{aeb@eq2db@opts}{}{\ap@RP{eq2db}}% -} -\@ifpackageloaded{dljslib}{} -{% - \@ifundefined{aeb@dljslib@opts}{}{\ap@RP{dljslib}}% -} -\@ifpackageloaded{insdljs}{\let\execjs\aebp@YES} -{% - \ap@RP[execJS]{insdljs}[2016/07/31]% incls conv-xkv -} -\@ifpackageloaded{eforms}{\let\execjs\aebp@YES} -{% - \@ifundefined{aeb@eforms@opts}{} - {\ap@RP[execJS]{eforms}[2017/01/03]}% -} -\@ifpackageloaded{aebxmp}{\aebp@PkgWarningi{aebxmp}} -{% - \@ifundefined{aeb@aebxmp@opts}{} - {\edef\temp@exp{\ifpdfmarkup - \noexpand\ap@RP{aebxmp}\else - \if@useacrobat - \noexpand\ap@RP{aebxmp}[2016/05/12]\else - \noexpand\aebp@PkgWarningiii{aebxmp}\fi\fi}\temp@exp} -} -\@ifpackageloaded{graphicxsp}{\aebp@PkgWarningi{graphicxsp}} -{% - \@ifundefined{aeb@graphicxsp@opts}{} - {\edef\temp@exp{\ifpdfmarkup - \noexpand\ap@RP{graphicxsp}\else - \noexpand\aebp@PkgWarningii{graphicxsp}\fi}\temp@exp} -} -\@ifpackageloaded{rmannot}{\aebp@PkgWarningi{rmannot}} -{% - \@ifundefined{aeb@rmannot@opts}{} - {\edef\temp@exp{\ifpdfmarkup\noexpand\ap@RP{rmannot}\else - \noexpand\aebp@PkgWarningii{rmannot}\fi}\temp@exp} -} -\let\execjs\aebp@YES -\RequirePackage{comment} -\RequirePackage{calc} -\RequirePackage{eso-pic} -\ifx\aeb@InputUnicodes\@empty\else\expandafter -\ap@RequireUnicode\fi% dps23 -\ifpdfmarkup\else\if\aebp@uselayers1 - \excludecomment{printRollover}% - \excludecomment{rollover}% -\fi\fi -\def\aeb@IWVO{\immediate\write\verbatim@out} -\newsavebox{\aebsavehelp} -\definecolor{webblue}{rgb}{0,0,.8} -\newcommand{\pdfHelpIndicatorColor}{webblue} -\newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox - {\footnotesize\negthinspace\ding{109}}% - \raisebox{.225ex}{\llap{\color{\pdfHelpIndicatorColor}% - \tiny?\hspace{1.3ex}}}}$} -\def\pdfHelpCnt{0} -\newcommand{\pdfHelp}{\@ifstar{{\count0=\pdfHelpCnt\relax -\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0 }}% - \pdfHelpi{pdfhelp-\pdfHelpCnt}}{\pdfHelpi}} -\newcommand{\pdfHelpi}[3]{% - \let\rollormargstring\texorpdfstring - \sbox{\aebsavehelp}{\pdfHelpIndicator{#3}}% - \makebox[0pt][l]{\makespecialJS\pushButton[\S{S}\BG{}\BC{}\H{N} - \TU{#2}]{#1}{\wd\aebsavehelp}{11bp}}\usebox{\aebsavehelp}% - \let\rollormargstring\@gobbletwo -} -\newcommand\pdfPHProof[3]{\small\raggedright\texttt{#3}: #2} -\newcommand\pdfPrintHelp{\@ifstar{{\count0=\pdfHelpCnt\relax -\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0}}% - \pdfPrintHelpi{pdfhelp-\pdfHelpCnt}}{\pdfPrintHelpi}} -\newcommand\pdfPrintHelpi[3]{% - \let\rollormargstring\texorpdfstring - \ifeqforpaper - \ifeq@proofing - \pdfHelp{#1}{#2}{#3}\marginpar{\Hy@pdfstringfalse - \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\else - \pdfHelpIndicator{#3}\fi - \else - \pdfHelp{#1}{#2}{#3}\ifeq@proofing - \marginpar{\Hy@pdfstringfalse - \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\fi - \fi - \let\rollormargstring\@gobbletwo -} -\AtEndOfPackage{\@nameuse{aeb@inputAttachments}} -\AtBeginDocument{\@nameuse{aeb@setPDFPackage}} -\@ifpackageloaded{web}{} - {\def\aebwritelastpage{% - \immediate\write\@auxout{\string\expandafter\string\gdef - \string\csname\space aebLastPage\string\endcsname{\arabic{page}}}} - \AtEndDocument{\clearpage\addtocounter{page}{-1}\aebwritelastpage - \addtocounter{page}{1}}% -} -\ap@restoreCats -\endinput -%% -%% End of file `aeb_pro.sty'. +%% +%% This is file `aeb_pro.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e}[1997/12/01] +\ProvidesPackage{aeb_pro} + [2018/02/17 v2.9b aeb_pro: A support package (dps)] +\RequirePackage{ifpdf}[2006/02/20] +\RequirePackage{ifxetex}[2006/08/21] +\RequirePackage{xkeyval} +\let\aebp@One=1 \let\aebp@Zero=0 +\let\aebp@YES=y \let\aebp@NO=n +\def\ap@csarg#1#2{\expandafter#1\csname#2\endcsname} +\define@key{aebpreq}{req}[]{\def\eq@pkgReq{#1}} +\def\aebp@setCCOptions#1#2{%#1=package #2=options + \ap@csarg\edef{aeb@#1@opts}{#2}} +\@tfor\aeb@pcks:={web}{exerquiz}{dljslib}% +{eforms}{insdljs}{eq2db}{aebxmp}{hyperref}{graphicxsp}{rmannot}\do +{% + \ap@csarg\let{aeb@\aeb@pcks @req}\@empty + \ap@csarg\let{aeb@\aeb@pcks @opts}\relax + \edef\aeb@pack@def{\noexpand + \define@key{aeb_pro.sty}{\aeb@pcks}[]{% + \noexpand\aebp@setCCOptions{\aeb@pcks}{##1}}% + }\aeb@pack@def +} +\let\aebp@passDriver\aebp@YES +\ifpdf\let\aebp@passDriver\aebp@NO\else +\ifxetex\let\aebp@passDriver\aebp@NO\fi\fi +\define@choicekey+{aeb_pro.sty}{driver}% + {dvipsone,dvips,pdftex,dvipdfm,textures,% + dvipdfmx,xetex}{% + \def\aeb@driver{#1}\ifx\aeb@driver\@empty\else + \PassOptionsToPackage{#1}{web} + \PassOptionsToPackage{#1}{exerquiz} +\def\aebp@PassToHYIns{\PassOptionsToPackage{#1}{hyperref} + \PassOptionsToPackage{#1}{insdljs}} +\ifx\aebp@passDriver\aebp@YES + \expandafter\aebp@PassToHYIns\fi + \PassOptionsToPackage{#1}{eforms} + \PassOptionsToPackage{#1}{graphicxsp} + \fi +}{\PackageError{aeb_pro}{Bad choice for the driver, permissible values + \MessageBreak are dvipsone, dvips, pdftex, dvipdfm, + textures,\MessageBreak dvipdfmx, and xetex} + {Try again with a permissible driver name}} +\let\aeb@driver\@empty + +\newif\if@useacrobat \@useacrobatfalse +\DeclareOptionX{useacrobat}{\@useacrobattrue} +\newif\if@gopro \@goprotrue +\DeclareOptionX{nopro}{\@useacrobattrue\@goprofalse + \PassOptionsToPackage{nopro}{insdljs}} +\def\aeb@InputAeBPro{\InputIfFileExists{aebpro.def}% + {\PackageInfo{aeb_pro}{Inputting code for the pro option}}% + {\PackageInfo{aeb_pro}{Cannot find aebpro.def. + Reinstall or refresh your file name database, as needed.}}} +\AtEndOfPackage{\aeb@InputAeBPro} +\let\aebp@uselayers=0 +\DeclareOptionX{uselayers}{% + \ifx\aebp@uselayers0\AtEndOfPackage{\aeb@InputAeBLayers}% + \global\let\aebp@uselayers=1\fi +} +\def\aeb@InputAeBLayers{\InputIfFileExists{aeblayers.def}% + {\PackageInfo{aeb_pro}{Inputting code for uselayers option}}% + {\PackageInfo{aeb_pro}{Cannot find aeblayers.def. + Reinstall or refresh your file name database.}}} +\DeclareOptionX{gopro}{\PassOptionsToPackage{pro}{web}} +\DeclareOptionX{attachsource}{\def\aeb@attachsource{#1}} +\let\aeb@attachsource\@empty +\DeclareOptionX{attachments}{\def\aeb@attachments{#1}} +\let\aeb@attachments\@empty +\newif\ifoptattachments\optattachmentsfalse +\newif\ifoptattachmentsTaken\optattachmentsTakenfalse +\DeclareOptionX{optattachments}{% + \optattachmentsTakentrue + \optattachmentstrue} +\DeclareOptionX{!optattachments}{% + \optattachmentsTakentrue + \optattachmentsfalse} +\def\@aeb@InputUnicodes{\InputIfFileExists{linkto.def}% + {\PackageInfo{aeb_pro}{Inputting code for the linktoattachments + option}}{\PackageWarning{aeb_pro}{Cannot find linkto.def. + Reinstall or refresh your file name database, as needed.}}} +\let\aeb@InputUnicodes\@empty +\DeclareOptionX{linktoattachments}{% dps23 + \let\aeb@InputUnicodes\@aeb@InputUnicodes +} +\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23 +\let\aeb@childofInput\@empty +\let\aeb@childof\@empty +\DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{% + \InputIfFileExists{\aeb@childof_xref.cut}{}{}}} +\def\inputAttachmentRelatedFiles{% + \aeb@InputUnicodes + \aeb@childofInput +} +\AtEndOfPackage{\inputAttachmentRelatedFiles} +\let\inputCommonAnimeCode\relax +\DeclareOptionX{ocganime}{% + \ifx\aebp@uselayers0\ExecuteOptionsX{uselayers} + \global\let\aebp@uselayers=1\fi + \ifx\inputCommonAnimeCode\relax + \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode + \AtEndOfPackage{\inputCommonAnimeCode}\fi + \AtEndOfPackage{\inputOcgAnimeCode} +} +\DeclareOptionX{btnanime}{% + \ifx\inputCommonAnimeCode\relax + \let\inputCommonAnimeCode\aebp@inputCommonAnimeCode + \AtEndOfPackage{\inputCommonAnimeCode}\fi + \AtEndOfPackage{\inputBtnAnimeCode} +} +\def\inputBtnAnimeCode{\InputIfFileExists{btnnanime.def} + {\PackageInfo{aeb_pro}{inputting btnnanime.def}} + {\PackageWarning{aeb_pro}{cannot find btnnanime.def}}}% +\def\inputOcgAnimeCode{\InputIfFileExists{ocganime.def} + {\PackageInfo{aeb_pro}{inputting ocganime.def}} + {\PackageWarning{aeb_pro}{cannot find ocganime.def}}}% +\def\aebp@inputCommonAnimeCode{\InputIfFileExists{anime_support.def} + {\PackageInfo{aeb_pro}{inputting anime_support.def}} + {\PackageWarning{aeb_pro}{cannot find anime_support.def}}}% +\let\pathToBtnCtrlIcons\@empty +\let\ExecuteOptionsXSAVE\ExecuteOptionsX +\let\ExecuteOptionsX\@gobble +\InputIfFileExists{aebpro.cfg}{}{} +\let\ExecuteOptionsX\ExecuteOptionsXSAVE +\ifpdf\ExecuteOptionsX{driver=pdftex}\else + \ifxetex\ExecuteOptionsX{driver=xetex}\else + \@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{driver=dvips}} + {\ExecuteOptionsX{driver=dvipsone}}\fi\fi +\ProcessOptionsX +\edef\ap@restoreCats{% + \catcode`\noexpand\"=\the\catcode`\"\relax + \catcode`\noexpand\,=\the\catcode`\,\relax + \catcode`\noexpand\(=\the\catcode`\(\relax + \catcode`\noexpand\!=\the\catcode`\!\relax +} +\@makeother\"\@makeother\,\@makeother\(\@makeother\! +\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{} +\pdfmarkuptrue +\def\aeb@testdriver{dvips}% +\ifx\aeb@testdriver\aeb@driver + \@useacrobattrue\else +\def\aeb@testdriver{dvipsone}% +\ifx\aeb@testdriver\aeb@driver + \@useacrobattrue\else + \pdfmarkupfalse +\fi\fi +\if@gopro\else +\let\aebp@isattach\aebp@NO +\ifx\aeb@attachsource\@empty\else\let\aebp@isattach\aebp@YES\fi +\ifx\aeb@attachments\@empty\else\let\aebp@isattach\aebp@YES\fi +\let\aeb@attachsource\@empty +\let\aeb@attachments\@empty +\optattachmentsfalse\optattachmentsTakenfalse +\let\inputAttachmentRelatedFiles\relax +\ifx\aebp@isattach\aebp@YES + \PackageWarningNoLine{aeb_pro}{The various attachment options + are not\MessageBreak supported with the nopro option, + ignoring them}\fi +\fi +\ifpdfmarkup\else +\if\aebp@uselayers1 + \def\aeb@InputAeBLayers{\PackageError{aeb_pro} + {The uselayers and ocganime options are not supported,\MessageBreak + with the useacrobat and nopro options,\MessageBreak + ignoring these options}{Remove dependence on layers, + or obtain\MessageBreak the full Acrobat product}} + \let\texHelpIndicator\@gobble + \let\addJStexHelpEnter\@gobble + \let\addJStexHelpExit\@gobble + \let\texHelp\@gobbletwo + \def\xBld#1\eBld{} + \let\defineRC\@gobbletwo + \let\insertRC\@gobble + \let\definePR\@gobbletwo + \let\insertPR\@gobble + \let\proofRollovers\relax + \let\texPHProof\@gobbletwo + \newcommand\animeBld[1][]{} + \def\DeclareAnime#1#2#3{} + \newcommand\backAnimeBtn[3][]{} + \newcommand\clearAnimeBtn[3][]{} + \newcommand\forwardAnimeBtn[3][]{} +\fi\fi +\def\aebp@PkgWarningi#1{\ifpdfmarkup\else\PackageWarningNoLine{aeb_pro} + {The #1\space package requires Adobe Distiller,\MessageBreak + do not load this package}\fi} +\def\aebp@PkgWarningii#1{\PackageWarningNoLine{aeb_pro} + {The #1\space package requires Adobe Distiller,\MessageBreak + ignoring #1\space as an option}} +\def\aebp@PkgWarningiii#1{\PackageWarningNoLine{aeb_pro} + {The #1\space package requires Adobe Distiller or\MessageBreak + the useacrobat option (Acrobat required),\MessageBreak + ignoring #1\space as an option}} +\providecommand\getargsii[2]{\def\aeb@argi{#1}\def\aeb@argii{#2}} +\newcommand\ap@RP[2][]{\def\@rgi{#1}\def\@rgii{#2}% + \ifx\@rgi\@empty\else\edef\@rgi{[\@rgi]}\fi + \@ifnextchar[%] + {\ap@@RP}{\ap@@RP[]}} +\def\ap@@RP[#1]{\def\@rgiii{#1}% + \let\XKV@rm\@empty\let\eq@pkgReq\@empty + \@ifundefined{aeb@\@rgii @opts} + {\ifx\@rgi\@empty\else + \ap@csarg\edef{aeb@\@rgii @req}{#1}\fi + }{% + \edef\x{\noexpand + \setkeys*{aebpreq}{\@nameuse{aeb@\@rgii @opts}}}\x + \edef\eq@theseOpts{\XKV@rm}% + \ap@csarg\edef{aeb@\@rgii @req}{\eq@pkgReq}% + \edef\x{\noexpand + \PassOptionsToPackage{\eq@theseOpts}{\@rgii}}\x + }% + \ifx\@rgiii\@empty + \if!\@nameuse{aeb@\@rgii @req}!\else + \ap@csarg\edef{aeb@\@rgii @req}{[\@nameuse{aeb@\@rgii @req}]}\fi + \else + \@ifl@t@r{#1}{\@nameuse{aeb@\@rgii @req}}% + {\if!\@nameuse{aeb@\@rgii @req}!\else + \ap@csarg\edef{aeb@\@rgii @req}% + {[\@nameuse{aeb@\@rgii @req}]}\fi + }{\ap@csarg\edef{aeb@\@rgii @req}{[#1]}}% + \fi + \edef\x{\noexpand + \RequirePackage{\@rgii}\@nameuse{aeb@\@rgii @req}}\x +} +\@ifpackageloaded{web}{} +{% + \@ifundefined{aeb@web@opts}{}{\ap@RP{web}}% +} +\@ifpackageloaded{exerquiz}{} +{% + \@ifundefined{aeb@exerquiz@opts}{}{\ap@RP{exerquiz}}% +} +\@ifpackageloaded{hyperref}{} +{% + \@ifundefined{aeb@hyperref@opts}{}{\ap@RP{hyperref}}% +} +\@ifpackageloaded{eq2db}{} +{% + \@ifundefined{aeb@eq2db@opts}{}{\ap@RP{eq2db}}% +} +\@ifpackageloaded{dljslib}{} +{% + \@ifundefined{aeb@dljslib@opts}{}{\ap@RP{dljslib}}% +} +\@ifpackageloaded{insdljs}{\let\execjs\aebp@YES} +{% + \ap@RP[execJS]{insdljs}[2016/07/31]% incls conv-xkv +} +\@ifpackageloaded{eforms}{\let\execjs\aebp@YES} +{% + \@ifundefined{aeb@eforms@opts}{} + {\ap@RP[execJS]{eforms}[2017/01/03]}% +} +\@ifpackageloaded{aebxmp}{\aebp@PkgWarningi{aebxmp}} +{% + \@ifundefined{aeb@aebxmp@opts}{} + {\edef\temp@exp{\ifpdfmarkup + \noexpand\ap@RP{aebxmp}\else + \if@useacrobat + \noexpand\ap@RP{aebxmp}[2016/05/12]\else + \noexpand\aebp@PkgWarningiii{aebxmp}\fi\fi}\temp@exp} +} +\@ifpackageloaded{graphicxsp}{\aebp@PkgWarningi{graphicxsp}} +{% + \@ifundefined{aeb@graphicxsp@opts}{} + {\edef\temp@exp{\ifpdfmarkup + \noexpand\ap@RP{graphicxsp}\else + \noexpand\aebp@PkgWarningii{graphicxsp}\fi}\temp@exp} +} +\@ifpackageloaded{rmannot}{\aebp@PkgWarningi{rmannot}} +{% + \@ifundefined{aeb@rmannot@opts}{} + {\edef\temp@exp{\ifpdfmarkup\noexpand\ap@RP{rmannot}\else + \noexpand\aebp@PkgWarningii{rmannot}\fi}\temp@exp} +} +\let\execjs\aebp@YES +\RequirePackage{comment} +\RequirePackage{calc} +\RequirePackage{eso-pic} +\ifx\aeb@InputUnicodes\@empty\else\expandafter +\ap@RequireUnicode\fi% dps23 +\ifpdfmarkup\else\if\aebp@uselayers1 + \excludecomment{printRollover}% + \excludecomment{rollover}% +\fi\fi +\def\aeb@IWVO{\immediate\write\verbatim@out} +\newsavebox{\aebsavehelp} +\definecolor{webblue}{rgb}{0,0,.8} +\newcommand{\pdfHelpIndicatorColor}{webblue} +\newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox + {\footnotesize\negthinspace\ding{109}}% + \raisebox{.225ex}{\llap{\color{\pdfHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} +\def\pdfHelpCnt{0} +\newcommand{\pdfHelp}{\@ifstar{{\count0=\pdfHelpCnt\relax +\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0 }}% + \pdfHelpi{pdfhelp-\pdfHelpCnt}}{\pdfHelpi}} +\newcommand{\pdfHelpi}[3]{% + \let\rollormargstring\texorpdfstring + \sbox{\aebsavehelp}{\pdfHelpIndicator{#3}}% + \makebox[0pt][l]{\makespecialJS\pushButton[\S{S}\BG{}\BC{}\H{N} + \TU{#2}]{#1}{\wd\aebsavehelp}{11bp}}\usebox{\aebsavehelp}% + \let\rollormargstring\@gobbletwo +} +\newcommand\pdfPHProof[3]{\small\raggedright\texttt{#3}: #2} +\newcommand\pdfPrintHelp{\@ifstar{{\count0=\pdfHelpCnt\relax +\advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0}}% + \pdfPrintHelpi{pdfhelp-\pdfHelpCnt}}{\pdfPrintHelpi}} +\newcommand\pdfPrintHelpi[3]{% + \let\rollormargstring\texorpdfstring + \ifeqforpaper + \ifeq@proofing + \pdfHelp{#1}{#2}{#3}\marginpar{\Hy@pdfstringfalse + \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\else + \pdfHelpIndicator{#3}\fi + \else + \pdfHelp{#1}{#2}{#3}\ifeq@proofing + \marginpar{\Hy@pdfstringfalse + \pdfPHProof{#1}{#2}{{\Hy@pdfstringtrue#3}}}\fi + \fi + \let\rollormargstring\@gobbletwo +} +\AtEndOfPackage{\@nameuse{aeb@inputAttachments}} +\AtBeginDocument{\@nameuse{aeb@setPDFPackage}} +\@ifpackageloaded{web}{} + {\def\aebwritelastpage{% + \immediate\write\@auxout{\string\expandafter\string\gdef + \string\csname\space aebLastPage\string\endcsname{\arabic{page}}}} + \AtEndDocument{\clearpage\addtocounter{page}{-1}\aebwritelastpage + \addtocounter{page}{1}}% +} +\ap@restoreCats +\endinput +%% +%% End of file `aeb_pro.sty'. diff --git a/texmf-dist/tex/latex/aeb-pro/aeblayers.def b/texmf-dist/tex/latex/aeb-pro/aeblayers.def index d879db39..1b567ce9 100644 --- a/texmf-dist/tex/latex/aeb-pro/aeblayers.def +++ b/texmf-dist/tex/latex/aeb-pro/aeblayers.def @@ -1,311 +1,311 @@ -%% -%% This is file `aeblayers.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,aeblayers') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newif\ifaeb@ocOn \aeb@ocOntrue -\ifaeb@ocOn -\AtBeginDocument{% -\headerps@out{% -{/OCProcSet /ProcSet findresource} stopped not -{/initialize get exec} -{ -/BeginOC /pop load def -/EndOC {} def -/SimpleOC /pop load def -/SetOCGInitState {pop pop} bind def -/OCEndPage {} def -/SetOCGIntent {pop pop} bind def -/SetOCGUsage {pop pop} bind def -/AddASEvent {pop pop pop} bind def -} -ifelse -} -}\fi -\ifaeb@ocOn - \AtEndDocument{\literalps@out{{/OCProcSet /ProcSet findresource - /terminate get exec} stopped pop}} -\fi -\begin{insDLJS}[getxBld]{aebocg}{AeB Pro: OCG Support} -var ocgs = this.getOCGs(); -var xBlds = new Array(); -if ( ocgs != null ) { - var l = ocgs.length; - for ( i=0; i 1) ? bState : !oLayer.state; -} -function getLayerState(name) { - var oLayer = getxBld(name); - return ( oLayer != null ) ? oLayer.state : null; -} -\end{insDLJS} -\newcommand{\texHelpIndicatorColor}{webblue} -\newcommand{\texHelpIndicator}[1]{#1\thinspace${}^{\mbox - {\footnotesize\negthinspace\ding{109}}\raisebox{.225ex} - {\llap{\color{\texHelpIndicatorColor}% - \tiny?\hspace{1.3ex}}}}$} -\newcommand{\addJStexHelpEnter}[1]{\def\aebp@addJStexHelpEnter{\r#1}} -\newcommand{\addJStexHelpExit}[1]{\def\aebp@addJStexHelpExit{\r#1}} -\newcommand{\resetaddJStexHelp}{% - \let\aebp@addJStexHelpEnter\@empty - \let\aebp@addJStexHelpExit\@empty -} -\resetaddJStexHelp -\newif\iftexhelptoggleOff \texhelptoggleOfftrue -\newcommand{\texHelp}{\@ifstar{\texhelptoggleOfffalse\texHelp@i} - {\texhelptoggleOfftrue\texHelp@i}} -\newcommand{\texHelp@i}[2]{% - \let\rollormargstring\texorpdfstring - \sbox{\aebsavehelp}{\texHelpIndicator{#2}}% - \makebox[0pt][l]{\pushButton[\S{S}\BG{}\BC{}\H{N} - \AA{\AAMouseEnter{\JS{toggleHelp("#1");\aebp@addJStexHelpEnter}}% - \AAMouseExit{\JS{\iftexhelptoggleOff toggleHelp("#1");\fi\aebp@addJStexHelpExit}}}]{#1}% - {\wd\aebsavehelp}{\ht\aebsavehelp+\dp\aebsavehelp}}% - \usebox{\aebsavehelp}\resetaddJStexHelp - \let\rollormargstring\@gobbletwo -} -\newif\ifaeb@SimpleOCOn \aeb@SimpleOCOnfalse -\newcommand{\@SOC}[2][false]{\global\aeb@SimpleOCOntrue% - \ifaeb@ocOn\literalps@out{(#2) SimpleOC (#2) #1 SetOCGInitState}\fi} -\newcommand{\b@OC}[2][false]{\ifaeb@SimpleOCOn\@aebSimpleNesterror\fi - \ifaeb@ocOn\literalps@out{(#2) BeginOC (#2) #1 SetOCGInitState}\fi} -\newcommand{\e@OC}{\ifaeb@ocOn\literalps@out{EndOC}\fi} -\newcommand{\xBld}[2][]{% - \setkeys{aebpxBld}{false,#1}\b@OC[\aebpxBld@visible]{xb.#2}% - \ifx\aebpxBld@print\@empty\else - \literalps@out{/Print [/Print] [(xb.#2)] AddASEvent}% - \ifAEBP@aebpxBld@print - \literalps@out{(xb.#2) << /Print<< - /PrintState/ON >> >> SetOCGUsage}% - \else - \literalps@out{(xb.#2) << /Print<< - /PrintState/OFF >> >> SetOCGUsage}% - \fi - \global\let\aebpxBld@print\@empty - \fi -} -\let\eBld\e@OC -\def\@aebSimpleNesterror{\PackageWarning{aeb} -{The scope of the last \string\Bld\space command -\MessageBreak includes the scope of the nested Bld. -\MessageBreak Executing \protect\ocOff\space to correct this. -\MessageBreak The problem occurs}\ocOff} -\newif\ifAEBP@aebpxBld@print \AEBP@aebpxBld@printfalse -\define@choicekey+{aebpxBld}{print}[\val\nr]{true,false,% - visible,always,never}[visible]{% - \ifcase\nr\relax - \def\aebpxBld@print{true}\AEBP@aebpxBld@printtrue\or - \def\aebpxBld@print{false}\AEBP@aebpxBld@printfalse\or - \let\aebpxBld@print\@empty\or - \def\aebpxBld@print{true}\AEBP@aebpxBld@printtrue\or - \def\aebpxBld@print{false}\AEBP@aebpxBld@printfalse\fi -}{\PackageWarning{aeb_pro}{Bad choice for initState, permissible values - are true, false, visible, always, and never. Try again}} -\let\aebpxBld@print\@empty -\define@key{aebpxBld}{true}[true]{\def\aebpxBld@visible{#1}} -\define@key{aebpxBld}{false}[false]{\def\aebpxBld@visible{#1}} -\define@choicekey+{aebpxBld}{initState}[\val\nr]{on,off,% - true,false}[false]{% - \ifcase\nr\relax - \def\aebpxBld@visible{true}\or - \def\aebpxBld@visible{false}\or - \def\aebpxBld@visible{true}\or - \def\aebpxBld@visible{false}\fi -}{\PackageWarning{aeb_pro}{Bad choice for initState, permissible values - are on, off, true and false. Try again}} -\long\def\defineRC#1#2{\csarg\def{RC#1}{#2}} -\def\insertRC#1{\@nameuse{RC#1}} -\long\def\definePR#1#2{% - \ifeqforpaper\csarg\def{PR#1}{#2}\else - \ifeq@proofing\csarg\def{PR#1}{#2}\else - \csarg\let{PR#1}\relax\fi\fi -} -\def\insertPR#1{% - \ifeq@proofing\@nameuse{PR#1}\else - \csarg\let{insertPR}\@gobble\fi - \csarg\let{PR#1}\relax -} -\@ifundefined{ifeqforpaper}{\newif\ifeqforpaper \eqforpaperfalse}{} -\@ifundefined{ifeq@proofing}{\newif\ifeq@proofing \eq@proofingfalse}{} -\providecommand\turnProofingOn{\eq@proofingtrue} -\providecommand\turnProofingOff{\eq@proofingfalse} -\def\proofRollovers{% - \ifeqforpaper - \ifeq@proofing - \includecomment{rollover}% - \includecomment{printRollover}% - \else - \excludecomment{printRollover}% - \includecomment{rollover}% - \fi - \else - \ifeq@proofing - \includecomment{rollover}% - \includecomment{printRollover}% - \else - \excludecomment{printRollover}% - \includecomment{rollover}% - \fi - \fi -} -\proofRollovers -\@onlypreamble\proofRollovers -\newcommand\texPHProof[2]{\small\raggedright\texttt{#1}: #2} -\let\rollormargstring\@gobbletwo -\def\texPrintHelp#1#2{% - \let\rollormargstring\texorpdfstring - \ifeqforpaper - \ifeq@proofing - \texHelp{#1}{#2}\marginpar{\Hy@pdfstringfalse - \texPHProof{#1}{#2}}\else - \texHelpIndicator{#2}\fi - \else - \texHelp{#1}{#2}\ifeq@proofing\marginpar{\Hy@pdfstringfalse - \texPHProof{#1}{#2}}\fi - \fi - \let\rollormargstring\@gobbletwo -} -\newcommand{\animeBld}[1][]{\stepcounter{ocSeq}% - \xBld[#1]{\animBldName}} -\newcounter{ocSeq} -\newcommand{\animeName}[1]{anime!!#1}%01/01/2010 -\newcommand{\DeclareAnime}[3] -{% - \setcounter{ocSeq}{0}% - \xdef\animBaseName{anime!!#1}%01/01/2010 - \xdef\animSpeed{#2}\xdef\nFrames{#3}% - \gdef\animBldName{\animBaseName\#\theocSeq}% -} -\newcommand{\backAnimeBtn}[3][] -{% - \pushButton[\textFont{Wingdings3}\uCA{FEFF00C5}\TU{Reverse}#1 - \A{\JS{% - try { aebAnimeTimeOutF.running=false; } catch(e) {}\r - try { aebAnimeTimeOutB.running=false; } catch(e) {}\r - aebAnimeLayersBackward(\animSpeed,\nFrames,"\animBaseName"); - }}]{\animBaseName BtnBack}{#2}{#3}% -} -\newcommand{\clearAnimeBtn}[3][] -{% - \pushButton[\textFont{Wingdings}\CA{n}\TU{Clear}#1 - \A{\JS{% - try { aebAnimeTimeOutF.running=false; } catch(e) {}\r - try { aebAnimeTimeOutB.running=false; } catch(e) {}\r - aebAnimeLayersClear(\animSpeed,\nFrames,"\animBaseName"); - }}]{\animBaseName BtnClear}{#2}{#3}% -} -\newcommand{\forwardAnimeBtn}[3][] -{% - \pushButton[\textFont{Wingdings3}\uCA{FEFF00C6}\TU{Graph It!}#1 - \A{\JS{% - try { aebAnimeTimeOutF.running=false; } catch(e) {}\r - try { aebAnimeTimeOutB.running=false; } catch(e) {}\r - aebAnimeLayersForward(\animSpeed,\nFrames,"\animBaseName"); - }}]{\animBaseName BtnForward}{#2}{#3}% -} -\begin{insDLJS}[_animeLayers]{animelayers} - {AeB Pro: JS in Support of Anime} -var _animeLayers = true; -var aebAnimeTimeOutF = new Object(); -aebAnimeTimeOutF.running=false; -var aebAnimeTimeOutB = new Object(); -aebAnimeTimeOutB.running=false; -var aebAnimeTimeOutC = new Object(); -function aebAnimeLayersForward(animSpeed,nFrames,baseName) -{ - var timeinterval = animSpeed; - aebAnimeTimeOutF = app.setInterval("aebAnimeTimeOutF.count++;" - + "if (aebAnimeTimeOutF.count > " - + nFrames + " || !aebAnimeTimeOutF.running )" - +" app.clearInterval(aebAnimeTimeOutF);\r" - + "else { if (aebAnimeTimeOutF.count == 1 )" - +" getxBld('"+baseName+"\#1').state=true;\t" - + "else { getxBld('"+baseName+"\#'" - + "+(aebAnimeTimeOutF.count-1)).state=false;\t" - + "getxBld('"+baseName+"\#'" - + "+aebAnimeTimeOutF.count).state=true;}}", timeinterval); - aebAnimeTimeOutF.running = true; - aebAnimeTimeOutF.start = 1; - aebAnimeTimeOutF.count=0; -} -function aebAnimeLayersBackward(animSpeed,nFrames,baseName) -{ - var timeinterval = animSpeed; - aebAnimeTimeOutB = app.setInterval("aebAnimeTimeOutB.count++;\r" - + "if (aebAnimeTimeOutB.count > "+nFrames - +"|| !aebAnimeTimeOutB.running )" - +" app.clearInterval(aebAnimeTimeOutB);\r" - + "else { if (aebAnimeTimeOutB.count == " - +nFrames+") getxBld('"+baseName+"\#1').state=false;\r" - + "else { getxBld('"+baseName+"\#'" - + "+(aebAnimeTimeOutB.start-% -aebAnimeTimeOutB.count+1)).state=false;\r" - + "getxBld('"+baseName+"\#'" - + "+(aebAnimeTimeOutB.start-% -aebAnimeTimeOutB.count)).state=true;}}", - timeinterval); - aebAnimeTimeOutB.running = true; - aebAnimeTimeOutB.start = nFrames; - aebAnimeTimeOutB.count=0; -} -function aebAnimeLayersClear(animSpeed,nFrames,baseName) -{ - aebAnimeTimeOutF.running = false; - aebAnimeTimeOutB.running = false; - clearFrames = app.setTimeOut( - "hideAllFrames("+nFrames+",\""+baseName+"\")",animSpeed); - var timeinterval = animSpeed; - aebAnimeTimeOutC = app.setInterval("aebAnimeTimeOutC.count++;\r" - + "if (aebAnimeTimeOutC.count >= "+nFrames - +") app.clearInterval(aebAnimeTimeOutC);\r" - + "else { getxBld('"+baseName+"\#'" - +"+(aebAnimeTimeOutC.start-aebAnimeTimeOutC.count)).state=false;}", - timeinterval); - aebAnimeTimeOutC.start = nFrames; - aebAnimeTimeOutC.count=0; -} -function hideAllFrames(n, baseName) -{ - for ( var i=1; i <= n ; i++ ) - getxBld(baseName+"\#"+i).state=false; -} -\end{insDLJS} -\endinput -%% -%% End of file `aeblayers.def'. +%% +%% This is file `aeblayers.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,aeblayers') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifaeb@ocOn \aeb@ocOntrue +\ifaeb@ocOn +\AtBeginDocument{% +\headerps@out{% +{/OCProcSet /ProcSet findresource} stopped not +{/initialize get exec} +{ +/BeginOC /pop load def +/EndOC {} def +/SimpleOC /pop load def +/SetOCGInitState {pop pop} bind def +/OCEndPage {} def +/SetOCGIntent {pop pop} bind def +/SetOCGUsage {pop pop} bind def +/AddASEvent {pop pop pop} bind def +} +ifelse +} +}\fi +\ifaeb@ocOn + \AtEndDocument{\literalps@out{{/OCProcSet /ProcSet findresource + /terminate get exec} stopped pop}} +\fi +\begin{insDLJS}[getxBld]{aebocg}{AeB Pro: OCG Support} +var ocgs = this.getOCGs(); +var xBlds = new Array(); +if ( ocgs != null ) { + var l = ocgs.length; + for ( i=0; i 1) ? bState : !oLayer.state; +} +function getLayerState(name) { + var oLayer = getxBld(name); + return ( oLayer != null ) ? oLayer.state : null; +} +\end{insDLJS} +\newcommand{\texHelpIndicatorColor}{webblue} +\newcommand{\texHelpIndicator}[1]{#1\thinspace${}^{\mbox + {\footnotesize\negthinspace\ding{109}}\raisebox{.225ex} + {\llap{\color{\texHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} +\newcommand{\addJStexHelpEnter}[1]{\def\aebp@addJStexHelpEnter{\r#1}} +\newcommand{\addJStexHelpExit}[1]{\def\aebp@addJStexHelpExit{\r#1}} +\newcommand{\resetaddJStexHelp}{% + \let\aebp@addJStexHelpEnter\@empty + \let\aebp@addJStexHelpExit\@empty +} +\resetaddJStexHelp +\newif\iftexhelptoggleOff \texhelptoggleOfftrue +\newcommand{\texHelp}{\@ifstar{\texhelptoggleOfffalse\texHelp@i} + {\texhelptoggleOfftrue\texHelp@i}} +\newcommand{\texHelp@i}[2]{% + \let\rollormargstring\texorpdfstring + \sbox{\aebsavehelp}{\texHelpIndicator{#2}}% + \makebox[0pt][l]{\pushButton[\S{S}\BG{}\BC{}\H{N} + \AA{\AAMouseEnter{\JS{toggleHelp("#1");\aebp@addJStexHelpEnter}}% + \AAMouseExit{\JS{\iftexhelptoggleOff toggleHelp("#1");\fi\aebp@addJStexHelpExit}}}]{#1}% + {\wd\aebsavehelp}{\ht\aebsavehelp+\dp\aebsavehelp}}% + \usebox{\aebsavehelp}\resetaddJStexHelp + \let\rollormargstring\@gobbletwo +} +\newif\ifaeb@SimpleOCOn \aeb@SimpleOCOnfalse +\newcommand{\@SOC}[2][false]{\global\aeb@SimpleOCOntrue% + \ifaeb@ocOn\literalps@out{(#2) SimpleOC (#2) #1 SetOCGInitState}\fi} +\newcommand{\b@OC}[2][false]{\ifaeb@SimpleOCOn\@aebSimpleNesterror\fi + \ifaeb@ocOn\literalps@out{(#2) BeginOC (#2) #1 SetOCGInitState}\fi} +\newcommand{\e@OC}{\ifaeb@ocOn\literalps@out{EndOC}\fi} +\newcommand{\xBld}[2][]{% + \setkeys{aebpxBld}{false,#1}\b@OC[\aebpxBld@visible]{xb.#2}% + \ifx\aebpxBld@print\@empty\else + \literalps@out{/Print [/Print] [(xb.#2)] AddASEvent}% + \ifAEBP@aebpxBld@print + \literalps@out{(xb.#2) << /Print<< + /PrintState/ON >> >> SetOCGUsage}% + \else + \literalps@out{(xb.#2) << /Print<< + /PrintState/OFF >> >> SetOCGUsage}% + \fi + \global\let\aebpxBld@print\@empty + \fi +} +\let\eBld\e@OC +\def\@aebSimpleNesterror{\PackageWarning{aeb} +{The scope of the last \string\Bld\space command +\MessageBreak includes the scope of the nested Bld. +\MessageBreak Executing \protect\ocOff\space to correct this. +\MessageBreak The problem occurs}\ocOff} +\newif\ifAEBP@aebpxBld@print \AEBP@aebpxBld@printfalse +\define@choicekey+{aebpxBld}{print}[\val\nr]{true,false,% + visible,always,never}[visible]{% + \ifcase\nr\relax + \def\aebpxBld@print{true}\AEBP@aebpxBld@printtrue\or + \def\aebpxBld@print{false}\AEBP@aebpxBld@printfalse\or + \let\aebpxBld@print\@empty\or + \def\aebpxBld@print{true}\AEBP@aebpxBld@printtrue\or + \def\aebpxBld@print{false}\AEBP@aebpxBld@printfalse\fi +}{\PackageWarning{aeb_pro}{Bad choice for initState, permissible values + are true, false, visible, always, and never. Try again}} +\let\aebpxBld@print\@empty +\define@key{aebpxBld}{true}[true]{\def\aebpxBld@visible{#1}} +\define@key{aebpxBld}{false}[false]{\def\aebpxBld@visible{#1}} +\define@choicekey+{aebpxBld}{initState}[\val\nr]{on,off,% + true,false}[false]{% + \ifcase\nr\relax + \def\aebpxBld@visible{true}\or + \def\aebpxBld@visible{false}\or + \def\aebpxBld@visible{true}\or + \def\aebpxBld@visible{false}\fi +}{\PackageWarning{aeb_pro}{Bad choice for initState, permissible values + are on, off, true and false. Try again}} +\long\def\defineRC#1#2{\csarg\def{RC#1}{#2}} +\def\insertRC#1{\@nameuse{RC#1}} +\long\def\definePR#1#2{% + \ifeqforpaper\csarg\def{PR#1}{#2}\else + \ifeq@proofing\csarg\def{PR#1}{#2}\else + \csarg\let{PR#1}\relax\fi\fi +} +\def\insertPR#1{% + \ifeq@proofing\@nameuse{PR#1}\else + \csarg\let{insertPR}\@gobble\fi + \csarg\let{PR#1}\relax +} +\@ifundefined{ifeqforpaper}{\newif\ifeqforpaper \eqforpaperfalse}{} +\@ifundefined{ifeq@proofing}{\newif\ifeq@proofing \eq@proofingfalse}{} +\providecommand\turnProofingOn{\eq@proofingtrue} +\providecommand\turnProofingOff{\eq@proofingfalse} +\def\proofRollovers{% + \ifeqforpaper + \ifeq@proofing + \includecomment{rollover}% + \includecomment{printRollover}% + \else + \excludecomment{printRollover}% + \includecomment{rollover}% + \fi + \else + \ifeq@proofing + \includecomment{rollover}% + \includecomment{printRollover}% + \else + \excludecomment{printRollover}% + \includecomment{rollover}% + \fi + \fi +} +\proofRollovers +\@onlypreamble\proofRollovers +\newcommand\texPHProof[2]{\small\raggedright\texttt{#1}: #2} +\let\rollormargstring\@gobbletwo +\def\texPrintHelp#1#2{% + \let\rollormargstring\texorpdfstring + \ifeqforpaper + \ifeq@proofing + \texHelp{#1}{#2}\marginpar{\Hy@pdfstringfalse + \texPHProof{#1}{#2}}\else + \texHelpIndicator{#2}\fi + \else + \texHelp{#1}{#2}\ifeq@proofing\marginpar{\Hy@pdfstringfalse + \texPHProof{#1}{#2}}\fi + \fi + \let\rollormargstring\@gobbletwo +} +\newcommand{\animeBld}[1][]{\stepcounter{ocSeq}% + \xBld[#1]{\animBldName}} +\newcounter{ocSeq} +\newcommand{\animeName}[1]{anime!!#1}%01/01/2010 +\newcommand{\DeclareAnime}[3] +{% + \setcounter{ocSeq}{0}% + \xdef\animBaseName{anime!!#1}%01/01/2010 + \xdef\animSpeed{#2}\xdef\nFrames{#3}% + \gdef\animBldName{\animBaseName\#\theocSeq}% +} +\newcommand{\backAnimeBtn}[3][] +{% + \pushButton[\textFont{Wingdings3}\uCA{FEFF00C5}\TU{Reverse}#1 + \A{\JS{% + try { aebAnimeTimeOutF.running=false; } catch(e) {}\r + try { aebAnimeTimeOutB.running=false; } catch(e) {}\r + aebAnimeLayersBackward(\animSpeed,\nFrames,"\animBaseName"); + }}]{\animBaseName BtnBack}{#2}{#3}% +} +\newcommand{\clearAnimeBtn}[3][] +{% + \pushButton[\textFont{Wingdings}\CA{n}\TU{Clear}#1 + \A{\JS{% + try { aebAnimeTimeOutF.running=false; } catch(e) {}\r + try { aebAnimeTimeOutB.running=false; } catch(e) {}\r + aebAnimeLayersClear(\animSpeed,\nFrames,"\animBaseName"); + }}]{\animBaseName BtnClear}{#2}{#3}% +} +\newcommand{\forwardAnimeBtn}[3][] +{% + \pushButton[\textFont{Wingdings3}\uCA{FEFF00C6}\TU{Graph It!}#1 + \A{\JS{% + try { aebAnimeTimeOutF.running=false; } catch(e) {}\r + try { aebAnimeTimeOutB.running=false; } catch(e) {}\r + aebAnimeLayersForward(\animSpeed,\nFrames,"\animBaseName"); + }}]{\animBaseName BtnForward}{#2}{#3}% +} +\begin{insDLJS}[_animeLayers]{animelayers} + {AeB Pro: JS in Support of Anime} +var _animeLayers = true; +var aebAnimeTimeOutF = new Object(); +aebAnimeTimeOutF.running=false; +var aebAnimeTimeOutB = new Object(); +aebAnimeTimeOutB.running=false; +var aebAnimeTimeOutC = new Object(); +function aebAnimeLayersForward(animSpeed,nFrames,baseName) +{ + var timeinterval = animSpeed; + aebAnimeTimeOutF = app.setInterval("aebAnimeTimeOutF.count++;" + + "if (aebAnimeTimeOutF.count > " + + nFrames + " || !aebAnimeTimeOutF.running )" + +" app.clearInterval(aebAnimeTimeOutF);\r" + + "else { if (aebAnimeTimeOutF.count == 1 )" + +" getxBld('"+baseName+"\#1').state=true;\t" + + "else { getxBld('"+baseName+"\#'" + + "+(aebAnimeTimeOutF.count-1)).state=false;\t" + + "getxBld('"+baseName+"\#'" + + "+aebAnimeTimeOutF.count).state=true;}}", timeinterval); + aebAnimeTimeOutF.running = true; + aebAnimeTimeOutF.start = 1; + aebAnimeTimeOutF.count=0; +} +function aebAnimeLayersBackward(animSpeed,nFrames,baseName) +{ + var timeinterval = animSpeed; + aebAnimeTimeOutB = app.setInterval("aebAnimeTimeOutB.count++;\r" + + "if (aebAnimeTimeOutB.count > "+nFrames + +"|| !aebAnimeTimeOutB.running )" + +" app.clearInterval(aebAnimeTimeOutB);\r" + + "else { if (aebAnimeTimeOutB.count == " + +nFrames+") getxBld('"+baseName+"\#1').state=false;\r" + + "else { getxBld('"+baseName+"\#'" + + "+(aebAnimeTimeOutB.start-% +aebAnimeTimeOutB.count+1)).state=false;\r" + + "getxBld('"+baseName+"\#'" + + "+(aebAnimeTimeOutB.start-% +aebAnimeTimeOutB.count)).state=true;}}", + timeinterval); + aebAnimeTimeOutB.running = true; + aebAnimeTimeOutB.start = nFrames; + aebAnimeTimeOutB.count=0; +} +function aebAnimeLayersClear(animSpeed,nFrames,baseName) +{ + aebAnimeTimeOutF.running = false; + aebAnimeTimeOutB.running = false; + clearFrames = app.setTimeOut( + "hideAllFrames("+nFrames+",\""+baseName+"\")",animSpeed); + var timeinterval = animSpeed; + aebAnimeTimeOutC = app.setInterval("aebAnimeTimeOutC.count++;\r" + + "if (aebAnimeTimeOutC.count >= "+nFrames + +") app.clearInterval(aebAnimeTimeOutC);\r" + + "else { getxBld('"+baseName+"\#'" + +"+(aebAnimeTimeOutC.start-aebAnimeTimeOutC.count)).state=false;}", + timeinterval); + aebAnimeTimeOutC.start = nFrames; + aebAnimeTimeOutC.count=0; +} +function hideAllFrames(n, baseName) +{ + for ( var i=1; i <= n ; i++ ) + getxBld(baseName+"\#"+i).state=false; +} +\end{insDLJS} +\endinput +%% +%% End of file `aeblayers.def'. diff --git a/texmf-dist/tex/latex/aeb-pro/aebpro.def b/texmf-dist/tex/latex/aeb-pro/aebpro.def index 21e4be9b..db4125e7 100644 --- a/texmf-dist/tex/latex/aeb-pro/aebpro.def +++ b/texmf-dist/tex/latex/aeb-pro/aebpro.def @@ -1,1237 +1,1237 @@ -%% -%% This is file `aebpro.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,aebpro') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\@tfor\aeb@windowopts:={{fit}{FitWindow}}{{center}{CenterWindow}}% - {{fullscreen}{FullScreen}}{{showtitle}{DisplayDocTitle}}\do -{% - \expandafter\getargsii\aeb@windowopts - \edef\temp@expand@def{% - \noexpand\define@key{aebWindowOpts}{\aeb@argi}[true]{% - \noexpand\def\csname aeb@windowopts\aeb@argii\endcsname{% - /\aeb@argii\space##1}% - }% - }\temp@expand@def - \csarg\let{aeb@windowopts\aeb@argii}\@empty -} -\newcommand{\setWindowOptions}[1]{\cxkvsetkeys{aebWindowOpts}{#1}} -\@tfor\aeb@uiopts:={{hidetoolbar}{HideToolbar}} - {{hidemenubar}{HideMenubar}}{{hidewindowui}{HideWindowUI}}\do{% - \expandafter\getargsii\aeb@uiopts - \edef\temp@expand@def{% - \noexpand\define@key{aebUIOpts}{\aeb@argi}[true]% - {% - \noexpand\edef\csname aeb@uiopts\aeb@argii\endcsname{% - /\aeb@argii\space##1}% - }% - }\temp@expand@def - \csarg\let{aeb@uiopts\aeb@argii}\@empty -} -\newcommand{\setUIOptions}[1]{\cxkvsetkeys{aebUIOpts}{#1}} -\define@choicekey+{aebLayoutMag}{navitab}{UseNone,UseOutlines,% - UseThumbs,FullScreen,UseOC,UseAttachments}[UseNone]{% - \def\aeb@layoutMagNaviTab{#1}% -}{\PackageWarning{aeb}{Bad choice for PageLayout, permissible values - are UseNone, UseOutlines, UseThumbs, FullScreen,% - UseOC, UseAttachments. Try again}} -\let\aeb@layoutMagNaviTab\@empty -\define@choicekey+{aebLayoutMag}{pagelayout}{SinglePage,OneColumn,% - TwoColumnLeft,TwoColumnRight,TwoPageLeft,TwoPageRight}[SinglePage]{% - \def\aeb@layoutMagPageLayout{#1}% -}{\PackageWarning{aeb}{Bad choice for PageLayout, permissible values - are SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, - TwoPageLeft,TwoPageRight. Try again}} -\let\aeb@layoutMagPageLayout\@empty -\define@choicekey+{aebLayoutMag}{mag}[\val\nr]% - {ActualSize,FitPage,FitWidth,FitHeight,FitVisible}[FitPage]% -{% - \ifcase\nr\relax - \edef\aeb@layoutMagMag{\dl@actualsize}\or - \def\aeb@layoutMagMag{\dl@fitpage}\or - \def\aeb@layoutMagMag{\dl@fitwidth}\or - \def\aeb@layoutMagMag{\dl@fitheight}\or - \def\aeb@layoutMagMag{\dl@fitvisible}\fi -}{\setlength\@tempdima{1pt*\ratio{\val pt}{100pt}}% - \edef\aeb@layoutMagMag{\dl@mag{\strip@pt\@tempdima}}} -\let\aeb@layoutMagMag\@empty -\define@key{aebLayoutMag}{openatpage}[1]{\def\aeb@openatpageChoice{#1}% - \ifpdfmarkup\def\aeb@layoutMagPage{Page#1}\else - \def\aeb@layoutMagPage{#1}\fi} -\let\aeb@openatpageChoice\@empty -\let\aeb@layoutMagPage\@empty -\newcommand{\setLayoutMag}[1]{\setkeys{aebLayoutMag}{openatpage=1}% - \cxkvsetkeys{aebLayoutMag}{#1}} -\define@key{aebDeclareInitView}{layoutmag} - {\def\aebDeclareInitView@layoutmag{#1}} -\let\aebDeclareInitView@layoutmag\@empty -\define@key{aebDeclareInitView}{windowoptions} - {\def\aebDeclareInitView@windowoptions{#1}} -\let\aebDeclareInitView@windowoptions\@empty -\define@key{aebDeclareInitView}{uioptions} - {\def\aebDeclareInitView@uioptions{#1}} -\let\aebDeclareInitView@uioptions\@empty -\newcommand{\DeclareInitView}[1]{% - \setkeys{aebDeclareInitView}{#1}% - \edef\temp@expand@sets{% - \noexpand\setLayoutMag{\aebDeclareInitView@layoutmag}% - \noexpand\setWindowOptions{\aebDeclareInitView@windowoptions}% - \noexpand\setUIOptions{\aebDeclareInitView@uioptions}% - }\temp@expand@sets -} -\providecommand{\taggedPDF}{\def\aeb@TaggedPDF{true}} -\let\aeb@TaggedPDF\@empty -\@onlypreamble\taggedPDF -\let\aeb@addOpenAction\@empty -\let\aeb@addActionCode\@empty -\let\aeb@addOpenActionArg\@empty -\def\AEB@psMrk{[\space} -\let\aebpopentoks\@empty -\let\aebpFA\aebp@NO -\def\aebp@rightDelimiters{} -\let\@pdfstartview\@empty -\let\@pdfstartpage\@empty -\renewcommand{\addToDocOpen}[1]{% - \ifx\aebpFA\aebp@NO - \gdef\aeb@addOpenActionArg{#1}% - \g@addto@macro\aebpopentoks{#1}% - \def\aeb@addActionCode{\bgroup\makeJSspecials\dl@preProcDefns -\ifpdfmarkup - \literalps@out{\AEB@psMrk/_objdef {pubAddToDocOpen} - /type/dict /OBJ pdfmark^^J% - \AEB@psMrk{pubAddToDocOpen} - << \aebpopentoks - \ifx\dev@addOpenAction\@empty\else - \ifx\aeb@addOpenActionArg\@empty\else^^J% - \dev@addOpenAction\fi\fi\aebp@rightDelimiters - >> /PUT pdfmark}% - \gdef\pubAddToDocOpen{{pubAddToDocOpen}}% - \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% -\else\ifpdf - \immediate\pdfobj{<< \aebpopentoks - \ifx\dev@addOpenAction\@empty\else - \ifx\aeb@addOpenActionArg\@empty\else^^J% - \dev@addOpenAction\fi\fi\aebp@rightDelimiters - >>}\xdef\pubAddToDocOpen{\the\pdflastobj\space 0 R}% - \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% -\else\ifxetex - \immediate\@pdfm@mark{obj @pubAddToDocOpen << \aebpopentoks - \ifx\dev@addOpenAction\@empty\else - \ifx\aeb@addOpenActionArg\@empty\else^^J% - \dev@addOpenAction\fi\fi\aebp@rightDelimiters >> }% - \gdef\pubAddToDocOpen{@pubAddToDocOpen}% - \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% -\fi\fi\fi\egroup}% - \global\let\aebpFA\aebp@YES - \else - \edef\aebp@dljstmp{\aebp@rightDelimiters}% - \xdef\aebp@rightDelimiters{\aebp@dljstmp >> }% - \g@addto@macro\aebpopentoks{/Next << #1 }% - \fi -} -\let\additionalOpenAction\addToDocOpen -\let\dev@addOpenAction\@empty -\let\dev@addOpenActionArg\@empty -\let\dev@addActionCode\@empty -\let\aebpFAP\aebp@NO -\let\aebpopentoksP\@empty -\def\aebp@rightDelimitersP{} -\newcommand{\dev@addToDocOpen}[1]{% - \ifx\aebpFAP\aebp@NO - \gdef\dev@addOpenActionArg{#1}% - \g@addto@macro\aebpopentoksP{#1}% - \def\dev@addActionCode{\bgroup\makeJSspecials\dl@preProcDefns -\ifpdfmarkup - \literalps@out{\AEB@psMrk/_objdef {privAddDocOpen} - /type/dict /OBJ pdfmark^^J% - \AEB@psMrk{privAddDocOpen} << \aebpopentoksP - \aebp@rightDelimitersP\space>> /PUT pdfmark}% - \gdef\privAddDocOpen{{privAddDocOpen}}% - \gdef\dev@addOpenAction{/Next {privAddDocOpen}}% -\else\ifpdf - \immediate\pdfobj{<< \aebpopentoksP - \aebp@rightDelimitersP\space>>}% - \xdef\privAddDocOpen{\the\pdflastobj\space 0 R}% - \xdef\dev@addOpenAction{/Next \privAddDocOpen}% -\else\ifxetex - \immediate\@pdfm@mark{obj @privAddToDocOpen << \aebpopentoksP - \aebp@rightDelimitersP\space>> }% - \gdef\privAddDocOpen{@privAddToDocOpen}% - \gdef\dev@addOpenAction{/Next \privAddDocOpen}% -\fi\fi\fi\egroup}% - \global\let\aebpFAP\aebp@YES - \else - \edef\aebp@dljstmpP{\aebp@rightDelimitersP}% - \xdef\aebp@rightDelimitersP{\aebp@dljstmpP >> }% - \g@addto@macro\aebpopentoksP{/Next << #1 }% - \fi -} -\def\aebp@warnonly{warnonly} -\newcommand{\aebp@app@title}{AcroTeX Message} -\newcommand{\requiresVersion}[2][]{\def\aebp@argi{#1}% - \def\requiredVersionNumber{#2}\dev@addToDocOpen{\JS{% -\ifx\aebp@argi\aebp@warnonly - var warnOnly=true; -\else - var warnOnly=false; -\fi - var reqVerMsgC=("\aeb@requiredVersionMsg\space") - + ((warnOnly) ? ("\aeb@reqVerMsgW") : ("\aeb@reqVerMsgC")); - var reqVerMsgR=("\aeb@requiredVersionMsgRedirect\space") - + ((warnOnly) ? ("\aeb@reqVerMsgW") : ("\aeb@reqVerMsgR")); - if( app.viewerVersion < #2 ) { - var viewerPassedReq=false; - try { - if (this.external) { - app.alert({cTitle:"\aebp@app@title", cMsg: reqVerMsgR}); - if (!warnOnly) { - if (app.viewerVersion >= 7.0) - app.launchURL("\aebAlternateDocumentURL"); - else - this.getURL("\aebAlternateDocumentURL",false); - } - } else { - app.alert({cTitle:"\aebp@app@title", cMsg: reqVerMsgC}); - if (!warnOnly) this.closeDoc(true); - } - } catch(e) {} - } else { - var viewerPassedReq=true; - \aeb@ViewerPassedRequirementJS - } -}}} -\def\requiredVersionNumber{7} -\newcommand{\alternateDocumentURL}[1]{\def\aebAlternateDocumentURL{#1}} -\alternateDocumentURL{http://www.acrotex.net/} -\newcommand{\requiredVersionMsg}[1]{\def\aeb@requiredVersionMsg{#1}} -\requiredVersionMsg{This document requires Adobe Reader or Acrobat, - version \requiredVersionNumber\space or later.} -\newcommand{\requiredVersionResult}[3]{\def\aeb@reqVerMsgC{#1}% - \def\aeb@reqVerMsgR{#2}\def\aeb@reqVerMsgW{#3}} -\requiredVersionResult{The document is now closing.} - {Redirecting browser to an alternate page.} - {Some features of this document may not work properly.} -\newcommand{\requiredVersionMsgRedirect}[1]{% - \def\aeb@requiredVersionMsgRedirect{#1}} -\requiredVersionMsgRedirect{% - This document requires Adobe Reader or Acrobat, - version \requiredVersionNumber\space or later.} -\newcommand{\afterRequirementPassedJS}[1]{% - \def\aeb@ViewerPassedRequirementJS{#1}} -\let\aeb@ViewerPassedRequirementJS\@empty -\def\aeb@SetCatalog{% - \ifx\aebpFA\aebp@NO\addToDocOpen{\JS{;}}\fi - \ifx\aebpFAP\aebp@YES\dev@addActionCode\fi - \aeb@addActionCode -\def\aeb@CatEntry{/ViewerPreferences<<% - \ifx\aeb@windowoptsFitWindow\@empty\else - \aeb@windowoptsFitWindow\fi - \ifx\aeb@windowoptsCenterWindow\@empty\else - \aeb@windowoptsCenterWindow\fi - \ifx\aeb@windowoptsDisplayDocTitle\@empty\else - \aeb@windowoptsDisplayDocTitle\fi - \ifx\aeb@uioptsHideToolbar\@empty\else - \aeb@uioptsHideToolbar\fi - \ifx\aeb@uioptsHideMenubar\@empty\else - \aeb@uioptsHideMenubar\fi - \ifx\aeb@uioptsHideWindowUI\@empty\else - \aeb@uioptsHideWindowUI\fi - \ifx\aeb@layoutMagNaviTab\@empty\else - /NonFullScreenPageMode/\aeb@layoutMagNaviTab\fi ->>% - \ifx\aeb@TaggedPDF\@empty\else - /MarkInfo<>\fi - \ifx\aeb@layoutMagPageLayout\@empty\else - /PageLayout/\aeb@layoutMagPageLayout\fi - \ifx\aeb@windowoptsFullScreen\@empty - \ifx\aeb@layoutMagNaviTab\@empty\else - /PageMode/\aeb@layoutMagNaviTab\fi - \else/PageMode/FullScreen\fi -\ifpdfmarkup - \ifx\aeb@layoutMagPage\@empty - \ifx\aeb@layoutMagMag\@empty - /OpenAction \pubAddToDocOpen - \else/OpenAction<>\fi - \else - \ifx\aeb@layoutMagMag\@empty - /OpenAction<>\else - /OpenAction<>\fi - \fi -\else\ifpdf - \ifx\aeb@layoutMagPage\@empty - \ifx\aeb@layoutMagMag\@empty - /OpenAction \pubAddToDocOpen - \else/OpenAction <<% - /D[\pdfpageref1\space\space 0 R\aeb@layoutMagMag]% - /S/GoTo\aeb@addOpenAction>>\fi - \else - \ifx\aeb@layoutMagMag\@empty - /OpenAction<>\else - /OpenAction<>\fi - \fi -\else\ifxetex - \ifx\aeb@layoutMagPage\@empty - \ifx\aeb@layoutMagMag\@empty - /OpenAction \pubAddToDocOpen - \else/OpenAction<>\fi - \else - \ifx\aeb@layoutMagMag\@empty - /OpenAction<>\else - /OpenAction<<% - /D[@page\aeb@layoutMagPage\space\aeb@layoutMagMag]% - /S/GoTo\aeb@addOpenAction>>\fi - \fi -\fi\fi\fi}% - \ifpdfmarkup\literalps@out{\AEB@psMrk{Catalog} - <<\aeb@CatEntry>> /PUT pdfmark}\else - \ifpdf\pdfcatalog{\aeb@CatEntry}\else - \ifxetex\immediate\@pdfm@mark{put @catalog <<\aeb@CatEntry>>}% - \fi\fi\fi -} -\AtBeginDocument{\aeb@SetCatalog} -\newcommand{\setDefaultFS}[1] -{% - \setkeys{aebDefFS}{Trans=Replace}\setkeys{aebDefFS}{#1}% - \makeatletter - \InputIfFileExists{fsprodef.js}{}{\PackageWarning{aeb_pro} - {Cannot find fsprodef.js, please run aeb_pro.ins again}} - \makeatother -} -\@onlypreamble\setDefaultFS -\def\aeb@NoTransition{NoTransition} -\define@choicekey+{aebDefFS}{Trans} -{NoTransition,UncoverLeft,UncoverRight,UncoverDown,UncoverUp,% -UncoverLeftDown,UncoverLeftUp,UncoverRightDown,UncoverRightUp,% -CoverLeft,CoverRight,CoverDown,CoverUp,CoverLeftDown,CoverLeftUp,% -CoverRightDown,CoverRightUp,PushLeft,PushRight,PushDown,PushUp,% -PushLeftDown,PushLeftUp,PushRightDown,PushRightUp,FlyInRight,% -FlyInLeft,FlyInDown,FlyInUp,FlyOutRight,FlyOutLeft,FlyOutDown,% -FlyOutUp,FlyIn,FlyOut,Blend,Fade,Random,Dissolve,% -GlitterRight,GlitterDown,GlitterRightDown,BoxIn,BoxOut,% -BlindsHorizontal,BlindsVertical,SplitHorizontalIn,% -SplitHorizontalOut,SplitVerticalIn,SplitVerticalOut,WipeLeft,% -WipeRight,WipeDown,WipeUp,WipeLeftDown,WipeLeftUp,% -WipeRightDown,WipeRightUp,Replace,ZoomInDown,ZoomInLeft,% -ZoomInLeftDown,ZoomInLeftUp,ZoomInRight,ZoomInRightDown,% -ZoomInRightUp,ZoomInUp,ZoomOutDown,ZoomOutLeft,ZoomOutLeftDown,% -ZoomOutLeftUp,ZoomOutRight,ZoomOutRightDown,ZoomOutRightUp,% -ZoomOutUp,CombHorizontal,CombVertical}[Replace]{% - \def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@fsTran\@empty\else - \ifx\aeb@arg\aeb@NoTransition - \def\aeb@fsTran{app.fs.defaultTransition = "";^^J} - \else - \def\aeb@fsTran{app.fs.defaultTransition = "#1";^^J}\fi\fi} -{\PackageWarning{aeb}{Bad choice, try again. Meanwhile, - will use the default, Replace}% - \def\aeb@fsTran{app.fs.defaultTransition = "Replace";^^J}} -\define@key{aebDefFS}{bgColor}[]{% - \def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@fsBGColor\@empty\else - \def\aeb@fsBGColor{app.fs.backgroundColor = #1;^^J}\fi} -\let\aeb@fsBGColor\@empty -\define@key{aebDefFS}{timeDelay}[]{% - \def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@fstimeDelay\@empty\else - \def\aeb@fstimeDelay{app.fs.timeDelay = #1;^^J}\fi} -\let\aeb@fstimeDelay\@empty -\define@boolkey{aebDefFS}{loop}[true]{% - \def\aeb@fsLoop{app.fs.loop = #1;^^J}} -\let\aeb@fsLoop\@empty -\define@choicekey+{aebDefFS}{cursor}{hidden,delay,visible}{% - \def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@fscursor\@empty\else - \def\aeb@fscursor{app.fs.cursor = cursor.#1;^^J}\fi -}{\PackageWarning{aeb}{Bad choice for cursor, permissible values - are hidden, delay and visible. Try again}} -\let\aeb@fscursor\@empty -\define@boolkey{aebDefFS}{escape}[true]{% - \def\aeb@fsEscape{app.fs.escapeExits = #1;^^J}} -\let\aeb@fsEscape\@empty -\define@boolkey{aebDefFS}{clickAdv}[true]{% - \def\aeb@fsclickAdv{app.fs.clickAdvances = #1;^^J}} -\let\aeb@fsclickAdv\@empty -\define@boolkey{aebDefFS}{fullscreen}[true]{% - \def\aeb@windowoptsFullScreen{true}% -} -\let\aeb@fsFS\@empty -\define@boolkey{aebDefFS}{useTimer}[true]{% - \def\aeb@fsuseTimer{app.fs.useTimer = #1;^^J}} -\let\aeb@fsuseTimer\@empty -\define@boolkey{aebDefFS}{usePageTiming}[true]{% - \def\aeb@fsusePageTiming{app.fs.usePageTiming = #1;^^J}} -\let\aeb@fsusePageTiming\@empty -\def\aebp@PageTransCnt{0} -\def\aebp@Step@PageTransCnt{{\count0=\aebp@PageTransCnt\relax - \advance\count0by1\relax - \xdef\aebp@PageTransCnt{\the\count0 }}} -\newcommand{\setPageTransition}[1]{% - \begingroup - \aebp@Step@PageTransCnt - \setkeys{aebTrans}{TransDur,Speed,#1}% - \edef\aeb@pagetranschoices{\aeb@Page@Dur - /Trans <<\aeb@Trans@Dur\aeb@TranChoice>>}% - \csarg{\xdef}{aeb@pagetransCodeL\aebp@PageTransCnt}{% - \ifpdfmarkup - \noexpand\literalps@out{\AEB@psMrk{ThisPage} << - \aeb@pagetranschoices\space>> /PUT pdfmark}% - \else\ifpdf - \noexpand\global\noexpand\pdfpageattr=\noexpand\expandafter - {\noexpand\the\noexpand\pdfpageattr\aeb@pagetranschoices}% - \else\ifxetex - \noexpand\immediate\noexpand\@pdfm@mark{put @thispage << - \aeb@pagetranschoices\space >>} - \fi\fi\fi - } - \ifx\aeb@TranChoice\@empty\else - \csarg\xdef{aebpP@geTr@nsP@ge\arabic{page}}% - {\noexpand\@nameuse{aeb@pagetransCodeL\aebp@PageTransCnt}}% - \fi - \endgroup -} -\newcommand{\setPageTransitionAt}[2]{% - \begingroup - \aebp@Step@PageTransCnt - \setkeys{aebTrans}{#2}% - \edef\aeb@pagetranschoices{\aeb@Page@Dur - /Trans <<\aeb@Trans@Dur\aeb@TranChoice>>}% - \csarg{\xdef}{aeb@pagetransCode\aebp@PageTransCnt}{% - \ifpdfmarkup - \noexpand\literalps@out{\AEB@psMrk{ThisPage} << - \aeb@pagetranschoices\space>> /PUT pdfmark}% - \else\ifpdf - \noexpand\global\noexpand\pdfpageattr=\noexpand\expandafter - {\noexpand\the\noexpand\pdfpageattr\aeb@pagetranschoices}% - \else\ifxetex - \noexpand\immediate\noexpand\@pdfm@mark{put @thispage << - \aeb@pagetranschoices\space>>} - \fi\fi\fi - } - \ifx\aeb@TranChoice\@empty\else - \expandafter\aebp@rse\expandafter{#1}% - \edef\shakeandbake{% - \noexpand\@for\noexpand\@mypage:=\the\aeb@parsetoks}% - \shakeandbake \do {% - \csarg\xdef{aebpP@geTr@nsP@ge\@mypage}% - {\noexpand\@nameuse{aeb@pagetransCode\aebp@PageTransCnt}}% - }% - \fi - \endgroup -} -\define@choicekey+{aebTrans}{Trans} -{NoTransition,UncoverLeft,UncoverRight,UncoverDown,UncoverUp,% -UncoverLeftDown,UncoverLeftUp,UncoverRightDown,UncoverRightUp,% -CoverLeft,CoverRight,CoverDown,CoverUp,CoverLeftDown,CoverLeftUp,% -CoverRightDown,CoverRightUp,PushLeft,PushRight,PushDown,PushUp,% -PushLeftDown,PushLeftUp,PushRightDown,PushRightUp,FlyInRight,% -FlyInLeft,FlyInDown,FlyInUp,FlyOutRight,FlyOutLeft,FlyOutDown,% -FlyOutUp,FlyIn,FlyOut,Blend,Fade,Random,Dissolve,% -GlitterRight,GlitterDown,GlitterRightDown,BoxIn,BoxOut,% -BlindsHorizontal,BlindsVertical,SplitHorizontalIn,% -SplitHorizontalOut,SplitVerticalIn,SplitVerticalOut,WipeLeft,% -WipeRight,WipeDown,WipeUp,WipeLeftDown,WipeLeftUp,% -WipeRightDown,WipeRightUp,Replace,ZoomInDown,ZoomInLeft,% -ZoomInLeftDown,ZoomInLeftUp,ZoomInRight,ZoomInRightDown,% -ZoomInRightUp,ZoomInUp,ZoomOutDown,ZoomOutLeft,ZoomOutLeftDown,% -ZoomOutLeftUp,ZoomOutRight,ZoomOutRightDown,ZoomOutRightUp,% -ZoomOutUp,CombHorizontal,CombVertical}[Replace]% - {\edef\aeb@TranChoice{\csname aeb@Trans@#1\endcsname}% -}{\PackageWarning{aeb}{Bad choice, try again}} -\let\aeb@TranChoice\@empty -\define@key{aebTrans}{TransDur}[]{\def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@Trans@Dur\@empty\else\def\aeb@Trans@Dur{/D #1}\fi} -\let\aeb@Trans@Dur\@empty -\define@choicekey+{aebTrans}{Speed}[\val\nr]% - {Slow,Medium,Fast}[Slow]{%dps/change 02/27/07 - \ifcase\nr\relax - \let\aeb@Trans@Speed\@empty\or - \def\aeb@Trans@Speed{/D 0.666656}\or - \def\aeb@Trans@Speed{/D 0.333328}\fi -}{\PackageWarning{aeb}{Bad choice for Speed, permissible values - are Slow, Medium and Fast. Try again}} -\let\apb@apbTrans@Speed\@empty -\define@key{aebTrans}{PageDur}[]{\def\aeb@arg{#1}\ifx\aeb@arg\@empty - \let\aeb@Page@Dur\@empty\else\def\aeb@Page@Dur{/Dur #1}\fi} -\let\aeb@Page@Dur\@empty -\def\aeb@Trans@NoTransition{} -\def\aeb@Trans@SplitHorizontalIn{/Dm/H/M/I/S/Split} -\def\aeb@Trans@SplitHorizontalOut{/Dm/H/M/O/S/Split} -\def\aeb@Trans@SplitVerticalIn{/Dm/V/M/I/S/Split} -\def\aeb@Trans@SplitVerticalOut{/Dm/V/M/O/S/Split} -\def\aeb@Trans@BlindsHorizontal{/Dm/H/S/Blinds} -\def\aeb@Trans@BlindsVertical{/Dm/V/S/Blinds} -\def\aeb@Trans@BoxIn{/M/I/S/Box} -\def\aeb@Trans@BoxOut{/M/O/S/Box} -\def\aeb@Trans@WipeLeft{/Di 180/S/Wipe} -\def\aeb@Trans@WipeRight{/Di 0/S/Wipe} -\def\aeb@Trans@WipeDown{/Di 270/S/Wipe} -\def\aeb@Trans@WipeUp{/Di 90/S/Wipe} -\def\aeb@Trans@Dissolve{/S/Dissolve} -\def\aeb@Trans@GlitterRight{/Di 0/S/Glitter} -\def\aeb@Trans@GlitterDown{/Di 270/S/Glitter} -\def\aeb@Trans@GlitterRightDown{/Di 315/S/Glitter} -\def\aeb@Trans@Replace{/S/R} -\def\aeb@Trans@FlyInRight{/Di 0/M/I/S/Fly} -\def\aeb@Trans@FlyInLeft{/Di 180/M/I/S/Fly} -\def\aeb@Trans@FlyInDown{/Di 270/M/I/S/Fly} -\def\aeb@Trans@FlyInUp{/Di 90/M/I/S/Fly} -\def\aeb@Trans@FlyOutRight{/Di 0/M/O/S/Fly} -\def\aeb@Trans@FlyOutLeft{/Di 180/M/O/S/Fly} -\def\aeb@Trans@FlyOutDown{/Di 270/M/O/S/Fly} -\def\aeb@Trans@FlyOutUp{/Di 90/M/O/S/Fly} -\def\aeb@Trans@FlyIn{/M/I/S/Fly} -\def\aeb@Trans@FlyOut{/M/O/S/Fly} -\def\aeb@Trans@PushLeft{/Di 180/S/Push} -\def\aeb@Trans@PushRight{/Di 0/S/Push} -\def\aeb@Trans@PushDown{/Di 270/S/Push} -\def\aeb@Trans@PushUp{/Di 90/S/Push} -\def\aeb@Trans@CoverLeft{/Di 180/S/Cover} -\def\aeb@Trans@CoverRight{/Di 0/S/Cover} -\def\aeb@Trans@CoverDown{/Di 270/S/Cover} -\def\aeb@Trans@CoverUp{/Di 90/S/Cover} -\def\aeb@Trans@CoverLeftDown{/Di 225.0/S/Cover} -\def\aeb@Trans@CoverLeftUp{/Di 135.0/S/Cover} -\def\aeb@Trans@CoverRightDown{/Di 315.0/S/Cover} -\def\aeb@Trans@CoverRightUp{/Di 45.0/S/Cover} -\def\aeb@Trans@UncoverLeft{/Di 180/S/Uncover} -\def\aeb@Trans@UncoverRight{/Di 0/S/Uncover} -\def\aeb@Trans@UncoverDown{/Di 270/S/Uncover} -\def\aeb@Trans@UncoverUp{/Di 90/S/Uncover} -\def\aeb@Trans@UncoverLeftDown{/Di 225.0/S/Uncover} -\def\aeb@Trans@UncoverLeftUp{/Di 135.0/S/Uncover} -\def\aeb@Trans@UncoverRightDown{/Di 315.0/S/Uncover} -\def\aeb@Trans@UncoverRightUp{/Di 45.0/S/Uncover} -\def\aeb@Trans@Fade{/S/Fade} -\def\aeb@Trans@Random{/S/Random} -\def\aeb@Trans@Blend{/S/Blend} -\def\aeb@Trans@PushLeftDown{% - /S/Push/Directional/BiDir/Di 225.0/Curve/Easy} -\def\aeb@Trans@PushLeftUp{% - /S/Push/Directional/BiDir/Di 135.0/Curve/Easy} -\def\aeb@Trans@PushRightDown{% - /S/Push/Directional/BiDir/Di 315.0/Curve/Easy} -\def\aeb@Trans@PushRightUp{% - /S/Push/Directional/BiDir/Di 45.0/Curve/Easy} -\def\aeb@Trans@WipeLeftDown{% - /S/Wipe/Directional/BiDir/Di 225/Curve/Easy} -\def\aeb@Trans@WipeLeftUp{% - /S/Wipe/Directional/BiDir/Di 135/Curve/Easy} -\def\aeb@Trans@WipeRightDown% - {/S/Wipe/Directional/BiDir/Di 315/Curve/Easy} -\def\aeb@Trans@WipeRightUp{% - /S/Wipe/Directional/BiDir/Di 45/Curve/Easy} -\def\aeb@Trans@ZoomInDown{% - /S/ZoomIn/Directional/BiDir/Di 270.0/Curve/Easy} -\def\aeb@Trans@ZoomInLeft{% - /S/ZoomIn/Directional/BiDir/Di 180.0/Curve/Easy} -\def\aeb@Trans@ZoomInLeftDown{% - /S/ZoomIn/Directional/BiDir/Di 225.0/Curve/Easy} -\def\aeb@Trans@ZoomInLeftUp{% - /S/ZoomIn/Directional/BiDir/Di 135.0/Curve/Easy} -\def\aeb@Trans@ZoomInRight{% - /S/ZoomIn/Directional/BiDir/Di 0.0/Curve/Easy} -\def\aeb@Trans@ZoomInRightDown{% - /S/ZoomIn/Directional/BiDir/Di 315.0/Curve/Easy} -\def\aeb@Trans@ZoomInRightUp{% - /S/ZoomIn/Directional/BiDir/Di 45.0/Curve/Easy} -\def\aeb@Trans@ZoomInUp{% - /S/ZoomIn/Directional/BiDir/Di 90.0/Curve/Easy} -\def\aeb@Trans@ZoomOutDown{% - /S/ZoomOut/Directional/BiDir/Di 270.0/Curve/Easy} -\def\aeb@Trans@ZoomOutLeft{% - /S/ZoomOut/Directional/BiDir/Di 180.0/Curve/Easy} -\def\aeb@Trans@ZoomOutLeftDown{% - /S/ZoomOut/Directional/BiDir/Di 225.0/Curve/Easy} -\def\aeb@Trans@ZoomOutLeftUp{% - /S/ZoomOut/Directional/BiDir/Di 135.0/Curve/Easy} -\def\aeb@Trans@ZoomOutRight{% - /S/ZoomOut/Directional/BiDir/Di 0.0/Curve/Easy} -\def\aeb@Trans@ZoomOutRightDown{% - /S/ZoomOut/Directional/BiDir/Di 315.0/Curve/Easy} -\def\aeb@Trans@ZoomOutRightUp{% - /S/ZoomOut/Directional/BiDir/Di 45.0/Curve/Easy} -\def\aeb@Trans@ZoomOutUp{% - /S/ZoomOut/Directional/BiDir/Di 90.0/Curve/Easy} -\def\aeb@Trans@CombHorizontal{% - /S/Comb/Directional/BiDir/Dm/H/Curve/Easy} -\def\aeb@Trans@CombVertical{% - /S/Comb/Directional/BiDir/Dm/V/Curve/Easy} -\def\canceleveryPageOpen{\global\@everyPageOpenfalse - \global\let\every@PageOpen\@empty} -\def\canceleveryPageClose{\global\@everyPageClosefalse - \global\let\every@PageClose\@empty} -\newenvironment{everyPageOpen}[1][] -{\global\@everyPageOpentrue\@defineJS[#1]{\every@PageOpen}} -{\end@defineJS - \ifnum\value{page}=1\relax - \gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\every@PageOpen}}{}}% - \expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi -} -\newenvironment{everyPageClose}[1][] -{\global\@everyPageClosetrue\@defineJS[#1]{\every@PageClose}} -{\end@defineJS - \ifnum\value{page}=1\relax - \gdef\ap@AddtoCloseJS{\thisPageAction{}{\JS{\every@PageClose}}}% - \expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi -} -\let\every@PageOpen\@empty -\let\every@PageClose\@empty -\newenvironment{addJSToPageOpen}[1][] -{\@defineJS[#1]{\addJST@PageOpen}}{\end@defineJS - \ifnum\value{page}=1\relax - \gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\addJST@PageOpen}}{}}% - \expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi -} -\newenvironment{addJSToPageOpenAt}[2][] -{\@@defineJS[#1]{addJST@PageOpenAt}{#2}}{\end@@defineJS - \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES - \thisPageAction{\JS{\@nameuse{addJST@PageOpenAt1}}}{}\fi\fi -} -\newenvironment{addJSToPageClose}[1][] -{\@defineJS[#1]{\addJST@PageClose}}{\end@defineJS - \ifnum\value{page}=1\relax - \gdef\ap@AddtoCloseJS{% - \thisPageAction{}{\JS{\addJST@PageClose}}}% - \expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi -} -\newenvironment{addJSToPageCloseAt}[2][] -{\@@defineJS[#1]{addJST@PageCloseAt}{#2}}{\end@@defineJS - \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES - \thisPageAction{}{\JS{\@nameuse{addJST@PageCloseAt1}}}\fi\fi -} -\let\addJST@PageOpen\@empty -\let\addJST@PageClose\@empty -\def\aebp@PageOpenCloseHandler{% - \@ifundefined{addJST@PageOpenAt\arabic{page}}% - {\global\let\thisOpenPageActionAt\@empty}% - {\gdef\thisOpenPageActionAt{% - \@nameuse{addJST@PageOpenAt\arabic{page}}}}% - \@ifundefined{addJST@PageCloseAt\arabic{page}}% - {\global\let\thisClosePageActionAt\@empty}% - {\gdef\thisClosePageActionAt{% - \@nameuse{addJST@PageCloseAt\arabic{page}}}}% - \aebPageAction{\thisOpenPageActionAt\addJST@PageOpen}% - {\thisClosePageActionAt\addJST@PageClose}% - \global\let\addJST@PageOpen\@empty - \global\let\addJST@PageClose\@empty -} -\def\aebp@PageTransHandler{\@ifundefined{aebpP@geTr@nsP@ge\arabic{page}} - {}{\@nameuse{aebpP@geTr@nsP@ge\arabic{page}}}} -\AddToShipoutPicture{\aebp@PageOpenCloseHandler - \aebp@PageTransHandler} -\newenvironment{@@defineJS}[3][] -{% - \gdef\argType{#2}\gdef\defineJSArg{#3}\JStoks={}% - \def\verbatim@processline - {% - \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}% - \global\JStoks=\expandafter{\JS@temp}% - }% - \let\do\@makeother\dospecials\catcode`\^^M\active - #1% - \verbatim@start -}{% - \expandafter\aebp@rse\expandafter{\defineJSArg}% - \edef\shakeandbake{% - \noexpand\@for\noexpand\@mytoks:=\the\aeb@parsetoks}% - \aeb@parsecnt=0 \shakeandbake \do {% - \ifnum\aeb@parsecnt=0 - \edef\firsttok{\@mytoks}% - \csarg\xdef{\argType\@mytoks}{\the\JStoks}% - \else - \edef\letsmakelet{\global\let\expandafter\noexpand - \csname\argType\@mytoks\endcsname=\expandafter\noexpand - \csname\argType\firsttok\endcsname}% - \letsmakelet - \fi - \advance\aeb@parsecnt1\relax - }% -} -\newif\ifaeb@PageOpen -\newif\ifaeb@PageClose -\newif\if@everyPageOpen\@everyPageOpenfalse -\newif\if@everyPageClose\@everyPageClosefalse -\newcommand\aebPageAction[3][ThisPage]{% - \let\ispageactions=0\aeb@PageOpenfalse\aeb@PageClosefalse - \def\@aebOpen{#2}% - \if1\@aebOpen1% - \if@everyPageOpen - \aeb@PageOpentrue\let\ispageactions=1% - \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}% - \fi - \else - \let\ispageactions=1% - \aeb@PageOpentrue - \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}% - \fi - \def\@aebClose{#3}% - \if1\@aebClose1% - \if@everyPageClose - \aeb@PageClosetrue\let\ispageactions=1% - \def\@aebClose{/C << \JS{\every@PageClose#3} >>}% - \fi - \else - \let\ispageactions=1% - \aeb@PageClosetrue - \def\@aebClose{/C << \JS{\every@PageClose#3} >>}% - \fi - \if@everyPageOpen\aeb@PageOpentrue\let\ispageactions=1\fi - \if@everyPageClose\@everyPageClosetrue\let\ispageactions=1\fi - \if\ispageactions1% - \xdef\aebp@PageActionCode{/AA << - \ifaeb@PageOpen\@aebOpen\space\fi - \ifaeb@PageClose\@aebClose\space\fi >>} - \ifnum\value{page}=1\relax\else - \ifpdfmarkup\literalps@out{\AEB@psMrk{#1} << - \aebp@PageActionCode\space >> /PUT pdfmark}\else - \ifpdf\global\pdfpageattr=\expandafter - {\aebp@PageActionCode}\else - \ifxetex\@pdfm@mark{put @thispage << - \aebp@PageActionCode\space>>}\fi\fi\fi - \fi - \fi -} -\def\aeb@exiii{\expandafter\expandafter\expandafter} -\let\ahrefexafter\aeb@exiii -\def\atPage#1{\@ifundefined{r@#1}{1} - {\aeb@exiii\@secondoffive\csname r@#1\endcsname}} -\def\labelRef#1{\@ifundefined{r@#1}{Doc-Start} - {\aeb@exiii\@fourthoffive\csname r@#1\endcsname}} -\newtoks\aeb@parsetoks -\newcount\aeb@parsecnt -\def\ap@gobtonil#1\@nil{} -\def\ap@gettonil#1\@nil{\def\to@nilarg{#1}} -\def\ap@ifspc{\ifx\@let@token\@sptoken - \let\ap@next\ap@xifspc\else - \let\ap@next\ap@gettonil\fi\ap@next} -\begingroup -\def\:{\ap@xifspc} -\expandafter\gdef\: {\futurelet\@let@token\ap@ifspc} -\endgroup -\def\ap@strpspcs{\futurelet\@let@token\ap@ifspc} -\def\ap@pgrngLabelsInPream{\@ifundefined{aebLastPage} - {\PackageWarning{aeb_pro}{The \string\atPage\space - command is not supported\MessageBreak in the preamble}}{}} -\def\aeb@removelastcomma#1,\@nil{\aeb@parsetoks={#1}} -\def\aebp@rse#1{\global\let\frstPageSpec\aebp@NO - \aeb@parsetoks={}\aeb@parse#1,\relax} -\def\aeb@parse{\@ifnextchar\relax - {\expandafter\aeb@removelastcomma\the\aeb@parsetoks\@nil} - {\aeb@@parse}} -\def\aeb@@parse#1,{\aeb@@@parse#1-\@nil} -\def\aeb@@@parse#1-#2\@nil{% - \def\argi{#2}\ifx\argi\@empty\def\aeb@next{\aeb@@@@parse{#1}}\else - \def\aeb@next{\aeb@@@@@parse#1-#2}\fi\aeb@next} -\def\aeb@@@@parse#1{%single page #1 - \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} - {\ap@gobtonil}#1\@nil - \aeb@parsecnt=#1\relax - \edef\edefaeb@parsetoks{\the\aeb@parsetoks\the\aeb@parsecnt,}% - \aeb@parsetoks=\expandafter{\edefaeb@parsetoks}% - \ifnum\aeb@parsecnt=1\relax\global\let\frstPageSpec\aebp@YES\fi - \aeb@parse} -\def\aeb@@@@@parse#1-#2-{\def\aeb@lowerlimit{#1}\def\aeb@upperlimit{#2}% - % range argument from #1 to \csname aebLastPage\endcsname - \ifx\aeb@upperlimit\@empty - \@ifundefined{aebLastPage}{\aeb@parsecnt=#1} - {\expandafter\aeb@parsecnt\expandafter= - \csname aebLastPage\endcsname}% - \else % page range #1 to #2, switch the two if #2 < #1 - \aeb@parsecnt=\aeb@lowerlimit\relax - \edef\aeb@lowerlimit{\the\aeb@parsecnt} - \aeb@parsecnt=\aeb@upperlimit\relax - \ifnum\aeb@parsecnt<\aeb@lowerlimit\relax - \aeb@parsecnt=\aeb@lowerlimit\relax - \def\aeb@lowerlimit{#2}% - \def\aeb@upperlimit{#1}% - \fi - \fi - \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} - {\ap@gobtonil}#1\@nil - \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} - {\ap@gobtonil}#2\@nil - \advance\aeb@parsecnt1\relax - \edef\aeb@upperlimit{\the\aeb@parsecnt}% - \aeb@parsecnt=\aeb@lowerlimit\relax - \ifnum\aeb@parsecnt=1\relax\global\let\frstPageSpec\aebp@YES\fi - \loop - \edef\edefaeb@parsetoks{\the\aeb@parsetoks\the\aeb@parsecnt,}% - \aeb@parsetoks=\expandafter{\edefaeb@parsetoks}% - \advance\aeb@parsecnt1\relax - \ifnum\aeb@parsecnt < \aeb@upperlimit\relax\repeat - \aeb@parse} -\@ifpackageloaded{insdljs}{% - \newenvironment{fs@willClose} - {\@defineJS{\fs@will@Close}} - {\end@defineJS} - \let\fs@will@Close\@empty -}{% - \newenvironment{willClose} - {\@defineJS{\will@Close}} - {\end@defineJS} - \let\will@Close\@empty - \newenvironment{fs@willClose} - {\@defineJS{\fs@will@Close}} - {\end@defineJS} - \let\fs@will@Close\@empty - \newenvironment{willSave} - {\@defineJS{\will@Save}} - {\end@defineJS} - \let\will@Save\@empty - \newenvironment{didSave} - {\@defineJS{\did@Save}} - {\end@defineJS} - \let\did@Save\@empty - \newenvironment{willPrint} - {\@defineJS{\will@Print}} - {\end@defineJS} - \let\will@Print\@empty - \newenvironment{didPrint} - {\@defineJS{\did@Print}} - {\end@defineJS} - \let\did@Print\@empty -} -\let\developer@will@Close\@empty -\let\developer@will@Save\@empty -\let\developer@did@Save\@empty -\let\developer@will@Print\@empty -\let\developer@did@Print\@empty -\newcommand\@setDocActions{% - \edef\test@will@Close{% - \fs@will@Close\will@Close\developer@will@Close}% - \edef\test@will@Save{\will@Save\developer@will@Save}% - \edef\test@did@Save{\did@Save\developer@did@Save}% - \edef\test@will@Print{\will@Print\developer@will@Print}% - \edef\test@did@Print{\did@Print\developer@did@Print}% - \def\aebp@DocActionsCode{/AA << % - \ifx\test@will@Close\@empty\else/WC << - \JS{\fs@will@Close\will@Close\developer@will@Close} >>\fi - \ifx\test@will@Save\@empty\else/WS << - \JS{\will@Save\developer@will@Save} >>\fi - \ifx\test@did@Save\@empty\else/DS << - \JS{\did@Save\developer@did@Save} >>\fi - \ifx\test@will@Print\@empty\else/WP << - \JS{\will@Print\developer@will@Print} >>\fi - \ifx\test@did@Print\@empty\else/DP << - \JS{\did@Print\developer@did@Print} >>\fi - >> - } - \ifpdfmarkup\literalps@out{\AEB@psMrk{Catalog} - << \aebp@DocActionsCode\space>> /PUT pdfmark}\else - \ifpdf\pdfcatalog{\aebp@DocActionsCode}\else - \ifxetex\immediate - \@pdfm@mark{put @catalog <<\aebp@DocActionsCode\space>>}\fi - \fi\fi -} -\AtBeginDocument{\@setDocActions} -\def\aref(#1){\csname aeb@aDescript@#1\endcsname} -\def\aeb@initAttachWrite{% - \newwrite \aeb@attachmentswrite - \immediate\openout \aeb@attachmentswrite \jobname_attach.cut - \let\verbatim@out\aeb@attachmentswrite - \aeb@IWVO{\string\begin{execJS}{aebpro_attach}}% - {\lccode`P=`\{\lowercase{\aeb@IWVO{try P}}}% -} -\newcommand{\prjInputUser}[1]{\input{#1}} -\newcommand{\prjIncludeUser}[1]{\include{#1}} -\newcommand{\addtoOptAttachments}[1]{% - \g@addto@macro\AP@addtoAttachments{,#1}} -\newcommand{\getcNameFromFileName}[1]{\@nameuse{descrip4#1}} -\def\AP@addtoAttachments{} -\def\jsstrsps{replace(/^\string\s*/, "")} -\def\jsstrdotsp{replace(/\string\.\string\s*/g, ".")} -\ifoptattachments - \def\AP@writeOptAttach{% - \newwrite\AP@OptAttachlist - \immediate\openout \AP@OptAttachlist \jobname_oa.cut - \immediate\write\AP@OptAttachlist{\string\def\string - \APOptAttachments{\AP@addtoAttachments}} - \immediate\closeout\AP@OptAttachlist} - \AtEndDocument{\AP@writeOptAttach} - \def\AP@pathInput#1{% - \addtoOptAttachments{#1}\prjInputUser{#1}} - \def\AP@pathInclude#1{% - \addtoOptAttachments{#1.tex}\prjIncludeUser{#1}} - \InputIfFileExists{\jobname_oa.cut}{% - \def\AP@next{\edef\aeb@attachments - {\aeb@attachments\APOptAttachments}}% - }{\let\AP@next\relax} - \AP@next -\else - \def\AP@pathInput#1{\prjInputUser{#1}} - \def\AP@pathInclude#1{\prjIncludeUser{#1}} -\fi -\ifoptattachmentsTaken - \def\prjinput{\hyper@normalise\AP@pathInput} - \def\prjinclude{\hyper@normalise\AP@pathInclude} - \let\AP@includeonly\includeonly - \def\includeonly{\hyper@normalise\AP@includeonly} -\else - \def\prjinput{\prjInputUser} - \def\prjinclude{\prjIncludeUser} -\fi -\ifx\aeb@attachsource\@empty - \ifx\aeb@attachments\@empty - \else\aeb@initAttachWrite\fi -\else - \@ifundefined{aeb@attachmentswrite} - {\aeb@initAttachWrite}{} -\fi -\def\ap@cName(#1){\csname aeb@aName@attach#1\endcsname} -\def\ap@cNamexdef(#1){\expandafter - \xdef\csname aeb@aName@attach#1\endcsname} -\def\ap@cDescript(#1){\csname aeb@aDescript@attach#1\endcsname} -\def\ap@cDescriptSource(#1){\csname aeb@aDescript@#1\endcsname} -\def\ap@cDescriptxdef(#1){\expandafter - \xdef\csname aeb@aDescript@attach#1\endcsname} -\def\ap@cDescriptSourcexdef(#1){\expandafter - \xdef\csname aeb@aDescript@#1\endcsname} -\ifx\aeb@attachsource\@empty\else - \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\aeb@attachsource} - \temp@expand\do{% - \ifx\@@tmp\@empty\else - \expandafter\ap@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}% - \ap@cDescriptSourcexdef(\@@tmp){\jobname.\@@tmp}% - \aeb@IWVO{\space\space\space\space - var retn=\string\importDataObject({% - cName: "\@@tmp", - cDIPath: "\jobname.\@@tmp".\jsstrdotsp});}% - \aeb@IWVO{\space\space\space\space - if ( (app.viewerVersion>7) && retn ) - this.getDataObject("\@@tmp").description=% - "\string\ap@cDescriptSource(\@@tmp)".\jsstrdotsp;}% - \expandafter - \edef\csname aeb@aName@\@@tmp\endcsname{\jobname.\@@tmp}% - \fi - }% -\fi -\ifx\aeb@attachments\@empty\else -\typeout{\string\aeb@attachments: \aeb@attachments}% - \aeb@parsecnt=0 - \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\aeb@attachments} - \temp@expand\do - {% - \ifx\@@tmp\@empty\else - \expandafter\ap@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}% - \advance\aeb@parsecnt1\relax - \ap@cNamexdef(\the\aeb@parsecnt){attach\the\aeb@parsecnt}% - \ap@cDescriptxdef(\the\aeb@parsecnt)% - {AeB Attachment \the\aeb@parsecnt}% - \aeb@IWVO{\space\space\space\space - var retn=\string\importDataObject({% - cName:"\string\ap@cName(\the\aeb@parsecnt)",% - cDIPath: "\@@tmp".\jsstrsps});}% - \aeb@IWVO{\space\space\space\space - if ( (app.viewerVersion>7) && retn ) - this.getDataObject(% - "\string\ap@cName(\the\aeb@parsecnt)").description=% - "\string\ap@cDescript(\the\aeb@parsecnt)";}% - \expandafter - \expandafter\xdef\csname descrip4\@@tmp\endcsname - {\noexpand\ap@cName(\the\aeb@parsecnt)}% - \fi - } -\fi -\@ifundefined{aeb@attachmentswrite}{} -{% - {\lccode`P=`\}\def\jsMsg{"Attachments error: " - + e.toString()}\lowercase{\aeb@IWVO{P catch(e) - { console.println( \jsMsg\space); }}}}% - \aeb@IWVO{\string\end{execJS}} - \immediate\closeout \aeb@attachmentswrite -} -\def\aeb@inputAttachments{\@ifundefined{aeb@attachmentswrite}{} - {\InputIfFileExists{\jobname_attach.cut}% - {\typeout{Inputting attachments file}}% - {\typeout{Cannot find attachments file}}}% -} -\define@choicekey+{aebpdfpack}{viewmode}[\val\nr]% - {details,tile,layout,hidden}{% - \ifcase\nr\relax - \def\aeb@pdfpack@viewmode{/D}\or - \def\aeb@pdfpack@viewmode{/T}\or - \def\aeb@pdfpack@viewmode{/T}\or - \def\aeb@pdfpack@viewmode{/H}\fi -}{} -\define@key{aebpdfpack}{initview}[]{\def\aeb@pdfpack@initview{#1}} -\let\aeb@pdfpack@initview\@empty -\newcommand{\earlyAttachForPkgs}{% -if (this.collection!=null&&this.collection.initialView == "Hidden") -var hideto=app.setTimeOut("app.clearTimeOut(hideto);" - +"app.execMenuItem('CollectionPreview');",1); -\if@gopro -if(typeof _aebpro_attach == "undefined") -( app.viewerVersion > 8 ) ? % -aebTrustedFunctions(this,aebImportAnFDF,"aebpro_attach.fdf") : % -this.importAnFDF("aebpro_attach.fdf");\fi -\ifisPDFPackage\ifx\aeb@pdfpack@initview\@empty^^J% -if(app.viewerVersion<15)^^J% -var pkto=app.setTimeOut("app.clearTimeOut(pkto);" -+"app.execMenuItem('CollectionShowRoot');",5000);\fi\fi} -\newif\ifisPDFPackage\isPDFPackagefalse -\newcommand{\makePDFPackage}[1]{\isPDFPackagetrue - \setkeys{aebpdfpack}{viewmode=details,#1}% - \ifx\aeb@pdfpack@initview\@empty - \let\aeb@pdfpackage@initview\@empty - \else - {\obeyspaces\sanitize@attach\gdef\aeb@pdfpackage@initview% -{/D<\expandafter\stringiiUnicode\aeb@pdfpack@initview\relax>}}% - \fi - \def\aeb@PDFPackageCode{/PageMode/UseAttachments% - /Collection<>}% - \ifpdfmarkup - \def\aeb@setPDFPackage{\literalps@out{\AEB@psMrk{Catalog} - <<\aeb@PDFPackageCode>>/PUT pdfmark}}% - \else\ifpdf\def\aeb@setPDFPackage{% - \pdfcatalog{\aeb@PDFPackageCode}}\else - \ifxetex\def\aeb@setPDFPackage{\immediate - \@pdfm@mark{put @catalog <<\aeb@PDFPackageCode>>}}\else - \let\aeb@setPDFPackage\relax\PackageWarning{aeb_pro} - {The \string\makePDFPackage/string\makePDFPortfolio\space - is supported for\MessageBreak - dvips, pdftex, and xetex only}\fi\fi\fi -} -\let\makePDFPortfolio\makePDFPackage -\@onlypreamble\makePDFPackage -\let\aebp@attachments\aebp@Zero -\ifx\aeb@attachsource\@empty\else\let\aebp@attachments\aebp@One\fi -\ifx\aeb@attachments\@empty\else\let\aebp@attachments\aebp@One\fi -\ifx\aebp@attachments\aebp@One - \dev@addToDocOpen{\JS{\earlyAttachForPkgs}}% -\fi -\newenvironment{docassembly}{% -\execJS{docassembly} -}{\endexecJS} -\let\ap@mrk\@empty -\def\ap@gobtocomma#1,{} -\providecommand\chngDocObjectTo[2]{% - \def#1##1\ap@mrk{#2,\ap@gobtocomma##1}} -\def\ap@TF{aebTrustedFunctions} -\def\theDocObject{this} -\providecommand\DeclareJSHelper[2]{% - \def#1##1({\ap@TF(##1\theDocObject,#2,\ap@mrk}} -\DeclareJSHelper{\addWatermarkFromFile}{aebAddWatermarkFromFile} -\DeclareJSHelper{\importIcon}{aebImportIcon} -\DeclareJSHelper{\importSound}{aebImportSound} -\DeclareJSHelper{\appopenDoc}{aebAppOpenDoc} -\DeclareJSHelper{\docSaveAs}{aebDocSaveAs} -\DeclareJSHelper{\insertPages}{aebInsertPages} -\DeclareJSHelper{\createTemplate}{aebCreateTemplate} -\DeclareJSHelper{\importDataObject}{aebImportDataObject} -\DeclareJSHelper{\executeSave}{aebSaveAs,"Save"\@gobble} -\DeclareJSHelper{\extractPages}{aebExtractPages} -\DeclareJSHelper{\mailDoc}{aebMailDoc} -\newcommand{\sigInfo}{var oSigInfo=} -\def\sigFieldObj(#1){var oSigField=this.getField(#1)} -\def\signatureSetSeedValue#1{% - \ap@TF( oSigField, aebSignatureSetSeedValue, } -\begin{defineJS}[\def\defineJSjsR{^^J}]{\signatureSign} -if ( typeof oSigInfo.oHandler=="undefined" ) - oSigInfo.oHandler=security.PPKLiteHandler; -var engine=aebTrustedFunctions( security, - aebSecurityGetHandler, oSigInfo.oHandler ); -var path2Cert = (typeof oSigInfo.path2Cert == "undefined") ? - aebTrustedFunctions( this, aebAppGetPath, - {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert : - oSigInfo.path2Cert; -aebTrustedFunctions( engine, aebSecurityHandlerLogin, - { cPassword: oSigInfo.password, cDIPath: path2Cert}); -var oSigField = this.getField(oSigInfo.cSigFieldName); -oSigInfo.oInfo.password=oSigInfo.password; -if ( typeof oSigInfo.sv!="undefined" ) { - for (var o in oSigInfo.sv ) - oSigInfo.oInfo[o]=oSigInfo.sv[o]; -} -var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo }; -if ( typeof oSigInfo.cLegalAttest!="undefined" ) - oSigArgs.cLegalAttest=oSigInfo.cLegalAttest; -if ( typeof oSigInfo.cDIPath!="undefined") - oSigArgs.cDIPath=oSigInfo.cDIPath; -if ( typeof oSigInfo.bUI!="undefined") - oSigArgs.bUI=oSigInfo.bUI; -aebTrustedFunctions( oSigField, aebSignatureSign, oSigArgs ); -\end{defineJS} -\begin{defineJS}[\def\defineJSjsR{^^J}]{\certifyInvisibleSign} -if ( typeof oSigInfo.oHandler=="undefined" ) - oSigInfo.oHandler=security.PPKLiteHandler; -var engine=aebTrustedFunctions( security, - aebSecurityGetHandler, oSigInfo.oHandler ); -var path2Cert=aebTrustedFunctions( this, aebAppGetPath, - {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert; -aebTrustedFunctions( engine, aebSecurityHandlerLogin, - { cPassword: oSigInfo.password, cDIPath: path2Cert}); -oSigInfo.oInfo.password=oSigInfo.password; -var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo }; -if ( typeof oSigInfo.cLegalAttest!="undefined" ) - oSigArgs.cLegalAttest=oSigInfo.cLegalAttest; -if ( typeof oSigInfo.cDIPath!="undefined") - oSigArgs.cDIPath=oSigInfo.cDIPath; -if ( typeof oSigInfo.bUI!="undefined") - oSigArgs.bUI=oSigInfo.bUI; -aebTrustedFunctions( this, aebCertifyInvisibleSign, oSigArgs ); -\end{defineJS} -\let\predocassemJS\@empty -\def\aeb@image@cnt{0} -\define@key{importIcons}{name}[]{\def\importIcons@name{#1}} -\define@key{importIcons}{path}[]{\def\importIcons@path{#1}} -\define@key{importIcons}{page}[]{\def\importIcons@page{#1}} -\define@key{importIcons}{placement}[]{\def\importIcons@placement{#1}} -\define@boolkey{importIcons}{embedonly}[true]{} -\define@key{importIcons}{firstpage}[]{\def\importIcons@firstpage{#1}} -\define@key{importIcons}{lastpage}[]{\def\importIcons@lastpage{#1}} -\newcommand{\aebp@getFace}[1][0]{% - \def\importIcons@face{#1}\aebp@getPlacement} -\def\aebp@getPlacement#1\@nil{\def\importIcons@fieldname{#1}% - \expandafter\ap@strpspcs\importIcons@fieldname\@nil - \edef\importIcons@fieldname{\to@nilarg}% -} -\newcommand{\declareMultiImages}[1]{% - \edef\@tforExp{\noexpand\@tfor\noexpand\@dipArgs:=#1}% - \@tforExp\do{% - \expandafter\declareImageAndPlacement - \expandafter{\@dipArgs}% - }% -} -\newcommand{\declareImageAndPlacement}[1]{% - \edef\@tempexp{\noexpand\setkeys{importIcons}{name,path,page,% - placement,embedonly=false,#1}}\@tempexp - \ifx\importIcons@name\@empty{\count0=\aeb@image@cnt - \advance\count0by1\relax\xdef\aeb@image@cnt{\the\count0}}% - \edef\importIcons@name{aebImage\aeb@image@cnt}\fi - \ifx\importIcons@path\@empty - \PackageError{aeb_pro}{The `path' key is required} - {Please give the path of the icon.}\fi - \ifx\importIcons@placement\@empty\ifKV@importIcons@embedonly\else - \PackageWarningNoLine{aeb_pro}{% - The `placement' key was not found for the\MessageBreak - image named "\importIcons@name".\MessageBreak - Specify this key, or insert the image manually in\MessageBreak - the docassembly environment.}\fi\fi - \xdef\predocassemJS{\predocassemJS - var retn=\importIcon({cName:"\importIcons@name",% - cDIPath:"\importIcons@path"% - \ifx\importIcons@page\@empty\else,% - nPage:\importIcons@page\fi});^^J% - if ( retn==-1 ) console.println("The file - \string\"\importIcons@path\string\" could not be opened.");^^J% - if ( retn==-2 ) console.println("Selected page - (page=\importIcons@page) for \string\"\importIcons@path\string\" - is invalid.");^^J}% - \ifx\importIcons@placement\@empty\else - \@for\@fieldname:=\importIcons@placement\do{% - \expandafter\aebp@getFace\@fieldname\@nil - \xdef\predocassemJS{\predocassemJS - var f = this.getField("\importIcons@fieldname");^^J% - if ( f == null ) console.println("The field - \string\"\importIcons@fieldname\string\" - does not exist.");^^J% - try { f.buttonSetIcon(this.getIcon("\importIcons@name"),% - \importIcons@face); } - catch(e){};^^J}% - }% - \fi -} -\@onlypreamble\declareImageAndPlacement -\newcommand{\iconNameI}[1]{\def\IconNameI(##1){#1}} -\iconNameI{#1+"."+i} -\@onlypreamble\iconNameI -\newcommand{\embedMultiPageImages}[1]{% - \setkeys{importIcons}{name,path,page,placement,% - firstpage,lastpage,#1}% - \ifx\importIcons@firstpage\@empty - \def\importIcons@firstpage{1}\else - {\count0=\importIcons@firstpage}\fi - \ifx\importIcons@lastpage\@empty - \def\importIcons@lastpage{this.numPages}\else - {\count0=\importIcons@lastpage}\fi - \ifx\importIcons@name\@empty - \PackageError{aeb_pro}{The `name' key is required} - {Please give the icon family a name.}\fi - \ifx\importIcons@path\@empty - \PackageError{aeb_pro}{The `path' key is required} - {Please give the path of the icon.}\fi - \def\r{^^J}\def\t{\space\space\space\space}% - \let\predocassemJSPlace\@empty - \ifx\importIcons@placement\@empty\else - \@for\@fieldname:=\importIcons@placement\do{% - \expandafter\aebp@getFace\@fieldname\@nil - \edef\predocassemJSPlace{\predocassemJSPlace\t - var f = this.getField("\importIcons@fieldname."+i);\r\t - if ( f == null ) console.println("The field - \string\"\importIcons@fieldname."+i+"\string\" - does not exist.");\r\t - try { f.buttonSetIcon(this.getIcon(% -\IconNameI("\importIcons@name")),% - \importIcons@face); } - catch(e){};\r}% - }% - \fi - \xdef\predocassemJS{\predocassemJS - var l=\importIcons@lastpage-\importIcons@firstpage+1;\r - for (var i=0; i> /PUT pdfmark}% + \gdef\pubAddToDocOpen{{pubAddToDocOpen}}% + \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% +\else\ifpdf + \immediate\pdfobj{<< \aebpopentoks + \ifx\dev@addOpenAction\@empty\else + \ifx\aeb@addOpenActionArg\@empty\else^^J% + \dev@addOpenAction\fi\fi\aebp@rightDelimiters + >>}\xdef\pubAddToDocOpen{\the\pdflastobj\space 0 R}% + \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% +\else\ifxetex + \immediate\@pdfm@mark{obj @pubAddToDocOpen << \aebpopentoks + \ifx\dev@addOpenAction\@empty\else + \ifx\aeb@addOpenActionArg\@empty\else^^J% + \dev@addOpenAction\fi\fi\aebp@rightDelimiters >> }% + \gdef\pubAddToDocOpen{@pubAddToDocOpen}% + \xdef\aeb@addOpenAction{/Next \pubAddToDocOpen}% +\fi\fi\fi\egroup}% + \global\let\aebpFA\aebp@YES + \else + \edef\aebp@dljstmp{\aebp@rightDelimiters}% + \xdef\aebp@rightDelimiters{\aebp@dljstmp >> }% + \g@addto@macro\aebpopentoks{/Next << #1 }% + \fi +} +\let\additionalOpenAction\addToDocOpen +\let\dev@addOpenAction\@empty +\let\dev@addOpenActionArg\@empty +\let\dev@addActionCode\@empty +\let\aebpFAP\aebp@NO +\let\aebpopentoksP\@empty +\def\aebp@rightDelimitersP{} +\newcommand{\dev@addToDocOpen}[1]{% + \ifx\aebpFAP\aebp@NO + \gdef\dev@addOpenActionArg{#1}% + \g@addto@macro\aebpopentoksP{#1}% + \def\dev@addActionCode{\bgroup\makeJSspecials\dl@preProcDefns +\ifpdfmarkup + \literalps@out{\AEB@psMrk/_objdef {privAddDocOpen} + /type/dict /OBJ pdfmark^^J% + \AEB@psMrk{privAddDocOpen} << \aebpopentoksP + \aebp@rightDelimitersP\space>> /PUT pdfmark}% + \gdef\privAddDocOpen{{privAddDocOpen}}% + \gdef\dev@addOpenAction{/Next {privAddDocOpen}}% +\else\ifpdf + \immediate\pdfobj{<< \aebpopentoksP + \aebp@rightDelimitersP\space>>}% + \xdef\privAddDocOpen{\the\pdflastobj\space 0 R}% + \xdef\dev@addOpenAction{/Next \privAddDocOpen}% +\else\ifxetex + \immediate\@pdfm@mark{obj @privAddToDocOpen << \aebpopentoksP + \aebp@rightDelimitersP\space>> }% + \gdef\privAddDocOpen{@privAddToDocOpen}% + \gdef\dev@addOpenAction{/Next \privAddDocOpen}% +\fi\fi\fi\egroup}% + \global\let\aebpFAP\aebp@YES + \else + \edef\aebp@dljstmpP{\aebp@rightDelimitersP}% + \xdef\aebp@rightDelimitersP{\aebp@dljstmpP >> }% + \g@addto@macro\aebpopentoksP{/Next << #1 }% + \fi +} +\def\aebp@warnonly{warnonly} +\newcommand{\aebp@app@title}{AcroTeX Message} +\newcommand{\requiresVersion}[2][]{\def\aebp@argi{#1}% + \def\requiredVersionNumber{#2}\dev@addToDocOpen{\JS{% +\ifx\aebp@argi\aebp@warnonly + var warnOnly=true; +\else + var warnOnly=false; +\fi + var reqVerMsgC=("\aeb@requiredVersionMsg\space") + + ((warnOnly) ? ("\aeb@reqVerMsgW") : ("\aeb@reqVerMsgC")); + var reqVerMsgR=("\aeb@requiredVersionMsgRedirect\space") + + ((warnOnly) ? ("\aeb@reqVerMsgW") : ("\aeb@reqVerMsgR")); + if( app.viewerVersion < #2 ) { + var viewerPassedReq=false; + try { + if (this.external) { + app.alert({cTitle:"\aebp@app@title", cMsg: reqVerMsgR}); + if (!warnOnly) { + if (app.viewerVersion >= 7.0) + app.launchURL("\aebAlternateDocumentURL"); + else + this.getURL("\aebAlternateDocumentURL",false); + } + } else { + app.alert({cTitle:"\aebp@app@title", cMsg: reqVerMsgC}); + if (!warnOnly) this.closeDoc(true); + } + } catch(e) {} + } else { + var viewerPassedReq=true; + \aeb@ViewerPassedRequirementJS + } +}}} +\def\requiredVersionNumber{7} +\newcommand{\alternateDocumentURL}[1]{\def\aebAlternateDocumentURL{#1}} +\alternateDocumentURL{http://www.acrotex.net/} +\newcommand{\requiredVersionMsg}[1]{\def\aeb@requiredVersionMsg{#1}} +\requiredVersionMsg{This document requires Adobe Reader or Acrobat, + version \requiredVersionNumber\space or later.} +\newcommand{\requiredVersionResult}[3]{\def\aeb@reqVerMsgC{#1}% + \def\aeb@reqVerMsgR{#2}\def\aeb@reqVerMsgW{#3}} +\requiredVersionResult{The document is now closing.} + {Redirecting browser to an alternate page.} + {Some features of this document may not work properly.} +\newcommand{\requiredVersionMsgRedirect}[1]{% + \def\aeb@requiredVersionMsgRedirect{#1}} +\requiredVersionMsgRedirect{% + This document requires Adobe Reader or Acrobat, + version \requiredVersionNumber\space or later.} +\newcommand{\afterRequirementPassedJS}[1]{% + \def\aeb@ViewerPassedRequirementJS{#1}} +\let\aeb@ViewerPassedRequirementJS\@empty +\def\aeb@SetCatalog{% + \ifx\aebpFA\aebp@NO\addToDocOpen{\JS{;}}\fi + \ifx\aebpFAP\aebp@YES\dev@addActionCode\fi + \aeb@addActionCode +\def\aeb@CatEntry{/ViewerPreferences<<% + \ifx\aeb@windowoptsFitWindow\@empty\else + \aeb@windowoptsFitWindow\fi + \ifx\aeb@windowoptsCenterWindow\@empty\else + \aeb@windowoptsCenterWindow\fi + \ifx\aeb@windowoptsDisplayDocTitle\@empty\else + \aeb@windowoptsDisplayDocTitle\fi + \ifx\aeb@uioptsHideToolbar\@empty\else + \aeb@uioptsHideToolbar\fi + \ifx\aeb@uioptsHideMenubar\@empty\else + \aeb@uioptsHideMenubar\fi + \ifx\aeb@uioptsHideWindowUI\@empty\else + \aeb@uioptsHideWindowUI\fi + \ifx\aeb@layoutMagNaviTab\@empty\else + /NonFullScreenPageMode/\aeb@layoutMagNaviTab\fi +>>% + \ifx\aeb@TaggedPDF\@empty\else + /MarkInfo<>\fi + \ifx\aeb@layoutMagPageLayout\@empty\else + /PageLayout/\aeb@layoutMagPageLayout\fi + \ifx\aeb@windowoptsFullScreen\@empty + \ifx\aeb@layoutMagNaviTab\@empty\else + /PageMode/\aeb@layoutMagNaviTab\fi + \else/PageMode/FullScreen\fi +\ifpdfmarkup + \ifx\aeb@layoutMagPage\@empty + \ifx\aeb@layoutMagMag\@empty + /OpenAction \pubAddToDocOpen + \else/OpenAction<>\fi + \else + \ifx\aeb@layoutMagMag\@empty + /OpenAction<>\else + /OpenAction<>\fi + \fi +\else\ifpdf + \ifx\aeb@layoutMagPage\@empty + \ifx\aeb@layoutMagMag\@empty + /OpenAction \pubAddToDocOpen + \else/OpenAction <<% + /D[\pdfpageref1\space\space 0 R\aeb@layoutMagMag]% + /S/GoTo\aeb@addOpenAction>>\fi + \else + \ifx\aeb@layoutMagMag\@empty + /OpenAction<>\else + /OpenAction<>\fi + \fi +\else\ifxetex + \ifx\aeb@layoutMagPage\@empty + \ifx\aeb@layoutMagMag\@empty + /OpenAction \pubAddToDocOpen + \else/OpenAction<>\fi + \else + \ifx\aeb@layoutMagMag\@empty + /OpenAction<>\else + /OpenAction<<% + /D[@page\aeb@layoutMagPage\space\aeb@layoutMagMag]% + /S/GoTo\aeb@addOpenAction>>\fi + \fi +\fi\fi\fi}% + \ifpdfmarkup\literalps@out{\AEB@psMrk{Catalog} + <<\aeb@CatEntry>> /PUT pdfmark}\else + \ifpdf\pdfcatalog{\aeb@CatEntry}\else + \ifxetex\immediate\@pdfm@mark{put @catalog <<\aeb@CatEntry>>}% + \fi\fi\fi +} +\AtBeginDocument{\aeb@SetCatalog} +\newcommand{\setDefaultFS}[1] +{% + \setkeys{aebDefFS}{Trans=Replace}\setkeys{aebDefFS}{#1}% + \makeatletter + \InputIfFileExists{fsprodef.js}{}{\PackageWarning{aeb_pro} + {Cannot find fsprodef.js, please run aeb_pro.ins again}} + \makeatother +} +\@onlypreamble\setDefaultFS +\def\aeb@NoTransition{NoTransition} +\define@choicekey+{aebDefFS}{Trans} +{NoTransition,UncoverLeft,UncoverRight,UncoverDown,UncoverUp,% +UncoverLeftDown,UncoverLeftUp,UncoverRightDown,UncoverRightUp,% +CoverLeft,CoverRight,CoverDown,CoverUp,CoverLeftDown,CoverLeftUp,% +CoverRightDown,CoverRightUp,PushLeft,PushRight,PushDown,PushUp,% +PushLeftDown,PushLeftUp,PushRightDown,PushRightUp,FlyInRight,% +FlyInLeft,FlyInDown,FlyInUp,FlyOutRight,FlyOutLeft,FlyOutDown,% +FlyOutUp,FlyIn,FlyOut,Blend,Fade,Random,Dissolve,% +GlitterRight,GlitterDown,GlitterRightDown,BoxIn,BoxOut,% +BlindsHorizontal,BlindsVertical,SplitHorizontalIn,% +SplitHorizontalOut,SplitVerticalIn,SplitVerticalOut,WipeLeft,% +WipeRight,WipeDown,WipeUp,WipeLeftDown,WipeLeftUp,% +WipeRightDown,WipeRightUp,Replace,ZoomInDown,ZoomInLeft,% +ZoomInLeftDown,ZoomInLeftUp,ZoomInRight,ZoomInRightDown,% +ZoomInRightUp,ZoomInUp,ZoomOutDown,ZoomOutLeft,ZoomOutLeftDown,% +ZoomOutLeftUp,ZoomOutRight,ZoomOutRightDown,ZoomOutRightUp,% +ZoomOutUp,CombHorizontal,CombVertical}[Replace]{% + \def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@fsTran\@empty\else + \ifx\aeb@arg\aeb@NoTransition + \def\aeb@fsTran{app.fs.defaultTransition = "";^^J} + \else + \def\aeb@fsTran{app.fs.defaultTransition = "#1";^^J}\fi\fi} +{\PackageWarning{aeb}{Bad choice, try again. Meanwhile, + will use the default, Replace}% + \def\aeb@fsTran{app.fs.defaultTransition = "Replace";^^J}} +\define@key{aebDefFS}{bgColor}[]{% + \def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@fsBGColor\@empty\else + \def\aeb@fsBGColor{app.fs.backgroundColor = #1;^^J}\fi} +\let\aeb@fsBGColor\@empty +\define@key{aebDefFS}{timeDelay}[]{% + \def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@fstimeDelay\@empty\else + \def\aeb@fstimeDelay{app.fs.timeDelay = #1;^^J}\fi} +\let\aeb@fstimeDelay\@empty +\define@boolkey{aebDefFS}{loop}[true]{% + \def\aeb@fsLoop{app.fs.loop = #1;^^J}} +\let\aeb@fsLoop\@empty +\define@choicekey+{aebDefFS}{cursor}{hidden,delay,visible}{% + \def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@fscursor\@empty\else + \def\aeb@fscursor{app.fs.cursor = cursor.#1;^^J}\fi +}{\PackageWarning{aeb}{Bad choice for cursor, permissible values + are hidden, delay and visible. Try again}} +\let\aeb@fscursor\@empty +\define@boolkey{aebDefFS}{escape}[true]{% + \def\aeb@fsEscape{app.fs.escapeExits = #1;^^J}} +\let\aeb@fsEscape\@empty +\define@boolkey{aebDefFS}{clickAdv}[true]{% + \def\aeb@fsclickAdv{app.fs.clickAdvances = #1;^^J}} +\let\aeb@fsclickAdv\@empty +\define@boolkey{aebDefFS}{fullscreen}[true]{% + \def\aeb@windowoptsFullScreen{true}% +} +\let\aeb@fsFS\@empty +\define@boolkey{aebDefFS}{useTimer}[true]{% + \def\aeb@fsuseTimer{app.fs.useTimer = #1;^^J}} +\let\aeb@fsuseTimer\@empty +\define@boolkey{aebDefFS}{usePageTiming}[true]{% + \def\aeb@fsusePageTiming{app.fs.usePageTiming = #1;^^J}} +\let\aeb@fsusePageTiming\@empty +\def\aebp@PageTransCnt{0} +\def\aebp@Step@PageTransCnt{{\count0=\aebp@PageTransCnt\relax + \advance\count0by1\relax + \xdef\aebp@PageTransCnt{\the\count0 }}} +\newcommand{\setPageTransition}[1]{% + \begingroup + \aebp@Step@PageTransCnt + \setkeys{aebTrans}{TransDur,Speed,#1}% + \edef\aeb@pagetranschoices{\aeb@Page@Dur + /Trans <<\aeb@Trans@Dur\aeb@TranChoice>>}% + \csarg{\xdef}{aeb@pagetransCodeL\aebp@PageTransCnt}{% + \ifpdfmarkup + \noexpand\literalps@out{\AEB@psMrk{ThisPage} << + \aeb@pagetranschoices\space>> /PUT pdfmark}% + \else\ifpdf + \noexpand\global\noexpand\pdfpageattr=\noexpand\expandafter + {\noexpand\the\noexpand\pdfpageattr\aeb@pagetranschoices}% + \else\ifxetex + \noexpand\immediate\noexpand\@pdfm@mark{put @thispage << + \aeb@pagetranschoices\space >>} + \fi\fi\fi + } + \ifx\aeb@TranChoice\@empty\else + \csarg\xdef{aebpP@geTr@nsP@ge\arabic{page}}% + {\noexpand\@nameuse{aeb@pagetransCodeL\aebp@PageTransCnt}}% + \fi + \endgroup +} +\newcommand{\setPageTransitionAt}[2]{% + \begingroup + \aebp@Step@PageTransCnt + \setkeys{aebTrans}{#2}% + \edef\aeb@pagetranschoices{\aeb@Page@Dur + /Trans <<\aeb@Trans@Dur\aeb@TranChoice>>}% + \csarg{\xdef}{aeb@pagetransCode\aebp@PageTransCnt}{% + \ifpdfmarkup + \noexpand\literalps@out{\AEB@psMrk{ThisPage} << + \aeb@pagetranschoices\space>> /PUT pdfmark}% + \else\ifpdf + \noexpand\global\noexpand\pdfpageattr=\noexpand\expandafter + {\noexpand\the\noexpand\pdfpageattr\aeb@pagetranschoices}% + \else\ifxetex + \noexpand\immediate\noexpand\@pdfm@mark{put @thispage << + \aeb@pagetranschoices\space>>} + \fi\fi\fi + } + \ifx\aeb@TranChoice\@empty\else + \expandafter\aebp@rse\expandafter{#1}% + \edef\shakeandbake{% + \noexpand\@for\noexpand\@mypage:=\the\aeb@parsetoks}% + \shakeandbake \do {% + \csarg\xdef{aebpP@geTr@nsP@ge\@mypage}% + {\noexpand\@nameuse{aeb@pagetransCode\aebp@PageTransCnt}}% + }% + \fi + \endgroup +} +\define@choicekey+{aebTrans}{Trans} +{NoTransition,UncoverLeft,UncoverRight,UncoverDown,UncoverUp,% +UncoverLeftDown,UncoverLeftUp,UncoverRightDown,UncoverRightUp,% +CoverLeft,CoverRight,CoverDown,CoverUp,CoverLeftDown,CoverLeftUp,% +CoverRightDown,CoverRightUp,PushLeft,PushRight,PushDown,PushUp,% +PushLeftDown,PushLeftUp,PushRightDown,PushRightUp,FlyInRight,% +FlyInLeft,FlyInDown,FlyInUp,FlyOutRight,FlyOutLeft,FlyOutDown,% +FlyOutUp,FlyIn,FlyOut,Blend,Fade,Random,Dissolve,% +GlitterRight,GlitterDown,GlitterRightDown,BoxIn,BoxOut,% +BlindsHorizontal,BlindsVertical,SplitHorizontalIn,% +SplitHorizontalOut,SplitVerticalIn,SplitVerticalOut,WipeLeft,% +WipeRight,WipeDown,WipeUp,WipeLeftDown,WipeLeftUp,% +WipeRightDown,WipeRightUp,Replace,ZoomInDown,ZoomInLeft,% +ZoomInLeftDown,ZoomInLeftUp,ZoomInRight,ZoomInRightDown,% +ZoomInRightUp,ZoomInUp,ZoomOutDown,ZoomOutLeft,ZoomOutLeftDown,% +ZoomOutLeftUp,ZoomOutRight,ZoomOutRightDown,ZoomOutRightUp,% +ZoomOutUp,CombHorizontal,CombVertical}[Replace]% + {\edef\aeb@TranChoice{\csname aeb@Trans@#1\endcsname}% +}{\PackageWarning{aeb}{Bad choice, try again}} +\let\aeb@TranChoice\@empty +\define@key{aebTrans}{TransDur}[]{\def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@Trans@Dur\@empty\else\def\aeb@Trans@Dur{/D #1}\fi} +\let\aeb@Trans@Dur\@empty +\define@choicekey+{aebTrans}{Speed}[\val\nr]% + {Slow,Medium,Fast}[Slow]{%dps/change 02/27/07 + \ifcase\nr\relax + \let\aeb@Trans@Speed\@empty\or + \def\aeb@Trans@Speed{/D 0.666656}\or + \def\aeb@Trans@Speed{/D 0.333328}\fi +}{\PackageWarning{aeb}{Bad choice for Speed, permissible values + are Slow, Medium and Fast. Try again}} +\let\apb@apbTrans@Speed\@empty +\define@key{aebTrans}{PageDur}[]{\def\aeb@arg{#1}\ifx\aeb@arg\@empty + \let\aeb@Page@Dur\@empty\else\def\aeb@Page@Dur{/Dur #1}\fi} +\let\aeb@Page@Dur\@empty +\def\aeb@Trans@NoTransition{} +\def\aeb@Trans@SplitHorizontalIn{/Dm/H/M/I/S/Split} +\def\aeb@Trans@SplitHorizontalOut{/Dm/H/M/O/S/Split} +\def\aeb@Trans@SplitVerticalIn{/Dm/V/M/I/S/Split} +\def\aeb@Trans@SplitVerticalOut{/Dm/V/M/O/S/Split} +\def\aeb@Trans@BlindsHorizontal{/Dm/H/S/Blinds} +\def\aeb@Trans@BlindsVertical{/Dm/V/S/Blinds} +\def\aeb@Trans@BoxIn{/M/I/S/Box} +\def\aeb@Trans@BoxOut{/M/O/S/Box} +\def\aeb@Trans@WipeLeft{/Di 180/S/Wipe} +\def\aeb@Trans@WipeRight{/Di 0/S/Wipe} +\def\aeb@Trans@WipeDown{/Di 270/S/Wipe} +\def\aeb@Trans@WipeUp{/Di 90/S/Wipe} +\def\aeb@Trans@Dissolve{/S/Dissolve} +\def\aeb@Trans@GlitterRight{/Di 0/S/Glitter} +\def\aeb@Trans@GlitterDown{/Di 270/S/Glitter} +\def\aeb@Trans@GlitterRightDown{/Di 315/S/Glitter} +\def\aeb@Trans@Replace{/S/R} +\def\aeb@Trans@FlyInRight{/Di 0/M/I/S/Fly} +\def\aeb@Trans@FlyInLeft{/Di 180/M/I/S/Fly} +\def\aeb@Trans@FlyInDown{/Di 270/M/I/S/Fly} +\def\aeb@Trans@FlyInUp{/Di 90/M/I/S/Fly} +\def\aeb@Trans@FlyOutRight{/Di 0/M/O/S/Fly} +\def\aeb@Trans@FlyOutLeft{/Di 180/M/O/S/Fly} +\def\aeb@Trans@FlyOutDown{/Di 270/M/O/S/Fly} +\def\aeb@Trans@FlyOutUp{/Di 90/M/O/S/Fly} +\def\aeb@Trans@FlyIn{/M/I/S/Fly} +\def\aeb@Trans@FlyOut{/M/O/S/Fly} +\def\aeb@Trans@PushLeft{/Di 180/S/Push} +\def\aeb@Trans@PushRight{/Di 0/S/Push} +\def\aeb@Trans@PushDown{/Di 270/S/Push} +\def\aeb@Trans@PushUp{/Di 90/S/Push} +\def\aeb@Trans@CoverLeft{/Di 180/S/Cover} +\def\aeb@Trans@CoverRight{/Di 0/S/Cover} +\def\aeb@Trans@CoverDown{/Di 270/S/Cover} +\def\aeb@Trans@CoverUp{/Di 90/S/Cover} +\def\aeb@Trans@CoverLeftDown{/Di 225.0/S/Cover} +\def\aeb@Trans@CoverLeftUp{/Di 135.0/S/Cover} +\def\aeb@Trans@CoverRightDown{/Di 315.0/S/Cover} +\def\aeb@Trans@CoverRightUp{/Di 45.0/S/Cover} +\def\aeb@Trans@UncoverLeft{/Di 180/S/Uncover} +\def\aeb@Trans@UncoverRight{/Di 0/S/Uncover} +\def\aeb@Trans@UncoverDown{/Di 270/S/Uncover} +\def\aeb@Trans@UncoverUp{/Di 90/S/Uncover} +\def\aeb@Trans@UncoverLeftDown{/Di 225.0/S/Uncover} +\def\aeb@Trans@UncoverLeftUp{/Di 135.0/S/Uncover} +\def\aeb@Trans@UncoverRightDown{/Di 315.0/S/Uncover} +\def\aeb@Trans@UncoverRightUp{/Di 45.0/S/Uncover} +\def\aeb@Trans@Fade{/S/Fade} +\def\aeb@Trans@Random{/S/Random} +\def\aeb@Trans@Blend{/S/Blend} +\def\aeb@Trans@PushLeftDown{% + /S/Push/Directional/BiDir/Di 225.0/Curve/Easy} +\def\aeb@Trans@PushLeftUp{% + /S/Push/Directional/BiDir/Di 135.0/Curve/Easy} +\def\aeb@Trans@PushRightDown{% + /S/Push/Directional/BiDir/Di 315.0/Curve/Easy} +\def\aeb@Trans@PushRightUp{% + /S/Push/Directional/BiDir/Di 45.0/Curve/Easy} +\def\aeb@Trans@WipeLeftDown{% + /S/Wipe/Directional/BiDir/Di 225/Curve/Easy} +\def\aeb@Trans@WipeLeftUp{% + /S/Wipe/Directional/BiDir/Di 135/Curve/Easy} +\def\aeb@Trans@WipeRightDown% + {/S/Wipe/Directional/BiDir/Di 315/Curve/Easy} +\def\aeb@Trans@WipeRightUp{% + /S/Wipe/Directional/BiDir/Di 45/Curve/Easy} +\def\aeb@Trans@ZoomInDown{% + /S/ZoomIn/Directional/BiDir/Di 270.0/Curve/Easy} +\def\aeb@Trans@ZoomInLeft{% + /S/ZoomIn/Directional/BiDir/Di 180.0/Curve/Easy} +\def\aeb@Trans@ZoomInLeftDown{% + /S/ZoomIn/Directional/BiDir/Di 225.0/Curve/Easy} +\def\aeb@Trans@ZoomInLeftUp{% + /S/ZoomIn/Directional/BiDir/Di 135.0/Curve/Easy} +\def\aeb@Trans@ZoomInRight{% + /S/ZoomIn/Directional/BiDir/Di 0.0/Curve/Easy} +\def\aeb@Trans@ZoomInRightDown{% + /S/ZoomIn/Directional/BiDir/Di 315.0/Curve/Easy} +\def\aeb@Trans@ZoomInRightUp{% + /S/ZoomIn/Directional/BiDir/Di 45.0/Curve/Easy} +\def\aeb@Trans@ZoomInUp{% + /S/ZoomIn/Directional/BiDir/Di 90.0/Curve/Easy} +\def\aeb@Trans@ZoomOutDown{% + /S/ZoomOut/Directional/BiDir/Di 270.0/Curve/Easy} +\def\aeb@Trans@ZoomOutLeft{% + /S/ZoomOut/Directional/BiDir/Di 180.0/Curve/Easy} +\def\aeb@Trans@ZoomOutLeftDown{% + /S/ZoomOut/Directional/BiDir/Di 225.0/Curve/Easy} +\def\aeb@Trans@ZoomOutLeftUp{% + /S/ZoomOut/Directional/BiDir/Di 135.0/Curve/Easy} +\def\aeb@Trans@ZoomOutRight{% + /S/ZoomOut/Directional/BiDir/Di 0.0/Curve/Easy} +\def\aeb@Trans@ZoomOutRightDown{% + /S/ZoomOut/Directional/BiDir/Di 315.0/Curve/Easy} +\def\aeb@Trans@ZoomOutRightUp{% + /S/ZoomOut/Directional/BiDir/Di 45.0/Curve/Easy} +\def\aeb@Trans@ZoomOutUp{% + /S/ZoomOut/Directional/BiDir/Di 90.0/Curve/Easy} +\def\aeb@Trans@CombHorizontal{% + /S/Comb/Directional/BiDir/Dm/H/Curve/Easy} +\def\aeb@Trans@CombVertical{% + /S/Comb/Directional/BiDir/Dm/V/Curve/Easy} +\def\canceleveryPageOpen{\global\@everyPageOpenfalse + \global\let\every@PageOpen\@empty} +\def\canceleveryPageClose{\global\@everyPageClosefalse + \global\let\every@PageClose\@empty} +\newenvironment{everyPageOpen}[1][] +{\global\@everyPageOpentrue\@defineJS[#1]{\every@PageOpen}} +{\end@defineJS + \ifnum\value{page}=1\relax + \gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\every@PageOpen}}{}}% + \expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi +} +\newenvironment{everyPageClose}[1][] +{\global\@everyPageClosetrue\@defineJS[#1]{\every@PageClose}} +{\end@defineJS + \ifnum\value{page}=1\relax + \gdef\ap@AddtoCloseJS{\thisPageAction{}{\JS{\every@PageClose}}}% + \expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi +} +\let\every@PageOpen\@empty +\let\every@PageClose\@empty +\newenvironment{addJSToPageOpen}[1][] +{\@defineJS[#1]{\addJST@PageOpen}}{\end@defineJS + \ifnum\value{page}=1\relax + \gdef\ap@AddtoOpenJS{\thisPageAction{\JS{\addJST@PageOpen}}{}}% + \expandafter\aftergroup\expandafter\ap@AddtoOpenJS\fi +} +\newenvironment{addJSToPageOpenAt}[2][] +{\@@defineJS[#1]{addJST@PageOpenAt}{#2}}{\end@@defineJS + \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES + \thisPageAction{\JS{\@nameuse{addJST@PageOpenAt1}}}{}\fi\fi +} +\newenvironment{addJSToPageClose}[1][] +{\@defineJS[#1]{\addJST@PageClose}}{\end@defineJS + \ifnum\value{page}=1\relax + \gdef\ap@AddtoCloseJS{% + \thisPageAction{}{\JS{\addJST@PageClose}}}% + \expandafter\aftergroup\expandafter\ap@AddtoCloseJS\fi +} +\newenvironment{addJSToPageCloseAt}[2][] +{\@@defineJS[#1]{addJST@PageCloseAt}{#2}}{\end@@defineJS + \ifnum\value{page}=1\relax\if\frstPageSpec\aebp@YES + \thisPageAction{}{\JS{\@nameuse{addJST@PageCloseAt1}}}\fi\fi +} +\let\addJST@PageOpen\@empty +\let\addJST@PageClose\@empty +\def\aebp@PageOpenCloseHandler{% + \@ifundefined{addJST@PageOpenAt\arabic{page}}% + {\global\let\thisOpenPageActionAt\@empty}% + {\gdef\thisOpenPageActionAt{% + \@nameuse{addJST@PageOpenAt\arabic{page}}}}% + \@ifundefined{addJST@PageCloseAt\arabic{page}}% + {\global\let\thisClosePageActionAt\@empty}% + {\gdef\thisClosePageActionAt{% + \@nameuse{addJST@PageCloseAt\arabic{page}}}}% + \aebPageAction{\thisOpenPageActionAt\addJST@PageOpen}% + {\thisClosePageActionAt\addJST@PageClose}% + \global\let\addJST@PageOpen\@empty + \global\let\addJST@PageClose\@empty +} +\def\aebp@PageTransHandler{\@ifundefined{aebpP@geTr@nsP@ge\arabic{page}} + {}{\@nameuse{aebpP@geTr@nsP@ge\arabic{page}}}} +\AddToShipoutPicture{\aebp@PageOpenCloseHandler + \aebp@PageTransHandler} +\newenvironment{@@defineJS}[3][] +{% + \gdef\argType{#2}\gdef\defineJSArg{#3}\JStoks={}% + \def\verbatim@processline + {% + \xdef\JS@temp{\the\JStoks\the\verbatim@line\defineJSjsR}% + \global\JStoks=\expandafter{\JS@temp}% + }% + \let\do\@makeother\dospecials\catcode`\^^M\active + #1% + \verbatim@start +}{% + \expandafter\aebp@rse\expandafter{\defineJSArg}% + \edef\shakeandbake{% + \noexpand\@for\noexpand\@mytoks:=\the\aeb@parsetoks}% + \aeb@parsecnt=0 \shakeandbake \do {% + \ifnum\aeb@parsecnt=0 + \edef\firsttok{\@mytoks}% + \csarg\xdef{\argType\@mytoks}{\the\JStoks}% + \else + \edef\letsmakelet{\global\let\expandafter\noexpand + \csname\argType\@mytoks\endcsname=\expandafter\noexpand + \csname\argType\firsttok\endcsname}% + \letsmakelet + \fi + \advance\aeb@parsecnt1\relax + }% +} +\newif\ifaeb@PageOpen +\newif\ifaeb@PageClose +\newif\if@everyPageOpen\@everyPageOpenfalse +\newif\if@everyPageClose\@everyPageClosefalse +\newcommand\aebPageAction[3][ThisPage]{% + \let\ispageactions=0\aeb@PageOpenfalse\aeb@PageClosefalse + \def\@aebOpen{#2}% + \if1\@aebOpen1% + \if@everyPageOpen + \aeb@PageOpentrue\let\ispageactions=1% + \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}% + \fi + \else + \let\ispageactions=1% + \aeb@PageOpentrue + \def\@aebOpen{/O << \JS{\every@PageOpen#2} >>}% + \fi + \def\@aebClose{#3}% + \if1\@aebClose1% + \if@everyPageClose + \aeb@PageClosetrue\let\ispageactions=1% + \def\@aebClose{/C << \JS{\every@PageClose#3} >>}% + \fi + \else + \let\ispageactions=1% + \aeb@PageClosetrue + \def\@aebClose{/C << \JS{\every@PageClose#3} >>}% + \fi + \if@everyPageOpen\aeb@PageOpentrue\let\ispageactions=1\fi + \if@everyPageClose\@everyPageClosetrue\let\ispageactions=1\fi + \if\ispageactions1% + \xdef\aebp@PageActionCode{/AA << + \ifaeb@PageOpen\@aebOpen\space\fi + \ifaeb@PageClose\@aebClose\space\fi >>} + \ifnum\value{page}=1\relax\else + \ifpdfmarkup\literalps@out{\AEB@psMrk{#1} << + \aebp@PageActionCode\space >> /PUT pdfmark}\else + \ifpdf\global\pdfpageattr=\expandafter + {\aebp@PageActionCode}\else + \ifxetex\@pdfm@mark{put @thispage << + \aebp@PageActionCode\space>>}\fi\fi\fi + \fi + \fi +} +\def\aeb@exiii{\expandafter\expandafter\expandafter} +\let\ahrefexafter\aeb@exiii +\def\atPage#1{\@ifundefined{r@#1}{1} + {\aeb@exiii\@secondoffive\csname r@#1\endcsname}} +\def\labelRef#1{\@ifundefined{r@#1}{Doc-Start} + {\aeb@exiii\@fourthoffive\csname r@#1\endcsname}} +\newtoks\aeb@parsetoks +\newcount\aeb@parsecnt +\def\ap@gobtonil#1\@nil{} +\def\ap@gettonil#1\@nil{\def\to@nilarg{#1}} +\def\ap@ifspc{\ifx\@let@token\@sptoken + \let\ap@next\ap@xifspc\else + \let\ap@next\ap@gettonil\fi\ap@next} +\begingroup +\def\:{\ap@xifspc} +\expandafter\gdef\: {\futurelet\@let@token\ap@ifspc} +\endgroup +\def\ap@strpspcs{\futurelet\@let@token\ap@ifspc} +\def\ap@pgrngLabelsInPream{\@ifundefined{aebLastPage} + {\PackageWarning{aeb_pro}{The \string\atPage\space + command is not supported\MessageBreak in the preamble}}{}} +\def\aeb@removelastcomma#1,\@nil{\aeb@parsetoks={#1}} +\def\aebp@rse#1{\global\let\frstPageSpec\aebp@NO + \aeb@parsetoks={}\aeb@parse#1,\relax} +\def\aeb@parse{\@ifnextchar\relax + {\expandafter\aeb@removelastcomma\the\aeb@parsetoks\@nil} + {\aeb@@parse}} +\def\aeb@@parse#1,{\aeb@@@parse#1-\@nil} +\def\aeb@@@parse#1-#2\@nil{% + \def\argi{#2}\ifx\argi\@empty\def\aeb@next{\aeb@@@@parse{#1}}\else + \def\aeb@next{\aeb@@@@@parse#1-#2}\fi\aeb@next} +\def\aeb@@@@parse#1{%single page #1 + \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} + {\ap@gobtonil}#1\@nil + \aeb@parsecnt=#1\relax + \edef\edefaeb@parsetoks{\the\aeb@parsetoks\the\aeb@parsecnt,}% + \aeb@parsetoks=\expandafter{\edefaeb@parsetoks}% + \ifnum\aeb@parsecnt=1\relax\global\let\frstPageSpec\aebp@YES\fi + \aeb@parse} +\def\aeb@@@@@parse#1-#2-{\def\aeb@lowerlimit{#1}\def\aeb@upperlimit{#2}% + % range argument from #1 to \csname aebLastPage\endcsname + \ifx\aeb@upperlimit\@empty + \@ifundefined{aebLastPage}{\aeb@parsecnt=#1} + {\expandafter\aeb@parsecnt\expandafter= + \csname aebLastPage\endcsname}% + \else % page range #1 to #2, switch the two if #2 < #1 + \aeb@parsecnt=\aeb@lowerlimit\relax + \edef\aeb@lowerlimit{\the\aeb@parsecnt} + \aeb@parsecnt=\aeb@upperlimit\relax + \ifnum\aeb@parsecnt<\aeb@lowerlimit\relax + \aeb@parsecnt=\aeb@lowerlimit\relax + \def\aeb@lowerlimit{#2}% + \def\aeb@upperlimit{#1}% + \fi + \fi + \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} + {\ap@gobtonil}#1\@nil + \@ifnextchar\atPage{\ap@pgrngLabelsInPream\ap@gobtonil} + {\ap@gobtonil}#2\@nil + \advance\aeb@parsecnt1\relax + \edef\aeb@upperlimit{\the\aeb@parsecnt}% + \aeb@parsecnt=\aeb@lowerlimit\relax + \ifnum\aeb@parsecnt=1\relax\global\let\frstPageSpec\aebp@YES\fi + \loop + \edef\edefaeb@parsetoks{\the\aeb@parsetoks\the\aeb@parsecnt,}% + \aeb@parsetoks=\expandafter{\edefaeb@parsetoks}% + \advance\aeb@parsecnt1\relax + \ifnum\aeb@parsecnt < \aeb@upperlimit\relax\repeat + \aeb@parse} +\@ifpackageloaded{insdljs}{% + \newenvironment{fs@willClose} + {\@defineJS{\fs@will@Close}} + {\end@defineJS} + \let\fs@will@Close\@empty +}{% + \newenvironment{willClose} + {\@defineJS{\will@Close}} + {\end@defineJS} + \let\will@Close\@empty + \newenvironment{fs@willClose} + {\@defineJS{\fs@will@Close}} + {\end@defineJS} + \let\fs@will@Close\@empty + \newenvironment{willSave} + {\@defineJS{\will@Save}} + {\end@defineJS} + \let\will@Save\@empty + \newenvironment{didSave} + {\@defineJS{\did@Save}} + {\end@defineJS} + \let\did@Save\@empty + \newenvironment{willPrint} + {\@defineJS{\will@Print}} + {\end@defineJS} + \let\will@Print\@empty + \newenvironment{didPrint} + {\@defineJS{\did@Print}} + {\end@defineJS} + \let\did@Print\@empty +} +\let\developer@will@Close\@empty +\let\developer@will@Save\@empty +\let\developer@did@Save\@empty +\let\developer@will@Print\@empty +\let\developer@did@Print\@empty +\newcommand\@setDocActions{% + \edef\test@will@Close{% + \fs@will@Close\will@Close\developer@will@Close}% + \edef\test@will@Save{\will@Save\developer@will@Save}% + \edef\test@did@Save{\did@Save\developer@did@Save}% + \edef\test@will@Print{\will@Print\developer@will@Print}% + \edef\test@did@Print{\did@Print\developer@did@Print}% + \def\aebp@DocActionsCode{/AA << % + \ifx\test@will@Close\@empty\else/WC << + \JS{\fs@will@Close\will@Close\developer@will@Close} >>\fi + \ifx\test@will@Save\@empty\else/WS << + \JS{\will@Save\developer@will@Save} >>\fi + \ifx\test@did@Save\@empty\else/DS << + \JS{\did@Save\developer@did@Save} >>\fi + \ifx\test@will@Print\@empty\else/WP << + \JS{\will@Print\developer@will@Print} >>\fi + \ifx\test@did@Print\@empty\else/DP << + \JS{\did@Print\developer@did@Print} >>\fi + >> + } + \ifpdfmarkup\literalps@out{\AEB@psMrk{Catalog} + << \aebp@DocActionsCode\space>> /PUT pdfmark}\else + \ifpdf\pdfcatalog{\aebp@DocActionsCode}\else + \ifxetex\immediate + \@pdfm@mark{put @catalog <<\aebp@DocActionsCode\space>>}\fi + \fi\fi +} +\AtBeginDocument{\@setDocActions} +\def\aref(#1){\csname aeb@aDescript@#1\endcsname} +\def\aeb@initAttachWrite{% + \newwrite \aeb@attachmentswrite + \immediate\openout \aeb@attachmentswrite \jobname_attach.cut + \let\verbatim@out\aeb@attachmentswrite + \aeb@IWVO{\string\begin{execJS}{aebpro_attach}}% + {\lccode`P=`\{\lowercase{\aeb@IWVO{try P}}}% +} +\newcommand{\prjInputUser}[1]{\input{#1}} +\newcommand{\prjIncludeUser}[1]{\include{#1}} +\newcommand{\addtoOptAttachments}[1]{% + \g@addto@macro\AP@addtoAttachments{,#1}} +\newcommand{\getcNameFromFileName}[1]{\@nameuse{descrip4#1}} +\def\AP@addtoAttachments{} +\def\jsstrsps{replace(/^\string\s*/, "")} +\def\jsstrdotsp{replace(/\string\.\string\s*/g, ".")} +\ifoptattachments + \def\AP@writeOptAttach{% + \newwrite\AP@OptAttachlist + \immediate\openout \AP@OptAttachlist \jobname_oa.cut + \immediate\write\AP@OptAttachlist{\string\def\string + \APOptAttachments{\AP@addtoAttachments}} + \immediate\closeout\AP@OptAttachlist} + \AtEndDocument{\AP@writeOptAttach} + \def\AP@pathInput#1{% + \addtoOptAttachments{#1}\prjInputUser{#1}} + \def\AP@pathInclude#1{% + \addtoOptAttachments{#1.tex}\prjIncludeUser{#1}} + \InputIfFileExists{\jobname_oa.cut}{% + \def\AP@next{\edef\aeb@attachments + {\aeb@attachments\APOptAttachments}}% + }{\let\AP@next\relax} + \AP@next +\else + \def\AP@pathInput#1{\prjInputUser{#1}} + \def\AP@pathInclude#1{\prjIncludeUser{#1}} +\fi +\ifoptattachmentsTaken + \def\prjinput{\hyper@normalise\AP@pathInput} + \def\prjinclude{\hyper@normalise\AP@pathInclude} + \let\AP@includeonly\includeonly + \def\includeonly{\hyper@normalise\AP@includeonly} +\else + \def\prjinput{\prjInputUser} + \def\prjinclude{\prjIncludeUser} +\fi +\ifx\aeb@attachsource\@empty + \ifx\aeb@attachments\@empty + \else\aeb@initAttachWrite\fi +\else + \@ifundefined{aeb@attachmentswrite} + {\aeb@initAttachWrite}{} +\fi +\def\ap@cName(#1){\csname aeb@aName@attach#1\endcsname} +\def\ap@cNamexdef(#1){\expandafter + \xdef\csname aeb@aName@attach#1\endcsname} +\def\ap@cDescript(#1){\csname aeb@aDescript@attach#1\endcsname} +\def\ap@cDescriptSource(#1){\csname aeb@aDescript@#1\endcsname} +\def\ap@cDescriptxdef(#1){\expandafter + \xdef\csname aeb@aDescript@attach#1\endcsname} +\def\ap@cDescriptSourcexdef(#1){\expandafter + \xdef\csname aeb@aDescript@#1\endcsname} +\ifx\aeb@attachsource\@empty\else + \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\aeb@attachsource} + \temp@expand\do{% + \ifx\@@tmp\@empty\else + \expandafter\ap@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}% + \ap@cDescriptSourcexdef(\@@tmp){\jobname.\@@tmp}% + \aeb@IWVO{\space\space\space\space + var retn=\string\importDataObject({% + cName: "\@@tmp", + cDIPath: "\jobname.\@@tmp".\jsstrdotsp});}% + \aeb@IWVO{\space\space\space\space + if ( (app.viewerVersion>7) && retn ) + this.getDataObject("\@@tmp").description=% + "\string\ap@cDescriptSource(\@@tmp)".\jsstrdotsp;}% + \expandafter + \edef\csname aeb@aName@\@@tmp\endcsname{\jobname.\@@tmp}% + \fi + }% +\fi +\ifx\aeb@attachments\@empty\else +\typeout{\string\aeb@attachments: \aeb@attachments}% + \aeb@parsecnt=0 + \edef\temp@expand{\noexpand\@for\noexpand\@@tmp:=\aeb@attachments} + \temp@expand\do + {% + \ifx\@@tmp\@empty\else + \expandafter\ap@strpspcs\@@tmp\@nil\edef\@@tmp{\to@nilarg}% + \advance\aeb@parsecnt1\relax + \ap@cNamexdef(\the\aeb@parsecnt){attach\the\aeb@parsecnt}% + \ap@cDescriptxdef(\the\aeb@parsecnt)% + {AeB Attachment \the\aeb@parsecnt}% + \aeb@IWVO{\space\space\space\space + var retn=\string\importDataObject({% + cName:"\string\ap@cName(\the\aeb@parsecnt)",% + cDIPath: "\@@tmp".\jsstrsps});}% + \aeb@IWVO{\space\space\space\space + if ( (app.viewerVersion>7) && retn ) + this.getDataObject(% + "\string\ap@cName(\the\aeb@parsecnt)").description=% + "\string\ap@cDescript(\the\aeb@parsecnt)";}% + \expandafter + \expandafter\xdef\csname descrip4\@@tmp\endcsname + {\noexpand\ap@cName(\the\aeb@parsecnt)}% + \fi + } +\fi +\@ifundefined{aeb@attachmentswrite}{} +{% + {\lccode`P=`\}\def\jsMsg{"Attachments error: " + + e.toString()}\lowercase{\aeb@IWVO{P catch(e) + { console.println( \jsMsg\space); }}}}% + \aeb@IWVO{\string\end{execJS}} + \immediate\closeout \aeb@attachmentswrite +} +\def\aeb@inputAttachments{\@ifundefined{aeb@attachmentswrite}{} + {\InputIfFileExists{\jobname_attach.cut}% + {\typeout{Inputting attachments file}}% + {\typeout{Cannot find attachments file}}}% +} +\define@choicekey+{aebpdfpack}{viewmode}[\val\nr]% + {details,tile,layout,hidden}{% + \ifcase\nr\relax + \def\aeb@pdfpack@viewmode{/D}\or + \def\aeb@pdfpack@viewmode{/T}\or + \def\aeb@pdfpack@viewmode{/T}\or + \def\aeb@pdfpack@viewmode{/H}\fi +}{} +\define@key{aebpdfpack}{initview}[]{\def\aeb@pdfpack@initview{#1}} +\let\aeb@pdfpack@initview\@empty +\newcommand{\earlyAttachForPkgs}{% +if (this.collection!=null&&this.collection.initialView == "Hidden") +var hideto=app.setTimeOut("app.clearTimeOut(hideto);" + +"app.execMenuItem('CollectionPreview');",1); +\if@gopro +if(typeof _aebpro_attach == "undefined") +( app.viewerVersion > 8 ) ? % +aebTrustedFunctions(this,aebImportAnFDF,"aebpro_attach.fdf") : % +this.importAnFDF("aebpro_attach.fdf");\fi +\ifisPDFPackage\ifx\aeb@pdfpack@initview\@empty^^J% +if(app.viewerVersion<15)^^J% +var pkto=app.setTimeOut("app.clearTimeOut(pkto);" ++"app.execMenuItem('CollectionShowRoot');",5000);\fi\fi} +\newif\ifisPDFPackage\isPDFPackagefalse +\newcommand{\makePDFPackage}[1]{\isPDFPackagetrue + \setkeys{aebpdfpack}{viewmode=details,#1}% + \ifx\aeb@pdfpack@initview\@empty + \let\aeb@pdfpackage@initview\@empty + \else + {\obeyspaces\sanitize@attach\gdef\aeb@pdfpackage@initview% +{/D<\expandafter\stringiiUnicode\aeb@pdfpack@initview\relax>}}% + \fi + \def\aeb@PDFPackageCode{/PageMode/UseAttachments% + /Collection<>}% + \ifpdfmarkup + \def\aeb@setPDFPackage{\literalps@out{\AEB@psMrk{Catalog} + <<\aeb@PDFPackageCode>>/PUT pdfmark}}% + \else\ifpdf\def\aeb@setPDFPackage{% + \pdfcatalog{\aeb@PDFPackageCode}}\else + \ifxetex\def\aeb@setPDFPackage{\immediate + \@pdfm@mark{put @catalog <<\aeb@PDFPackageCode>>}}\else + \let\aeb@setPDFPackage\relax\PackageWarning{aeb_pro} + {The \string\makePDFPackage/string\makePDFPortfolio\space + is supported for\MessageBreak + dvips, pdftex, and xetex only}\fi\fi\fi +} +\let\makePDFPortfolio\makePDFPackage +\@onlypreamble\makePDFPackage +\let\aebp@attachments\aebp@Zero +\ifx\aeb@attachsource\@empty\else\let\aebp@attachments\aebp@One\fi +\ifx\aeb@attachments\@empty\else\let\aebp@attachments\aebp@One\fi +\ifx\aebp@attachments\aebp@One + \dev@addToDocOpen{\JS{\earlyAttachForPkgs}}% +\fi +\newenvironment{docassembly}{% +\execJS{docassembly} +}{\endexecJS} +\let\ap@mrk\@empty +\def\ap@gobtocomma#1,{} +\providecommand\chngDocObjectTo[2]{% + \def#1##1\ap@mrk{#2,\ap@gobtocomma##1}} +\def\ap@TF{aebTrustedFunctions} +\def\theDocObject{this} +\providecommand\DeclareJSHelper[2]{% + \def#1##1({\ap@TF(##1\theDocObject,#2,\ap@mrk}} +\DeclareJSHelper{\addWatermarkFromFile}{aebAddWatermarkFromFile} +\DeclareJSHelper{\importIcon}{aebImportIcon} +\DeclareJSHelper{\importSound}{aebImportSound} +\DeclareJSHelper{\appopenDoc}{aebAppOpenDoc} +\DeclareJSHelper{\docSaveAs}{aebDocSaveAs} +\DeclareJSHelper{\insertPages}{aebInsertPages} +\DeclareJSHelper{\createTemplate}{aebCreateTemplate} +\DeclareJSHelper{\importDataObject}{aebImportDataObject} +\DeclareJSHelper{\executeSave}{aebSaveAs,"Save"\@gobble} +\DeclareJSHelper{\extractPages}{aebExtractPages} +\DeclareJSHelper{\mailDoc}{aebMailDoc} +\newcommand{\sigInfo}{var oSigInfo=} +\def\sigFieldObj(#1){var oSigField=this.getField(#1)} +\def\signatureSetSeedValue#1{% + \ap@TF( oSigField, aebSignatureSetSeedValue, } +\begin{defineJS}[\def\defineJSjsR{^^J}]{\signatureSign} +if ( typeof oSigInfo.oHandler=="undefined" ) + oSigInfo.oHandler=security.PPKLiteHandler; +var engine=aebTrustedFunctions( security, + aebSecurityGetHandler, oSigInfo.oHandler ); +var path2Cert = (typeof oSigInfo.path2Cert == "undefined") ? + aebTrustedFunctions( this, aebAppGetPath, + {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert : + oSigInfo.path2Cert; +aebTrustedFunctions( engine, aebSecurityHandlerLogin, + { cPassword: oSigInfo.password, cDIPath: path2Cert}); +var oSigField = this.getField(oSigInfo.cSigFieldName); +oSigInfo.oInfo.password=oSigInfo.password; +if ( typeof oSigInfo.sv!="undefined" ) { + for (var o in oSigInfo.sv ) + oSigInfo.oInfo[o]=oSigInfo.sv[o]; +} +var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo }; +if ( typeof oSigInfo.cLegalAttest!="undefined" ) + oSigArgs.cLegalAttest=oSigInfo.cLegalAttest; +if ( typeof oSigInfo.cDIPath!="undefined") + oSigArgs.cDIPath=oSigInfo.cDIPath; +if ( typeof oSigInfo.bUI!="undefined") + oSigArgs.bUI=oSigInfo.bUI; +aebTrustedFunctions( oSigField, aebSignatureSign, oSigArgs ); +\end{defineJS} +\begin{defineJS}[\def\defineJSjsR{^^J}]{\certifyInvisibleSign} +if ( typeof oSigInfo.oHandler=="undefined" ) + oSigInfo.oHandler=security.PPKLiteHandler; +var engine=aebTrustedFunctions( security, + aebSecurityGetHandler, oSigInfo.oHandler ); +var path2Cert=aebTrustedFunctions( this, aebAppGetPath, + {cCategory:"user"} )+"/Security"+"/"+oSigInfo.cert; +aebTrustedFunctions( engine, aebSecurityHandlerLogin, + { cPassword: oSigInfo.password, cDIPath: path2Cert}); +oSigInfo.oInfo.password=oSigInfo.password; +var oSigArgs={ oSig: engine, oInfo: oSigInfo.oInfo }; +if ( typeof oSigInfo.cLegalAttest!="undefined" ) + oSigArgs.cLegalAttest=oSigInfo.cLegalAttest; +if ( typeof oSigInfo.cDIPath!="undefined") + oSigArgs.cDIPath=oSigInfo.cDIPath; +if ( typeof oSigInfo.bUI!="undefined") + oSigArgs.bUI=oSigInfo.bUI; +aebTrustedFunctions( this, aebCertifyInvisibleSign, oSigArgs ); +\end{defineJS} +\let\predocassemJS\@empty +\def\aeb@image@cnt{0} +\define@key{importIcons}{name}[]{\def\importIcons@name{#1}} +\define@key{importIcons}{path}[]{\def\importIcons@path{#1}} +\define@key{importIcons}{page}[]{\def\importIcons@page{#1}} +\define@key{importIcons}{placement}[]{\def\importIcons@placement{#1}} +\define@boolkey{importIcons}{embedonly}[true]{} +\define@key{importIcons}{firstpage}[]{\def\importIcons@firstpage{#1}} +\define@key{importIcons}{lastpage}[]{\def\importIcons@lastpage{#1}} +\newcommand{\aebp@getFace}[1][0]{% + \def\importIcons@face{#1}\aebp@getPlacement} +\def\aebp@getPlacement#1\@nil{\def\importIcons@fieldname{#1}% + \expandafter\ap@strpspcs\importIcons@fieldname\@nil + \edef\importIcons@fieldname{\to@nilarg}% +} +\newcommand{\declareMultiImages}[1]{% + \edef\@tforExp{\noexpand\@tfor\noexpand\@dipArgs:=#1}% + \@tforExp\do{% + \expandafter\declareImageAndPlacement + \expandafter{\@dipArgs}% + }% +} +\newcommand{\declareImageAndPlacement}[1]{% + \edef\@tempexp{\noexpand\setkeys{importIcons}{name,path,page,% + placement,embedonly=false,#1}}\@tempexp + \ifx\importIcons@name\@empty{\count0=\aeb@image@cnt + \advance\count0by1\relax\xdef\aeb@image@cnt{\the\count0}}% + \edef\importIcons@name{aebImage\aeb@image@cnt}\fi + \ifx\importIcons@path\@empty + \PackageError{aeb_pro}{The `path' key is required} + {Please give the path of the icon.}\fi + \ifx\importIcons@placement\@empty\ifKV@importIcons@embedonly\else + \PackageWarningNoLine{aeb_pro}{% + The `placement' key was not found for the\MessageBreak + image named "\importIcons@name".\MessageBreak + Specify this key, or insert the image manually in\MessageBreak + the docassembly environment.}\fi\fi + \xdef\predocassemJS{\predocassemJS + var retn=\importIcon({cName:"\importIcons@name",% + cDIPath:"\importIcons@path"% + \ifx\importIcons@page\@empty\else,% + nPage:\importIcons@page\fi});^^J% + if ( retn==-1 ) console.println("The file + \string\"\importIcons@path\string\" could not be opened.");^^J% + if ( retn==-2 ) console.println("Selected page + (page=\importIcons@page) for \string\"\importIcons@path\string\" + is invalid.");^^J}% + \ifx\importIcons@placement\@empty\else + \@for\@fieldname:=\importIcons@placement\do{% + \expandafter\aebp@getFace\@fieldname\@nil + \xdef\predocassemJS{\predocassemJS + var f = this.getField("\importIcons@fieldname");^^J% + if ( f == null ) console.println("The field + \string\"\importIcons@fieldname\string\" + does not exist.");^^J% + try { f.buttonSetIcon(this.getIcon("\importIcons@name"),% + \importIcons@face); } + catch(e){};^^J}% + }% + \fi +} +\@onlypreamble\declareImageAndPlacement +\newcommand{\iconNameI}[1]{\def\IconNameI(##1){#1}} +\iconNameI{#1+"."+i} +\@onlypreamble\iconNameI +\newcommand{\embedMultiPageImages}[1]{% + \setkeys{importIcons}{name,path,page,placement,% + firstpage,lastpage,#1}% + \ifx\importIcons@firstpage\@empty + \def\importIcons@firstpage{1}\else + {\count0=\importIcons@firstpage}\fi + \ifx\importIcons@lastpage\@empty + \def\importIcons@lastpage{this.numPages}\else + {\count0=\importIcons@lastpage}\fi + \ifx\importIcons@name\@empty + \PackageError{aeb_pro}{The `name' key is required} + {Please give the icon family a name.}\fi + \ifx\importIcons@path\@empty + \PackageError{aeb_pro}{The `path' key is required} + {Please give the path of the icon.}\fi + \def\r{^^J}\def\t{\space\space\space\space}% + \let\predocassemJSPlace\@empty + \ifx\importIcons@placement\@empty\else + \@for\@fieldname:=\importIcons@placement\do{% + \expandafter\aebp@getFace\@fieldname\@nil + \edef\predocassemJSPlace{\predocassemJSPlace\t + var f = this.getField("\importIcons@fieldname."+i);\r\t + if ( f == null ) console.println("The field + \string\"\importIcons@fieldname."+i+"\string\" + does not exist.");\r\t + try { f.buttonSetIcon(this.getIcon(% +\IconNameI("\importIcons@name")),% + \importIcons@face); } + catch(e){};\r}% + }% + \fi + \xdef\predocassemJS{\predocassemJS + var l=\importIcons@lastpage-\importIcons@firstpage+1;\r + for (var i=0; i1) && % -( (typeof activeAnimes[fieldName] == "undefined")|| doRebuild) ) { - activeAnimes[fieldName]=oAnime; - oAnime.isOcgAnime=(baseFrameName==""); // ocg change - oAnime.fieldName=fieldName; - oAnime.baseFrameName=baseFrameName; - oAnime.numSecs=nSpeed; - oAnime.nFrames=nFrames; - oAnime.type=type; - oAnime.bStep=bStep; - oAnime.aMyIcons = new Array(); - oAnime.count = 0; - if ( !oAnime.isOcgAnime ) {// ocg change - for ( var i=0; i < nFrames; i++) { - oAnime.aMyIcons[i] = this.getField(fieldName+"."+i); - oAnime.aMyIcons[i].display=(i==0)?display.visible:% -display.hidden; - } - } - } - if (arguments.length>1) { - oAnime.bForward=bForward; - oAnime.bStep=bStep; - } - if (oAnime.bStep) { - this.delay=true - if ( oAnime.isOcgAnime ) // ocg change - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=false; // ocg - else - oAnime.aMyIcons[oAnime.count].display=display.hidden; - var currCount=oAnime.count; - if (oAnime.bForward) { - oAnime.count++; - if (oAnime.count==oAnime.nFrames) // hit upper boundary - oAnime.count=(oAnime.type==0)?0:currCount; - } else { - oAnime.count--; - if (oAnime.count<0) - oAnime.count=(oAnime.type==0)?(oAnime.nFrames-1):0; - } - if ( oAnime.isOcgAnime ) // ocg change - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=true; // ocg - else - oAnime.aMyIcons[oAnime.count].display=display.visible; - this.delay=false; - } else { - var args="\""+oAnime.fieldName+"\","+oAnime.type; - oAnime.run = app.setInterval(% -"btnAnimeNewFrame("+args+")",oAnime.numSecs); - oAnime.animeStart=true; - oAnime.animePause=false; - } -} -function btnAnimeFirst(oAnime) -{ - try { app.clearInterval(oAnime.run);} catch(e){} - oAnime.animeStart=false; - oAnime.animePause=false; - if ( oAnime.isOcgAnime ) - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=false; // ocg - else - oAnime.aMyIcons[oAnime.count].display=display.hidden; - oAnime.count=0; - if ( oAnime.isOcgAnime ) - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=true; // ocg - else - oAnime.aMyIcons[0].display=display.visible; -} -function btnAnimeLast(oAnime) -{ - try { app.clearInterval(oAnime.run);} catch(e){} - oAnime.animeStart=false; - oAnime.animePause=false; - var l = oAnime.nFrames-1; - if ( oAnime.isOcgAnime ) - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=false; // ocg - else - oAnime.aMyIcons[oAnime.count].display=display.hidden; - oAnime.count=l; - if ( oAnime.isOcgAnime ) - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(l+1)).state=true; // ocg - else - oAnime.aMyIcons[l].display=display.visible; -} -function btnAnimePause(oAnime) -{ - try { app.clearInterval(oAnime.run);} catch(e){} - oAnime.animePause=true; -} -function btnAnimePlus(oAnime,nDefSpeed){ - var isPlaying=(oAnime.animeStart&&!oAnime.animePause); - if (isPlaying) btnAnimePause(oAnime); - if ( event.shift ) oAnime.numSecs=nDefSpeed; - else oAnime.numSecs -= 50; - if (oAnime.numSecs<10) oAnime.numSecs=10 - if (isPlaying) btnAnimePlay(oAnime); -} -function btnAnimeMinus(oAnime,nDefSpeed){ - var isPlaying=(oAnime.animeStart&&!oAnime.animePause); - if (isPlaying) btnAnimePause(oAnime); - if ( event.shift ) oAnime.numSecs=nDefSpeed; - else oAnime.numSecs += 50; - if (isPlaying) btnAnimePlay(oAnime); -} -function btnAnimeNewFrame(fieldName, type) -{ - var oAnime=activeAnimes[fieldName]; - this.delay=true - if ( oAnime.isOcgAnime ) // ocg change - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=false; - else - oAnime.aMyIcons[oAnime.count].display=display.hidden; - var currCount=oAnime.count; - var bBdaryMet=false; - if (oAnime.bForward) { - oAnime.count++; - if (oAnime.count==oAnime.nFrames) { - if(type==0) oAnime.count \%= oAnime.nFrames; - else if(type==1) { - oAnime.count=currCount; - oAnime.count--; - oAnime.bForward=false; - } else { - bBdaryMet=true; - oAnime.count=currCount; - } - } - } else { - oAnime.count--; - if (oAnime.count<0) { - if(type==0) oAnime.count=(oAnime.nFrames-1); - else if(type==1) { - oAnime.count=currCount; - oAnime.count++; - oAnime.bForward=true; - } else { // stop - bBdaryMet=true; - oAnime.count=currCount; - } - } - } - if ( oAnime.isOcgAnime) // ocg change - getxBld("anime!!"+oAnime.fieldName+"\#"% -+(oAnime.count+1)).state=true; - else - oAnime.aMyIcons[oAnime.count].display=display.visible; - this.delay=false; - if ( type==2 && bBdaryMet ) { - try { app.clearInterval(oAnime.run);} catch(e){} - // try { app.clearTimeOut(timeout);} catch(e){} - oAnime.animeStart=false; - oAnime.animePause=false; - } -} -\end{insDLJS} -\endinput -%% -%% End of file `anime_support.def'. +%% +%% This is file `anime_support.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,animecommon') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\placeAnimeCtrlBtnFaces}[3][\pathToBtnCtrlIcons]{\begingroup + \toks@={\aep@I{\aep@setAFirst}{animeFirst}% + \aep@I{\aep@setASB}{animeSB}% + \aep@I{\aep@setAPB}{animePB}% + \aep@I{\aep@setAPaus}{animePause}% + \aep@I{\aep@setAPF}{animePF}% + \aep@I{\aep@setASF}{animeSF}% + \aep@I{\aep@setALast}{animeLast}% + \aep@I{\aep@setAPlus}{animePlus}% + \aep@I{\aep@setAMinus}{animeMinus}}% + \def\aep@I##1##2{\let##1\@empty}\the\toks@ + \def\aep@I##1##2{\edef##1{##1,\aep@thisAnime4BtnCtrl.##2}}% + \@for\aep@thisAnime:=#3\do{\the\toks@}% + \def\aep@I##1##2{\edef##1{\expandafter\@gobble##1}}\the\toks@ + \ifx\pathToBtnCtrlIcons\@empty + \let\@pathsep\@empty\else\def\@pathsep{/}\fi + \declareMultiImages{% + {path=#1\@pathsep#2,page=0,placement={\aep@setAFirst}} + {path=#1\@pathsep#2,page=2,placement={\aep@setASB}} + {path=#1\@pathsep#2,page=4,placement={\aep@setAPB}} + {path=#1\@pathsep#2,page=6,placement={\aep@setAPaus}} + {path=#1\@pathsep#2,page=5,placement={\aep@setAPF}} + {path=#1\@pathsep#2,page=3,placement={\aep@setASF}} + {path=#1\@pathsep#2,page=1,placement={\aep@setALast}} + {path=#1\@pathsep#2,page=7,placement={\aep@setAPlus}} + {path=#1\@pathsep#2,page=8,placement={\aep@setAMinus}} + }% + \endgroup +} +\@onlypreamble\placeAnimeCtrlBtnFaces +\newcommand{\animeSetup}[1]{% + \let\animeSetupPresets\@empty + \edef\@tempExp{\noexpand\setkeys{btnAnime}{#1}}\@tempExp + \ifx\btnAnimeCtrlBdryColor\@empty\else + \edef\@tmpExp{\noexpand\g@addto@macro% + \noexpand\animeSetupPresets{% + \noexpand\BC{\btnAnimeCtrlBdryColor}}}\@tmpExp + \edef\@tmpExp{\noexpand\g@addto@macro% + \noexpand\animeSetupPresets{% + \noexpand\W{\btnAnimeCtrlBdryWidth}}}\@tmpExp\fi + \edef\@btnanimerowsep{\btnanimerowsep}% dps10 + \setlength{\@tempdima}{% + (\btnAnimeCtrlW+2bp)*\numWidgetsFirstRow+% + (\btnanimebtnsep*(\numWidgetsFirstRow-1))}% + \addtolength{\@tempdima}{\addSpaceBtwnPMBtns}% + \edef\widthFirstRow{\the\@tempdima}% +} +\newcommand{\insertCtrlButtons}[1][c]{% + \parbox[#1][\totalheight+2bp]{\widthFirstRow}{% + \offinterlineskip\centering\aep@btn@anime@controls}} +\newcommand{\setspaceBtwnPMBtns}[1]{{% + \settowidth{\@tempdima}{#1\kern2bp}% + \xdef\tmp@spaceBtwnPMBtns{\the\@tempdima}}% + \edef\@spaceBtwnPMBtns{\tmp@spaceBtwnPMBtns}} +\setspaceBtwnPMBtns{\space} +\def\addSpaceBtwnPMBtns{\ifKV@btnAnime@usetworows0bp\else + \ifKV@btnAnime@nospeedcontrol0bp\else\@spaceBtwnPMBtns\fi\fi} +\define@choicekey+{btnAnime}{type}[\val\nr]% + {loop,palindrome,stopatboundary}[stopatboundary]{% + \edef\aebp@btnAnime@type{\nr}}{} +\define@key{btnAnime}{fieldName}[]{\gdef\animeBtnFieldName{#1}} +\define@key{btnAnime}{ocgAnimeName}[]{\gdef\animeBtnFieldName{#1}} +\define@key{btnAnime}{iconName}[]{\gdef\animeBtnBaseName{#1}} +\define@key{btnAnime}{speed}[200]{\gdef\animeBtnSpeed{#1}} +\define@key{btnAnime}{nFrames}[]{\gdef\nFrames{#1}} +\define@boolkey{btnAnime}{autorun}[true]{} +\define@boolkey{btnAnime}{autopause}[true]{} +\define@choicekey+{btnAnime}{autoplayevent}[\val\nr]% + {pageopen,pagevisible}[pageopen]{\ifcase\nr\relax + \def\aebp@autoplayevent{\AAPageOpen}\or + \def\aebp@autoplayevent{\AAPageVisible}\fi}{}% +\def\aebp@autoplayevent{\AAPageOpen} +\define@choicekey+{btnAnime}{autopauseevent}[\val\nr]% + {pageclose,pageinvisible}[pageclose]{\ifcase\nr\relax + \def\aebp@autopauseevent{\AAPageClose}\or + \def\aebp@autopauseevent{\AAPageInvisible}\fi}{}% +\def\aebp@autopauseevent{\AAPageClose} +\define@choicekey+{btnAnime}{poster}[\val\nr]% + {first,last,none}[first]{\edef\aebp@btnAnime@poster{\nr}}{} +\define@key{btnAnime}{ctrlwidth}[18bp]{\def\btnAnimeCtrlW{#1}} +\define@key{btnAnime}{ctrlheight}[9bp]{\def\btnAnimeCtrlH{#1}} +\define@choicekey{btnAnime}{ctrlbdrywidth}[\val\nr]{none,% + thin,medium,thick}[thin]{\edef\btnAnimeCtrlBdryWidth{\nr}} +\define@key{btnAnime}{ctrlbdrycolor}[]{\def\ap@argi{#1}% + \ifx\ap@argi\@empty\let\btnAnimeCtrlBdryColor\@empty\else + \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} + {\btnAnimeCtrlBdryColor}{}{}} + {\edef\btnAnimeCtrlBdryColor{#1}}\fi +} % PDF color +\let\animeSetupPresets\@empty +\newcommand{\@ctrlsbtnsep}{\cgBdry[\btnanimebtnsep]} % dps10 +\newcommand{\btnanimebtnsep}{1bp} +\newcommand{\vspacectrlsep}{3bp} +\newcommand{\aep@vspacectrlsep}{\vspacectrlsep} +\newcommand{\btnanimerowsep}{1bp} +\newcommand{\btnAnimeSkini}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast}\ifKV@btnAnime@nospeedcontrol\else + \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{% + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else + \makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast + \ifKV@btnAnime@nospeedcontrol\else + \kern\@spaceBtwnPMBtns\btnAnimePlus + \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkinii}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimePlayBack + \@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \@ctrlsbtnsep\btnAnimeGoToLast}% + \ifKV@btnAnime@nospeedcontrol\else\vcgBdry[\@btnanimerowsep]% + \makebox[\linewidth][c]{\btnAnimePlus\@ctrlsbtnsep + \btnAnimeMinus}\fi\else\makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst\@ctrlsbtnsep + \btnAnimePlayBack\@ctrlsbtnsep\btnAnimePause% + \@ctrlsbtnsep\btnAnimePlayForward\@ctrlsbtnsep + \btnAnimeGoToLast\ifKV@btnAnime@nospeedcontrol\else + \kern\@spaceBtwnPMBtns\btnAnimePlus + \@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkiniii}{\ifKV@btnAnime@usetworows + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward}% + \ifKV@btnAnime@nospeedcontrol\else + \vcgBdry[\@btnanimerowsep]\makebox[\linewidth][c]{% + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus}\fi\else + \makebox[\linewidth][s]{\hss + \btnAnimeGoToFirst\@ctrlsbtnsep\btnAnimePause + \@ctrlsbtnsep\btnAnimePlayForward + \ifKV@btnAnime@nospeedcontrol\else\kern\@spaceBtwnPMBtns + \btnAnimePlus\@ctrlsbtnsep\btnAnimeMinus\fi\hss}\fi} +\newcommand{\btnAnimeSkiniv}{% + \makebox[\linewidth][c]{% + \btnAnimeGoToFirst + \@ctrlsbtnsep\btnAnimeStepBack + \@ctrlsbtnsep\btnAnimeStepForward + \@ctrlsbtnsep\btnAnimeGoToLast}} +\newcommand{\btnAnimeSkinv}{\PackageWarning{aeb_pro} + {skin5 is undefined.\MessageBreak You may customize + by defining skin5;\MessageBreak meanwhile, using default, + skin1}\btnAnimeSkini} +\newcommand{\btnAnimeSkinvi}{\PackageWarning{aeb_pro} + {skin6 is undefined.\MessageBreak You may customize + by defining skin6;\MessageBreak meanwhile, using default, + skin1}\btnAnimeSkini} +\newcommand{\aepnumWidgetsFirstRow}[2]{\def\numWidgetsFirstRow{% + \ifKV@btnAnime@nospeedcontrol#1\else + \ifKV@btnAnime@usetworows#1\else#2\fi\fi}} +\newcommand{\numWidgetsFirstRowV}{\aepnumWidgetsFirstRow{7}{9}} +\newcommand{\numWidgetsFirstRowVI}{\aepnumWidgetsFirstRow{7}{9}} +\define@choicekey+{btnAnime}{controls}[\val\nr]% + {none,skin1,skin2,skin3,skin4,skin5,skin6}[skin1]{% + \ifcase\nr\relax + \let\aep@btn@anime@controls\@empty + \def\widthFirstRow{0pt}\or + \def\aep@btn@anime@controls{\btnAnimeSkini}% + \aepnumWidgetsFirstRow{7}{9}\or + \def\aep@btn@anime@controls{\btnAnimeSkinii}% + \aepnumWidgetsFirstRow{5}{7}\or + \def\aep@btn@anime@controls{\btnAnimeSkiniii}% + \aepnumWidgetsFirstRow{3}{5}\or + \def\aep@btn@anime@controls{\btnAnimeSkiniv}% + \aepnumWidgetsFirstRow{4}{4}\or + \def\aep@btn@anime@controls{\btnAnimeSkinv}% + \numWidgetsFirstRowV\or + \def\aep@btn@anime@controls{\btnAnimeSkinvi}% + \numWidgetsFirstRowVI\fi + }{} +\define@boolkey{btnAnime}{usetworows}[true]{} +\define@boolkey{btnAnime}{nospeedcontrol}[true]{} +\setkeys{btnAnime}{fieldName,iconName,speed,nFrames,type,poster, + controls,usetworows=false,nospeedcontrol=false,ctrlwidth,ctrlheight, + ctrlbdrywidth,ctrlbdrycolor} +\newcommand{\btnAnimePresets}[1]{\def\aeb@btnAnimePresets{#1}} +\def\aeb@btnAnimePresets{} +\newcommand{\ctrlButtonsWrapper}[1]{#1} +\newcommand{\btnAnimeCtrlPresets}[1]{\def\aeb@btnAnimeCtrlPresets{#1}} +\def\aeb@btnAnimeCtrlPresets{} +\newcommand{\btnAnimeGoToFirst}{% + \pushButton[\TU{Go to first frame}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeFirstAction}}]% + {\animeBtnFieldName4BtnCtrl.animeFirst}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}}% +\newcommand{\btnAnimeStepBack}{% + \pushButton[\TU{Step Back}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeSBAction}}]% + {\animeBtnFieldName4BtnCtrl.animeSB}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlayBack}{% + \pushButton[\TU{Play Backwards}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePBAction}}]% + {\animeBtnFieldName4BtnCtrl.animePB}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePause}{% + \pushButton[\TU{Pause}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePauseAction}}]% + {\animeBtnFieldName4BtnCtrl.animePause}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlayForward}{% + \pushButton[\TU{Play Forwards}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePFAction}}]% + {\animeBtnFieldName4BtnCtrl.animePF}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeStepForward}{% + \pushButton[\TU{Step Forward}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeSFAction}}]% + {\animeBtnFieldName4BtnCtrl.animeSF}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeGoToLast}{% + \pushButton[\TU{Go to last frame}\S{S}\BC{} + \FB{false}\I{null}\TP{1}\presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeLastAction}}]% + {\animeBtnFieldName4BtnCtrl.animeLast}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimePlus}{% + \pushButton[\TU{Increase speed\r Shift-click to restore + default speed}%\textFont{HeBo}\CA{+} + \S{S}\BC{}\FB{false}\I{null}\TP{1} + \presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimePlusAction}}]% + {\animeBtnFieldName4BtnCtrl.animePlus}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeMinus}{% + \pushButton[\TU{Decrease speed\r Shift-click to restore + default speed}%\textFont{HeBo}\uCA{FEFF2212} + \S{S}\BC{}\FB{false}\I{null}\TP{1} + \presets{\aeb@btnAnimeCtrlPresets} + \presets{\animeSetupPresets}\A{\JS{\btnAnimeMinusAction}}]% + {\animeBtnFieldName4BtnCtrl.animeMinus}% + {\btnAnimeCtrlW}{\btnAnimeCtrlH}} +\newcommand{\btnAnimeFirstAction}{% +if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeFirst(\animeBtnFieldName); +} +\newcommand{\btnAnimeSBAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,% + \aebp@btnAnime@type,true); +} +\newcommand{\btnAnimePBAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,false,% + \aebp@btnAnime@type,false); +} +\newcommand{\btnAnimePauseAction}{% + if ((typeof \animeBtnFieldName\space == "object")&&% + \animeBtnFieldName.animeStart)\r\t + btnAnimePause(\animeBtnFieldName); +} +\newcommand{\btnAnimePFAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,% + \aebp@btnAnime@type,false); +} +\newcommand{\btnAnimeSFAction}{% + if ( typeof \animeBtnFieldName\space=="undefined")\r\t + var \animeBtnFieldName= new Object();\r + btnAnimePlay(\animeBtnFieldName,"\animeBtnFieldName",% + "\animeBtnBaseName",\animeBtnSpeed,\nFrames,true,% + \aebp@btnAnime@type,true); +} +\newcommand{\btnAnimeLastAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeLast(\animeBtnFieldName); +} +\newcommand{\btnAnimePlusAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimePlus(\animeBtnFieldName,\animeBtnSpeed); +} +\newcommand{\btnAnimeMinusAction}{% + if (typeof \animeBtnFieldName\space == "object")\r\t + btnAnimeMinus(\animeBtnFieldName,\animeBtnSpeed); +} +\begin{insDLJS}[_loadBtnAnimeCtrls]{btnanime} + {AeB Pro: Button and Ocg Anime Controls} +var _loadBtnAnimeCtrls=true; +var activeAnimes=new Array(); +function btnAnimePlay(oAnime,fieldName,baseFrameName,% +nSpeed,nFrames,bForward,type,bStep) { + // ocgAnime is characterized by baseFrameName="" + if ( oAnime.animeStart && !oAnime.animePause ) return; + var callingFieldName=event.target.name; + var re=/\.anime(PB|PF)/; + var doRebuild=( event.shift && re.test(callingFieldName) ); + if ( (arguments.length>1) && % +( (typeof activeAnimes[fieldName] == "undefined")|| doRebuild) ) { + activeAnimes[fieldName]=oAnime; + oAnime.isOcgAnime=(baseFrameName==""); // ocg change + oAnime.fieldName=fieldName; + oAnime.baseFrameName=baseFrameName; + oAnime.numSecs=nSpeed; + oAnime.nFrames=nFrames; + oAnime.type=type; + oAnime.bStep=bStep; + oAnime.aMyIcons = new Array(); + oAnime.count = 0; + if ( !oAnime.isOcgAnime ) {// ocg change + for ( var i=0; i < nFrames; i++) { + oAnime.aMyIcons[i] = this.getField(fieldName+"."+i); + oAnime.aMyIcons[i].display=(i==0)?display.visible:% +display.hidden; + } + } + } + if (arguments.length>1) { + oAnime.bForward=bForward; + oAnime.bStep=bStep; + } + if (oAnime.bStep) { + this.delay=true + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + var currCount=oAnime.count; + if (oAnime.bForward) { + oAnime.count++; + if (oAnime.count==oAnime.nFrames) // hit upper boundary + oAnime.count=(oAnime.type==0)?0:currCount; + } else { + oAnime.count--; + if (oAnime.count<0) + oAnime.count=(oAnime.type==0)?(oAnime.nFrames-1):0; + } + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.visible; + this.delay=false; + } else { + var args="\""+oAnime.fieldName+"\","+oAnime.type; + oAnime.run = app.setInterval(% +"btnAnimeNewFrame("+args+")",oAnime.numSecs); + oAnime.animeStart=true; + oAnime.animePause=false; + } +} +function btnAnimeFirst(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + oAnime.count=0; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; // ocg + else + oAnime.aMyIcons[0].display=display.visible; +} +function btnAnimeLast(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + var l = oAnime.nFrames-1; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; // ocg + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + oAnime.count=l; + if ( oAnime.isOcgAnime ) + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(l+1)).state=true; // ocg + else + oAnime.aMyIcons[l].display=display.visible; +} +function btnAnimePause(oAnime) +{ + try { app.clearInterval(oAnime.run);} catch(e){} + oAnime.animePause=true; +} +function btnAnimePlus(oAnime,nDefSpeed){ + var isPlaying=(oAnime.animeStart&&!oAnime.animePause); + if (isPlaying) btnAnimePause(oAnime); + if ( event.shift ) oAnime.numSecs=nDefSpeed; + else oAnime.numSecs -= 50; + if (oAnime.numSecs<10) oAnime.numSecs=10 + if (isPlaying) btnAnimePlay(oAnime); +} +function btnAnimeMinus(oAnime,nDefSpeed){ + var isPlaying=(oAnime.animeStart&&!oAnime.animePause); + if (isPlaying) btnAnimePause(oAnime); + if ( event.shift ) oAnime.numSecs=nDefSpeed; + else oAnime.numSecs += 50; + if (isPlaying) btnAnimePlay(oAnime); +} +function btnAnimeNewFrame(fieldName, type) +{ + var oAnime=activeAnimes[fieldName]; + this.delay=true + if ( oAnime.isOcgAnime ) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=false; + else + oAnime.aMyIcons[oAnime.count].display=display.hidden; + var currCount=oAnime.count; + var bBdaryMet=false; + if (oAnime.bForward) { + oAnime.count++; + if (oAnime.count==oAnime.nFrames) { + if(type==0) oAnime.count \%= oAnime.nFrames; + else if(type==1) { + oAnime.count=currCount; + oAnime.count--; + oAnime.bForward=false; + } else { + bBdaryMet=true; + oAnime.count=currCount; + } + } + } else { + oAnime.count--; + if (oAnime.count<0) { + if(type==0) oAnime.count=(oAnime.nFrames-1); + else if(type==1) { + oAnime.count=currCount; + oAnime.count++; + oAnime.bForward=true; + } else { // stop + bBdaryMet=true; + oAnime.count=currCount; + } + } + } + if ( oAnime.isOcgAnime) // ocg change + getxBld("anime!!"+oAnime.fieldName+"\#"% ++(oAnime.count+1)).state=true; + else + oAnime.aMyIcons[oAnime.count].display=display.visible; + this.delay=false; + if ( type==2 && bBdaryMet ) { + try { app.clearInterval(oAnime.run);} catch(e){} + // try { app.clearTimeOut(timeout);} catch(e){} + oAnime.animeStart=false; + oAnime.animePause=false; + } +} +\end{insDLJS} +\endinput +%% +%% End of file `anime_support.def'. diff --git a/texmf-dist/tex/latex/aeb-pro/btnnanime.def b/texmf-dist/tex/latex/aeb-pro/btnnanime.def index c98c9fae..82577354 100644 --- a/texmf-dist/tex/latex/aeb-pro/btnnanime.def +++ b/texmf-dist/tex/latex/aeb-pro/btnnanime.def @@ -1,56 +1,56 @@ -%% -%% This is file `btnnanime.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,btnanime') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\btnAnime}[3]{\begingroup\animeSetup{#1}% - \ifx\animeBtnFieldName\@empty\PackageError{aeb_pro}% - {The fieldName key is required}{}\fi - \ifx\animeBtnBaseName\@empty\PackageError{aeb_pro}% - {The iconName key is required}{}\fi - \ifx\nFrames\@empty\PackageError{aeb_pro}% - {The nFrames key is required}{}\fi - \parbox[t][#3]{#2}{% - \everyPushButton{\BC{}\BG{}\S{S}\autoCenter{n}\FB{true}\TP{1}% - \Ff{\FfReadOnly}\presets{\aeb@btnAnimePresets}\I{null}}% - \edef\termLoop{\nFrames}\edef\firstBtnOpts{% - \ifnum\aebp@btnAnime@poster=0 \else\noexpand\F{\FHidden}\fi - \noexpand\AA{\ifKV@btnAnime@autorun - \aebp@autoplayevent{\noexpand\btnAnimePFAction}\fi - \ifKV@btnAnime@autopause - \aebp@autopauseevent{\noexpand\btnAnimePauseAction}\fi}}% - \makebox[0pt][l]{\expandafter\pushButton - \expandafter[\firstBtnOpts]{\animeBtnFieldName.0}{#2}{#3}}% - \ifnum\aebp@btnAnime@poster=1 - \count0=\nFrames\relax\advance\count0by-1 - \edef\termLoop{\the\count0}\fi\@tempcnta=1 - \loop\ifnum\@tempcnta<\termLoop\relax - \makebox[0pt][l]{\pushButton[\F{\FHidden}]{% - \animeBtnFieldName.\the\@tempcnta}{#2}{#3}}% - \advance\@tempcnta1\relax\repeat - \ifnum\aebp@btnAnime@poster=1\relax\makebox[0pt][l]{% - \pushButton{\animeBtnFieldName.\termLoop}{#2}{#3}}% - \fi\hfill\ifx\aep@btn@anime@controls\@empty\else - \offinterlineskip\vcgBdry[\vspacectrlsep]% - \everyPushButton{}\centering - \ctrlButtonsWrapper{\insertCtrlButtons}\fi - }%parbox - \endgroup -} -\endinput -%% -%% End of file `btnnanime.def'. +%% +%% This is file `btnnanime.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,btnanime') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\btnAnime}[3]{\begingroup\animeSetup{#1}% + \ifx\animeBtnFieldName\@empty\PackageError{aeb_pro}% + {The fieldName key is required}{}\fi + \ifx\animeBtnBaseName\@empty\PackageError{aeb_pro}% + {The iconName key is required}{}\fi + \ifx\nFrames\@empty\PackageError{aeb_pro}% + {The nFrames key is required}{}\fi + \parbox[t][#3]{#2}{% + \everyPushButton{\BC{}\BG{}\S{S}\autoCenter{n}\FB{true}\TP{1}% + \Ff{\FfReadOnly}\presets{\aeb@btnAnimePresets}\I{null}}% + \edef\termLoop{\nFrames}\edef\firstBtnOpts{% + \ifnum\aebp@btnAnime@poster=0 \else\noexpand\F{\FHidden}\fi + \noexpand\AA{\ifKV@btnAnime@autorun + \aebp@autoplayevent{\noexpand\btnAnimePFAction}\fi + \ifKV@btnAnime@autopause + \aebp@autopauseevent{\noexpand\btnAnimePauseAction}\fi}}% + \makebox[0pt][l]{\expandafter\pushButton + \expandafter[\firstBtnOpts]{\animeBtnFieldName.0}{#2}{#3}}% + \ifnum\aebp@btnAnime@poster=1 + \count0=\nFrames\relax\advance\count0by-1 + \edef\termLoop{\the\count0}\fi\@tempcnta=1 + \loop\ifnum\@tempcnta<\termLoop\relax + \makebox[0pt][l]{\pushButton[\F{\FHidden}]{% + \animeBtnFieldName.\the\@tempcnta}{#2}{#3}}% + \advance\@tempcnta1\relax\repeat + \ifnum\aebp@btnAnime@poster=1\relax\makebox[0pt][l]{% + \pushButton{\animeBtnFieldName.\termLoop}{#2}{#3}}% + \fi\hfill\ifx\aep@btn@anime@controls\@empty\else + \offinterlineskip\vcgBdry[\vspacectrlsep]% + \everyPushButton{}\centering + \ctrlButtonsWrapper{\insertCtrlButtons}\fi + }%parbox + \endgroup +} +\endinput +%% +%% End of file `btnnanime.def'. diff --git a/texmf-dist/tex/latex/aeb-pro/create_icon.def b/texmf-dist/tex/latex/aeb-pro/create_icon.def index acdfb6e0..5a49507d 100644 --- a/texmf-dist/tex/latex/aeb-pro/create_icon.def +++ b/texmf-dist/tex/latex/aeb-pro/create_icon.def @@ -1,156 +1,156 @@ -%% -%% This is file `create_icon.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,createicon') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newenvironment{docassembly}{% -\execJS{docassembly} -}{\endexecJS} -\let\ap@mrk\@empty -\def\ap@gobtocomma#1,{} -\providecommand\chngDocObjectTo[2]{% - \def#1##1\ap@mrk{#2,\ap@gobtocomma##1}} -\def\ap@TF{aebTrustedFunctions} -\def\theDocObject{this} -\providecommand\DeclareJSHelper[2]{% - \def#1##1({\ap@TF(##1\theDocObject,#2,\ap@mrk}} -\DeclareJSHelper{\importIcon}{aebImportIcon} -\let\predocassemJS\@empty -\def\aeb@image@cnt{0} -\define@key{importIcons}{name}[]{\def\importIcons@name{#1}} -\define@key{importIcons}{path}[]{\def\importIcons@path{#1}} -\define@key{importIcons}{page}[]{\def\importIcons@page{#1}} -\define@key{importIcons}{placement}[]{\def\importIcons@placement{#1}} -\define@boolkey{importIcons}{embedonly}[true]{} -\define@key{importIcons}{firstpage}[]{\def\importIcons@firstpage{#1}} -\define@key{importIcons}{lastpage}[]{\def\importIcons@lastpage{#1}} -\newcommand{\aebp@getFace}[1][0]{% - \def\importIcons@face{#1}\aebp@getPlacement} -\def\aebp@getPlacement#1\@nil{\def\importIcons@fieldname{#1}% - \expandafter\ap@strpspcs\importIcons@fieldname\@nil - \edef\importIcons@fieldname{\to@nilarg}% -} -\newcommand{\declareMultiImages}[1]{% - \edef\@tforExp{\noexpand\@tfor\noexpand\@dipArgs:=#1}% - \@tforExp\do{% - \expandafter\declareImageAndPlacement - \expandafter{\@dipArgs}% - }% -} -\newcommand{\declareImageAndPlacement}[1]{% - \edef\@tempexp{\noexpand\setkeys{importIcons}{name,path,page,% - placement,embedonly=false,#1}}\@tempexp - \ifx\importIcons@name\@empty{\count0=\aeb@image@cnt - \advance\count0by1\relax\xdef\aeb@image@cnt{\the\count0}}% - \edef\importIcons@name{aebImage\aeb@image@cnt}\fi - \ifx\importIcons@path\@empty - \PackageError{aeb_pro}{The `path' key is required} - {Please give the path of the icon.}\fi - \ifx\importIcons@placement\@empty\ifKV@importIcons@embedonly\else - \PackageWarningNoLine{aeb_pro}{% - The `placement' key was not found for the\MessageBreak - image named "\importIcons@name".\MessageBreak - Specify this key, or insert the image manually in\MessageBreak - the docassembly environment.}\fi\fi - \xdef\predocassemJS{\predocassemJS - var retn=\importIcon({cName:"\importIcons@name",% - cDIPath:"\importIcons@path"% - \ifx\importIcons@page\@empty\else,% - nPage:\importIcons@page\fi});^^J% - if ( retn==-1 ) console.println("The file - \string\"\importIcons@path\string\" could not be opened.");^^J% - if ( retn==-2 ) console.println("Selected page - (page=\importIcons@page) for \string\"\importIcons@path\string\" - is invalid.");^^J}% - \ifx\importIcons@placement\@empty\else - \@for\@fieldname:=\importIcons@placement\do{% - \expandafter\aebp@getFace\@fieldname\@nil - \xdef\predocassemJS{\predocassemJS - var f = this.getField("\importIcons@fieldname");^^J% - if ( f == null ) console.println("The field - \string\"\importIcons@fieldname\string\" - does not exist.");^^J% - try { f.buttonSetIcon(this.getIcon("\importIcons@name"),% - \importIcons@face); } - catch(e){};^^J}% - }% - \fi -} -\@onlypreamble\declareImageAndPlacement -\newcommand{\iconNameI}[1]{\def\IconNameI(##1){#1}} -\iconNameI{#1+"."+i} -\@onlypreamble\iconNameI -\newcommand{\embedMultiPageImages}[1]{% - \setkeys{importIcons}{name,path,page,placement,% - firstpage,lastpage,#1}% - \ifx\importIcons@firstpage\@empty - \def\importIcons@firstpage{1}\else - {\count0=\importIcons@firstpage}\fi - \ifx\importIcons@lastpage\@empty - \def\importIcons@lastpage{this.numPages}\else - {\count0=\importIcons@lastpage}\fi - \ifx\importIcons@name\@empty - \PackageError{aeb_pro}{The `name' key is required} - {Please give the icon family a name.}\fi - \ifx\importIcons@path\@empty - \PackageError{aeb_pro}{The `path' key is required} - {Please give the path of the icon.}\fi - \def\r{^^J}\def\t{\space\space\space\space}% - \let\predocassemJSPlace\@empty - \ifx\importIcons@placement\@empty\else - \@for\@fieldname:=\importIcons@placement\do{% - \expandafter\aebp@getFace\@fieldname\@nil - \edef\predocassemJSPlace{\predocassemJSPlace\t - var f = this.getField("\importIcons@fieldname."+i);\r\t - if ( f == null ) console.println("The field - \string\"\importIcons@fieldname."+i+"\string\" - does not exist.");\r\t - try { f.buttonSetIcon(this.getIcon(% -\IconNameI("\importIcons@name")),% - \importIcons@face); } - catch(e){};\r}% - }% - \fi - \xdef\predocassemJS{\predocassemJS - var l=\importIcons@lastpage-\importIcons@firstpage+1;\r - for (var i=0; i/R/C>>} -\def\targetDictionary@cp#1{/T<>} -\def\targetDictionary@cc#1{% -/T</R/C>>>>} -\def\factory@ahyperref@defaults{goto=p2c,page,dest,open=userpref,view,% - border=invisible,highlight=invert,linestyle=solid,linewidth=thin,% - bordercolor,textcolor=red,preset} -\newcommand{\setahyperDefaults}[1]{\def\aeb@setahyperrefDefaults{#1}} -\let\aeb@setahyperrefDefaults\@empty -\newcommand{\resetahyperDefaults}{% - \let\aeb@setahyperrefDefaults\@empty} -\def\aeb@initahref#1{% - \edef\expand@setkeys{% - \noexpand\setkeys{ahref}{\factory@ahyperref@defaults}}% - \expand@setkeys - \ifx\aeb@setahyperrefDefaults\@empty\else - \edef\expand@setkeys{\noexpand\setkeys{ahref}% - [dest,goto,page,preset]{\aeb@setahyperrefDefaults}}% - \expand@setkeys - \fi - \setkeys{ahref}{#1}% - \ifx\ahref@preset\@empty\else - \edef\expand@setkeys{\noexpand - \setkeys{ahref}{\ahref@preset}}\expand@setkeys\fi - \let\ahref@dasharray\@empty - \ifx\ahref@linestyle@keyvalue\ahref@dashedlinetyle - \def\aeb@border@parameters{0 0 \ahref@linewidth[3.0]}% - \def\ahref@dasharray{/D[3.0]}% - \else - \edef\aeb@border@parameters{\ahref@border}% - \fi - \ifx\ahef@invisible@border\@empty\def\ahref@linewidth{0}\fi - \def\ahref@BS@Dict{/BS<<% - \ahref@dasharray\ahref@linestyle@keyvalue/W \ahref@linewidth>> - \ifx\ahref@bordercolor\@empty\else - /C[\ahref@bordercolor]\fi\ahref@highlight}% -} -\newcommand{\ahyperref}[3][]{\begingroup - \dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahref@dest\@empty - \def\ahref@dest@keyvalue{% - /D[\ahref@page\space\ahref@view@keyvalue]}% - \else - \edef\ahref@dest@keyvalue{/D(\labelRef{\ahref@dest})}% - \fi - \aeb@ahref@setlink{#2}{#3}% -} -\newcommand{\ahyperlink}[3][]{\begingroup - \dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahref@dest\@empty - \def\ahref@dest@keyvalue{% - /D[\ahref@page\space\ahref@view@keyvalue]}% - \else - \def\ahref@dest@keyvalue{/D(\ahref@dest)}% - \fi - \aeb@ahref@setlink{#2}{#3}% -} -\def\aeb@ahref@setlink#1#2{% - \ifx\ahrefcolor\@empty - \@eqlinktxtcolor{}\let\ahypercolor\@empty\else - \def\ahypercolor{\textcolor{\ahrefcolor}}\fi - \setLink[\Border{\aeb@border@parameters}% - \rawPDF{\ahref@BS@Dict}% - \A{\ahref@dest@keyvalue/S/GoToE% - \ahref@open@keyvalue\targetDictionary{#1}}]{\ahypercolor{#2}}% - \endgroup -} -\newcommand{\ahyperextract}[3][]{\begingroup\dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahrefcolor\@empty - \@eqlinktxtcolor{}\let\ahypercolor\@empty\else - \def\ahypercolor{\textcolor{\ahrefcolor}}\fi - \setLink[\Border{\aeb@border@parameters}% - \rawPDF{\ahref@BS@Dict}% - \A{\JS{this.exportDataObject({cName: "#2",% -nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% - \endgroup -} -\begingroup\catcode`\"=\active \gdef\DQ{\string\"}% - \gdef\@handledblquotes{\catcode`\"=\active\def"{\DQ}}% - \toks0=\expandafter{\DLspecialDefs\@handledblquotes}% - \xdef\DLspecialDefs{\the\toks0}% -\endgroup -\newif\ifHandleDblQuotes \HandleDblQuotesfalse -\def\sanitize@attach{\ifHandleDblQuotes\@handledblquotes\fi% -\@makeother\#\@makeother\$\@makeother\%\@makeother~} -{\obeyspaces\gdef\getdscrptCont#1{\gdef\aebp@description{#1}% -\aeb@labelName}% -\gdef\getdscrptStrCont#1{\gdef\aebp@description{#1}% -\aeb@labelNamestar}}% -\let\aeb@isFromAutoLabelNum\aebp@Zero -\def\attachmentNamesEnv{attachmentNames} % dps23 -\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv % dps23 - \def\ap@next{\labelName@Env}\else\def\ap@next{\defUniStr}\fi\ap@next} -\def\labelName@Env#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero %dps23 - \@for\x:=ABCDEFabcdef\do{\@makeother\x}% - \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} -\def\labelName@a#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@One - \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} -\def\labelName@i{\obeyspaces\sanitize@attach\getdscrptCont}% -\def\labelName@star#1{\bgroup\@for\x:=ABCDEFabcdef\do{\@makeother\x}% - \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@star@i}{}}% -\def\labelName@star@i{\obeyspaces\sanitize@attach\getdscrptStrCont}% -\newcommand{\autolabelNum}{% - \@ifstar{\aeb@autoLabelNumstar}{\aeb@autoLabelNum}} -\newcommand\aeb@autoLabelNum[2][]{\def\alnargi{#1}% - \def\@thisattachnum{#2}% - \ifx\alnargi\@empty - \def\aeb@next{% - \labelName@a{attach#2}{AeB\space Attachment\space #2}}% - \else - \def\aeb@next{% - \labelName@a{#1}{AeB\space Attachment\space #2}}% - \fi - \aeb@next% -} -\newcommand{\aeb@autoLabelNumstar}[2][]{% - \def\alnargi{#1}\gdef\@thisattachnum{#2}% - \ifx\alnargi\@empty\def\aeb@next{\labelName@star{attach#2}}\else - \def\aeb@next{\labelName@star{#1}}\fi - \aeb@next% -} -\def\aeb@labelName{% - \if\aeb@isFromAutoLabelNum\aebp@One - \global\csarg\let - {aeb@aDescript@attach\@thisattachnum}\aebp@description - \global\csarg\let - {aeb@aName@attach\@thisattachnum}\aebp@labelname - \else - \global\csarg\let - {aeb@aDescript@\aebp@labelname}\aebp@description - \global\csarg\let - {aeb@aName@\aebp@labelname}\aebp@labelname\fi\egroup} -\def\aeb@labelNamestar{% - \global\csarg\let - {aeb@aDescript@attach\@thisattachnum}\aebp@description - \global\csarg\let{aeb@aName@attach\@thisattachnum}\aebp@labelname - \global\csarg\let{aeb@aDescript@\aebp@labelname}\aebp@description - \global\csarg\let{aeb@aName@\aebp@labelname}\aebp@labelname\egroup} -\@ifpackageloaded{exerquiz}{} -{% - \def\verbatimwrite{\@bsphack - \let\do\@makeother\dospecials - \catcode`\^^M\active\catcode`\^^I=12% - \def\verbatim@processline{% - \immediate\write\verbatim@out - {\the\verbatim@line}}% - \verbatim@start} - \def\endverbatimwrite{\@esphack} -} -\let\attachNamesEnv\@empty -\newenvironment{attachmentNames}{% - \newwrite \aeb@attachments@xref - \immediate\openout \aeb@attachments@xref \jobname_xref.cut - \let\verbatim@out\aeb@attachments@xref - \immediate\write\verbatim@out{\string\begingroup - \string\HandleDblQuotestrue^^J% - \string\def\string\attachNamesEnv{attachmentNames}}% - \verbatimwrite}{% - \endverbatimwrite - \immediate\write\verbatim@out{\string\endgroup}% - \immediate\closeout \aeb@attachments@xref - \aftergroup\aeb@Input@xref} -\def\aeb@Input@xref{\InputIfFileExists{\jobname_xref.cut}{}{}} -\endinput -%% -%% End of file `linkto.def'. +%% +%% This is file `linkto.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,unicode') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\define@key{ahref}{page}[0]{\def\ahref@page{#1}} +\def\ahref@page{0} +\def\ap@fslash{/} +\def\@isfirstslash#1#2\@nil{\def\arg@i{#1}\ifx\ap@fslash\arg@i + \else\edef\ahref@view@keyvalue{/\ahref@view@keyvalue}\fi} +\define@key{ahref}{view}[/Fit]{\edef\ahref@view@keyvalue{#1}% + \expandafter\@isfirstslash\ahref@view@keyvalue\@nil +} +\def\ahref@view@keyvalue{/Fit} +\define@key{ahref}{dest}[]{\def\ahref@dest{#1}} +\let\ahref@dest\@empty +\define@choicekey{ahref}{open}[\val\nr]{userpref,new,existing} +{% + \ifcase\nr\relax + \let\ahref@open@keyvalue\@empty\or + \def\ahref@open@keyvalue{/NewWindow true }\or + \def\ahref@open@keyvalue{/NewWindow false }\fi +}{} +\let\ahref@open@keyvalue\@empty +\define@choicekey{ahref}{border}[\val\nr]{visible,invisible} +{% + \ifcase\nr\relax + \def\ahref@border{0 0 1}% + \def\ahef@invisible@border{1}\or + \def\ahref@border{0 0 0}% W = 0 also? + \let\ahef@invisible@border\@empty\fi +}{} +\define@choicekey{ahref}{highlight}[\val\nr]{none,invert,outline,insert} +{% + \ifcase\nr\relax + \let\ahref@highlight\@empty\or + \def\ahref@highlight{/H/I}\or + \def\ahref@highlight{/H/O}\or + \def\ahref@highlight{/H/P}\fi +}{} +\define@key{ahref}{bordercolor}[]{\def\ap@argi{#1}\ifx\ap@argi\@empty + \let\ahref@bordercolor\@empty\else + \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} + {\ahref@bordercolor}{}{}} + {\edef\ahref@bordercolor{#1}}\fi +} % PDF color +\let\ahref@bordercolor\@empty +\define@choicekey{ahref}{linestyle}[\val\nr]{solid,dashed,underlined} +{% + \ifcase\nr\relax + \def\ahref@linestyle@keyvalue{/S/S}\or + \def\ahref@linestyle@keyvalue{/S/D}\or % Dashed [0 0 1[3.0]] + \def\ahref@linestyle@keyvalue{/S/U}\fi +} +\def\ahref@dashedlinetyle{/S/D} +\define@choicekey{ahref}{linewidth}[\val\nr]{thin,medium,thick} +{% + \ifcase\nr\relax + \def\ahref@linewidth{1}\or + \def\ahref@linewidth{2}\or + \def\ahref@linewidth{3}\fi +} +\define@choicekey{ahref}{goto}[\val\nr]{p2c,c2p,c2c} +{% + \ifcase\nr\relax + \global\let\targetDictionary\targetDictionary@pc\or + \global\let\targetDictionary\targetDictionary@cp\or + \global\let\targetDictionary\targetDictionary@cc\fi +}{} +\define@choicekey{ahref}{launch}[\val\nr]{save,view,viewnosave} + {\edef\ahref@launch@type{\nr}}{} +\def\ahref@launch@type{0}% +\define@key{ahref}{preset}[]{\def\ahref@preset{#1}} +\let\ahref@preset\@mpty +\def\ahypertxtcolor#1{\def\ahrefcolor{#1}} +\def\ahrefcolor{red} +\define@key{ahref}{textcolor}[]{\def\ahrefcolor{#1}} +\def\targetDictionary@pc#1{/T</R/C>>} +\def\targetDictionary@cp#1{/T<>} +\def\targetDictionary@cc#1{% +/T</R/C>>>>} +\def\factory@ahyperref@defaults{goto=p2c,page,dest,open=userpref,view,% + border=invisible,highlight=invert,linestyle=solid,linewidth=thin,% + bordercolor,textcolor=red,preset} +\newcommand{\setahyperDefaults}[1]{\def\aeb@setahyperrefDefaults{#1}} +\let\aeb@setahyperrefDefaults\@empty +\newcommand{\resetahyperDefaults}{% + \let\aeb@setahyperrefDefaults\@empty} +\def\aeb@initahref#1{% + \edef\expand@setkeys{% + \noexpand\setkeys{ahref}{\factory@ahyperref@defaults}}% + \expand@setkeys + \ifx\aeb@setahyperrefDefaults\@empty\else + \edef\expand@setkeys{\noexpand\setkeys{ahref}% + [dest,goto,page,preset]{\aeb@setahyperrefDefaults}}% + \expand@setkeys + \fi + \setkeys{ahref}{#1}% + \ifx\ahref@preset\@empty\else + \edef\expand@setkeys{\noexpand + \setkeys{ahref}{\ahref@preset}}\expand@setkeys\fi + \let\ahref@dasharray\@empty + \ifx\ahref@linestyle@keyvalue\ahref@dashedlinetyle + \def\aeb@border@parameters{0 0 \ahref@linewidth[3.0]}% + \def\ahref@dasharray{/D[3.0]}% + \else + \edef\aeb@border@parameters{\ahref@border}% + \fi + \ifx\ahef@invisible@border\@empty\def\ahref@linewidth{0}\fi + \def\ahref@BS@Dict{/BS<<% + \ahref@dasharray\ahref@linestyle@keyvalue/W \ahref@linewidth>> + \ifx\ahref@bordercolor\@empty\else + /C[\ahref@bordercolor]\fi\ahref@highlight}% +} +\newcommand{\ahyperref}[3][]{\begingroup + \dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahref@dest\@empty + \def\ahref@dest@keyvalue{% + /D[\ahref@page\space\ahref@view@keyvalue]}% + \else + \edef\ahref@dest@keyvalue{/D(\labelRef{\ahref@dest})}% + \fi + \aeb@ahref@setlink{#2}{#3}% +} +\newcommand{\ahyperlink}[3][]{\begingroup + \dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahref@dest\@empty + \def\ahref@dest@keyvalue{% + /D[\ahref@page\space\ahref@view@keyvalue]}% + \else + \def\ahref@dest@keyvalue{/D(\ahref@dest)}% + \fi + \aeb@ahref@setlink{#2}{#3}% +} +\def\aeb@ahref@setlink#1#2{% + \ifx\ahrefcolor\@empty + \@eqlinktxtcolor{}\let\ahypercolor\@empty\else + \def\ahypercolor{\textcolor{\ahrefcolor}}\fi + \setLink[\Border{\aeb@border@parameters}% + \rawPDF{\ahref@BS@Dict}% + \A{\ahref@dest@keyvalue/S/GoToE% + \ahref@open@keyvalue\targetDictionary{#1}}]{\ahypercolor{#2}}% + \endgroup +} +\newcommand{\ahyperextract}[3][]{\begingroup\dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahrefcolor\@empty + \@eqlinktxtcolor{}\let\ahypercolor\@empty\else + \def\ahypercolor{\textcolor{\ahrefcolor}}\fi + \setLink[\Border{\aeb@border@parameters}% + \rawPDF{\ahref@BS@Dict}% + \A{\JS{this.exportDataObject({cName: "#2",% +nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% + \endgroup +} +\begingroup\catcode`\"=\active \gdef\DQ{\string\"}% + \gdef\@handledblquotes{\catcode`\"=\active\def"{\DQ}}% + \toks0=\expandafter{\DLspecialDefs\@handledblquotes}% + \xdef\DLspecialDefs{\the\toks0}% +\endgroup +\newif\ifHandleDblQuotes \HandleDblQuotesfalse +\def\sanitize@attach{\ifHandleDblQuotes\@handledblquotes\fi% +\@makeother\#\@makeother\$\@makeother\%\@makeother~} +{\obeyspaces\gdef\getdscrptCont#1{\gdef\aebp@description{#1}% +\aeb@labelName}% +\gdef\getdscrptStrCont#1{\gdef\aebp@description{#1}% +\aeb@labelNamestar}}% +\let\aeb@isFromAutoLabelNum\aebp@Zero +\def\attachmentNamesEnv{attachmentNames} % dps23 +\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv % dps23 + \def\ap@next{\labelName@Env}\else\def\ap@next{\defUniStr}\fi\ap@next} +\def\labelName@Env#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero %dps23 + \@for\x:=ABCDEFabcdef\do{\@makeother\x}% + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} +\def\labelName@a#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@One + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} +\def\labelName@i{\obeyspaces\sanitize@attach\getdscrptCont}% +\def\labelName@star#1{\bgroup\@for\x:=ABCDEFabcdef\do{\@makeother\x}% + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@star@i}{}}% +\def\labelName@star@i{\obeyspaces\sanitize@attach\getdscrptStrCont}% +\newcommand{\autolabelNum}{% + \@ifstar{\aeb@autoLabelNumstar}{\aeb@autoLabelNum}} +\newcommand\aeb@autoLabelNum[2][]{\def\alnargi{#1}% + \def\@thisattachnum{#2}% + \ifx\alnargi\@empty + \def\aeb@next{% + \labelName@a{attach#2}{AeB\space Attachment\space #2}}% + \else + \def\aeb@next{% + \labelName@a{#1}{AeB\space Attachment\space #2}}% + \fi + \aeb@next% +} +\newcommand{\aeb@autoLabelNumstar}[2][]{% + \def\alnargi{#1}\gdef\@thisattachnum{#2}% + \ifx\alnargi\@empty\def\aeb@next{\labelName@star{attach#2}}\else + \def\aeb@next{\labelName@star{#1}}\fi + \aeb@next% +} +\def\aeb@labelName{% + \if\aeb@isFromAutoLabelNum\aebp@One + \global\csarg\let + {aeb@aDescript@attach\@thisattachnum}\aebp@description + \global\csarg\let + {aeb@aName@attach\@thisattachnum}\aebp@labelname + \else + \global\csarg\let + {aeb@aDescript@\aebp@labelname}\aebp@description + \global\csarg\let + {aeb@aName@\aebp@labelname}\aebp@labelname\fi\egroup} +\def\aeb@labelNamestar{% + \global\csarg\let + {aeb@aDescript@attach\@thisattachnum}\aebp@description + \global\csarg\let{aeb@aName@attach\@thisattachnum}\aebp@labelname + \global\csarg\let{aeb@aDescript@\aebp@labelname}\aebp@description + \global\csarg\let{aeb@aName@\aebp@labelname}\aebp@labelname\egroup} +\@ifpackageloaded{exerquiz}{} +{% + \def\verbatimwrite{\@bsphack + \let\do\@makeother\dospecials + \catcode`\^^M\active\catcode`\^^I=12% + \def\verbatim@processline{% + \immediate\write\verbatim@out + {\the\verbatim@line}}% + \verbatim@start} + \def\endverbatimwrite{\@esphack} +} +\let\attachNamesEnv\@empty +\newenvironment{attachmentNames}{% + \newwrite \aeb@attachments@xref + \immediate\openout \aeb@attachments@xref \jobname_xref.cut + \let\verbatim@out\aeb@attachments@xref + \immediate\write\verbatim@out{\string\begingroup + \string\HandleDblQuotestrue^^J% + \string\def\string\attachNamesEnv{attachmentNames}}% + \verbatimwrite}{% + \endverbatimwrite + \immediate\write\verbatim@out{\string\endgroup}% + \immediate\closeout \aeb@attachments@xref + \aftergroup\aeb@Input@xref} +\def\aeb@Input@xref{\InputIfFileExists{\jobname_xref.cut}{}{}} +\endinput +%% +%% End of file `linkto.def'. diff --git a/texmf-dist/tex/latex/aeb-pro/ocganime.def b/texmf-dist/tex/latex/aeb-pro/ocganime.def index 554d70ab..a948de6f 100644 --- a/texmf-dist/tex/latex/aeb-pro/ocganime.def +++ b/texmf-dist/tex/latex/aeb-pro/ocganime.def @@ -1,39 +1,39 @@ -%% -%% This is file `ocganime.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,ocganime') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--2018 D. P. Story %% -%% dpstory@acrotex.net %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1.2 of %% -%% the License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newenvironment{ocgAnime}[1]{\animeSetup{#1}% - \ifx\animeBtnFieldName\@empty\PackageError{aeb_pro}% - {The ocgAnimeName key is required}{}\fi - \ifx\nFrames\@empty\PackageError{aeb_pro}% - {The nFrames key is required}{}\fi - \DeclareAnime{\animeBtnFieldName}{\animeBtnSpeed}{\nFrames}% -}{% - \edef\aep@ExpOpts{\noexpand\AA{\ifKV@btnAnime@autorun - \aebp@autoplayevent{\noexpand\btnAnimePFAction}\fi - \ifKV@btnAnime@autopause\aebp@autopauseevent{% - \noexpand\btnAnimePauseAction}\fi}}\smash{\makebox[0pt][l]% - {\expandafter\pushButton\expandafter[\aep@ExpOpts\W0\BC{}\BG{}\S{S}]% - {\animeBtnFieldName-autorunpause}{0bp}{0bp}}}% - \ifx\aep@btn@anime@controls\@empty\else\offinterlineskip - \vcgBdry[\vspacectrlsep]\everyPushButton{}% - \centering\ctrlButtonsWrapper{\insertCtrlButtons}\fi -} -\endinput -%% -%% End of file `ocganime.def'. +%% +%% This is file `ocganime.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,ocganime') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newenvironment{ocgAnime}[1]{\animeSetup{#1}% + \ifx\animeBtnFieldName\@empty\PackageError{aeb_pro}% + {The ocgAnimeName key is required}{}\fi + \ifx\nFrames\@empty\PackageError{aeb_pro}% + {The nFrames key is required}{}\fi + \DeclareAnime{\animeBtnFieldName}{\animeBtnSpeed}{\nFrames}% +}{% + \edef\aep@ExpOpts{\noexpand\AA{\ifKV@btnAnime@autorun + \aebp@autoplayevent{\noexpand\btnAnimePFAction}\fi + \ifKV@btnAnime@autopause\aebp@autopauseevent{% + \noexpand\btnAnimePauseAction}\fi}}\smash{\makebox[0pt][l]% + {\expandafter\pushButton\expandafter[\aep@ExpOpts\W0\BC{}\BG{}\S{S}]% + {\animeBtnFieldName-autorunpause}{0bp}{0bp}}}% + \ifx\aep@btn@anime@controls\@empty\else\offinterlineskip + \vcgBdry[\vspacectrlsep]\everyPushButton{}% + \centering\ctrlButtonsWrapper{\insertCtrlButtons}\fi +} +\endinput +%% +%% End of file `ocganime.def'. -- cgit v1.2.3