From cfe306ba1b7ec40855a300580b7981845d56edeb Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Jul 2017 10:25:48 +0900 Subject: add aeb-mlink aeb-pro aebxmp graphicxsp annot-pro --- texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty | 342 +++++++ texmf-dist/tex/latex/aeb-pro/aeb_pro.sty | 346 +++++++ texmf-dist/tex/latex/aeb-pro/aeblayers.def | 306 ++++++ texmf-dist/tex/latex/aeb-pro/aebpro.cfg | 12 + texmf-dist/tex/latex/aeb-pro/aebpro.def | 1237 ++++++++++++++++++++++++ texmf-dist/tex/latex/aeb-pro/anime_support.def | 493 ++++++++++ texmf-dist/tex/latex/aeb-pro/btnnanime.def | 56 ++ texmf-dist/tex/latex/aeb-pro/create_icon.def | 156 +++ texmf-dist/tex/latex/aeb-pro/ocganime.def | 39 + texmf-dist/tex/latex/aeb-pro/unicodes.def | 380 ++++++++ texmf-dist/tex/latex/aebxmp/aebxmp.sty | 446 +++++++++ texmf-dist/tex/latex/annot-pro/annot_pro.sty | 616 ++++++++++++ texmf-dist/tex/latex/graphicxsp/graphicxsp.sty | 552 +++++++++++ 13 files changed, 4981 insertions(+) create mode 100644 texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty create mode 100644 texmf-dist/tex/latex/aeb-pro/aeb_pro.sty create mode 100644 texmf-dist/tex/latex/aeb-pro/aeblayers.def create mode 100644 texmf-dist/tex/latex/aeb-pro/aebpro.cfg create mode 100644 texmf-dist/tex/latex/aeb-pro/aebpro.def create mode 100644 texmf-dist/tex/latex/aeb-pro/anime_support.def create mode 100644 texmf-dist/tex/latex/aeb-pro/btnnanime.def create mode 100644 texmf-dist/tex/latex/aeb-pro/create_icon.def create mode 100644 texmf-dist/tex/latex/aeb-pro/ocganime.def create mode 100644 texmf-dist/tex/latex/aeb-pro/unicodes.def create mode 100644 texmf-dist/tex/latex/aebxmp/aebxmp.sty create mode 100644 texmf-dist/tex/latex/annot-pro/annot_pro.sty create mode 100644 texmf-dist/tex/latex/graphicxsp/graphicxsp.sty (limited to 'texmf-dist/tex') diff --git a/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty b/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty new file mode 100644 index 00000000..cc323916 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty @@ -0,0 +1,342 @@ +%% +%% This is file `aeb_mlink.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_mlink.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_mlink.sty package, 2015-10-28 %% +%% Copyright (C) 2006--2015 D. P. Story %% +%% dpstory@acrotex.net %% +%% storyd@owc.edu %% +%% %% +%% 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 of the %% +%% License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{aeb_mlink} + [2016/02/16 v2.0 AeB MLink (dps)] +\RequirePackage{ifpdf}[2006/02/20] +\RequirePackage{ifxetex}[2006/08/21] +\newif\if@ml@dvips \@ml@dvipstrue +\DeclareOption{dvipsone}{\def\eq@drivernum{0}\@ml@dvipsfalse + \PassOptionsToPackage{dvipsone}{eforms} + \PassOptionsToPackage{dvipsone}{hyperref} %,colorlinks +} +\DeclareOption{dvips}{\def\eq@drivernum{0}\@ml@dvipstrue + \PassOptionsToPackage{dvips}{eforms} + \PassOptionsToPackage{dvips}{hyperref} %,colorlinks +} +\def\ml@err@msg{This package requires the driver dvips and\MessageBreak + Adobe Distiller as the PDF creator} +\ifpdf\PackageError{aeb_mlink}{\ml@err@msg}\else + \ifxetex\PackageError{aeb_mlink}{\ml@err@msg}\else + \InputIfFileExists{web.cfg}{}{} +\fi\fi +\ProcessOptions +\RequirePackage{hyperref} +\RequirePackage{eforms}[2008/03/14] +\RequirePackage{soul} +\def\ps@mark{[\space} +\if@ml@dvips +\special{!userdict begin + /TeXtoPDF {65536 div DVImag mul} def % sp to pts + /PDFtoDvips {72.27 div Resolution mul} def % points to dots + /PDFtoVDvips {72.27 div VResolution mul} def % points to dots + /DvipstoPDF {72.27 mul Resolution div} def % dots to points + /HTeXtoDvips {TeXtoPDF PDFtoDvips} def % sp to dots + /VTeXtoDvips {TeXtoPDF PDFtoVDvips} def end} % sp to dots +\def\setQuadBox{% + currentpoint DvipstoPDF \aeb@bbox@dp\space TeXtoPDF add + neg vsize add 72 sub % y1 + exch DvipstoPDF 72 add exch % x1 + 2 copy exch \aeb@bbox@wd\space TeXtoPDF add exch % x2 + 2 copy \aeb@bbox@ht\space TeXtoPDF add % y3 + 2 copy exch \aeb@bbox@wd\space TeXtoPDF sub exch % x4 +} +\def\par@@Rect +{% + 72 neg PDFtoDvips vsize 72 sub PDFtoVDvips + hsize 72 sub PDFtoDvips 72 neg PDFtoVDvips +} +\else +\special{!/TeXtoPDF {65536 div mag 1000 div mul} def +/PDFtoTeX {65536 mul mag 1000 div div} def} +\def\setQuadBox{% + currentpoint \aeb@bbox@dp\space add TeXtoPDF + neg PageHeight add 72 sub % y1 + exch TeXtoPDF 72 add exch % x1 + 2 copy exch \aeb@bbox@wd\space TeXtoPDF add exch % x2 + 2 copy \aeb@bbox@ht\space TeXtoPDF add % y3 + 2 copy exch \aeb@bbox@wd\space TeXtoPDF sub exch % x4 +} +\def\par@@Rect +{% + 72 neg PDFtoTeX PageHeight 72 sub PDFtoTeX + PageWidth 72 sub PDFtoTeX 72 neg PDFtoTeX +} +\fi +\newbox\aeb@bbox +\newcount\aeb@arrayIndx \aeb@arrayIndx=0 +\newcount\aeb@mLinkCnt \aeb@mLinkCnt=0 +\def\CurrentBorderColor{\@linkbordercolor} +\def\ml@nocolorHighlight{I} +\def\ml@nocolorLineStyle{S} +\def\ml@nocolorLineWidth{1} +\def\ml@setnocolorDefaults{% +\def\ml@nocolor@defaults{\H{\ml@nocolorHighlight}% + \S{\ml@nocolorLineStyle}\W{\ml@nocolorLineWidth}% + \Color{\CurrentBorderColor}}% +} +\ifHy@colorlinks + \let\ml@nocolor@defaults\@empty +\else + \ml@setnocolorDefaults +\fi +\def\ml@earlyExecProps#1{% + \eq@setWidgetProps\relax{#1}% +} +\let\mlh@preambleCmdInsert\relax +\newcommand{\mlhypertext}[1][]{\global\aeb@arrayIndx=0\relax + \global\advance\aeb@mLinkCnt1\relax + \special{ps: \ps@mark/_objdef {mLink\the\aeb@mLinkCnt} + /type /array /OBJ pdfmark}% + \def\mlh@preambleCmdInsert{\ml@earlyExecProps{#1}}% + \def\mlh@postambleCmd{\setLinkPbox{\S{S}\W{0}% + \presets{\ml@nocolor@defaults}% + \QuadPoints{mLink\the\aeb@mLinkCnt}#1}\endgroup}% + \aeb@mlh +} +\def\mlh@setQuadSyllable#1{% + \setbox\aeb@bbox=\hbox{\strut#1}% + {% + \count\z@=\ht\aeb@bbox\xdef\aeb@bbox@ht{\the\count\z@}% + \count\z@=\wd\aeb@bbox\xdef\aeb@bbox@wd{\the\count\z@}% + \dp\aeb@bbox=1pt\relax + \count\z@=\dp\aeb@bbox\xdef\aeb@bbox@dp{\the\count\z@}% + }% + \special{ps: \ps@mark{mLink\the\aeb@mLinkCnt} + \the\aeb@arrayIndx\space [\setQuadBox] + \space /PUTINTERVAL pdfmark}% + \global\advance\aeb@arrayIndx8\relax +} +\def\aeb@exiii{\expandafter\expandafter\expandafter} +\def\aebnameref#1{\@ifundefined{r@#1}{??} + {\aeb@exiii\@thirdoffive\csname r@#1\endcsname}} +\def\labelRef#1{\@ifundefined{r@#1}{Doc-Start} + {\aeb@exiii\@fourthoffive\csname r@#1\endcsname}} +\def\atPage#1{\@ifundefined{r@#1}{1} + {\aeb@exiii\@secondoffive\csname r@#1\endcsname}} +\newcommand\mlhyperlink[3][]{% + \mlhypertext[#1\A{/S/GoTo/D (#2)}]{#3}} +\newcommand\mlhyperref[3][]{% + \mlhypertext[#1\A{/S/GoTo/D (\labelRef{#2})}]{#3}} +\newcommand\mlnameref[2][]{\protected@edef\ml@temp{\aebnameref{#2}}% + \def\ml@tempi{\mlhypertext[#1\A{/S/GoTo/D (\labelRef{#2})}]}% + \expandafter\ml@tempi\expandafter{\ml@temp}} +\newcommand\mlNameref[2][]{\let\SOUL@stop\ml@SOUL@stop + \protected@edef\ml@temp{`\aebnameref{#2}' on page~\atPage{#2}}% + \def\ml@tempi{\mlhypertext[#1\A{/S/GoTo/D (\labelRef{#2})}]}% + \expandafter\ml@tempi\expandafter{\ml@temp}} +\def\ml@hyper@linkurl#1#2{\hyper@chars + \let\ef@thislinkcolor\@urlcolor + \let\CurrentBorderColor\@urlbordercolor + \mlhypertext[\presets{\mlhref@args}\A{/S/URI/URI(#2)}]{#1}% + \endgroup +}% +\def\ml@hyper@linkfile#1#2#3{% + \let\ef@thislinkcolor\@filecolor + \let\CurrentBorderColor\@filebordercolor + \def\theView{[0 \@pdfstartview]}% + \@ifundefined{ifHy@pdfnewwindow} + {\ifHy@newwindow}{\ifHy@pdfnewwindow}% + \def\isWindow{/NewWindow true}\else + \let\isWindow\@empty\fi + \mlhypertext[\presets{\mlhref@args}\A{/S/GoToR \isWindow + /F (#2) /D \ifx\\#3\\\theView\else(#3)\fi}]{#1}% + \endgroup +} +\def\ml@hyper@launch run:#1\\#2#3{% + \let\ef@thislinkcolor\@filecolor + \let\CurrentBorderColor\@runbordercolor + \@ifundefined{ifHy@pdfnewwindow} + {\ifHy@newwindow}{\ifHy@pdfnewwindow}% + \def\isWindow{/NewWindow true}\else + \let\isWindow\@empty\fi + \mlhypertext[\presets{\mlhref@args}\A{/S/Launch\isWindow + /F (#1) \ifx\\#3\\\else /Win << /P (#3) /F (#1) >> \fi}]{#2}% + \endgroup +} +\let\aeb@saved@href\href +\newcommand{\mlhref}[1][]{% + \begingroup + \def\mlhref@args{#1}% + \let\hyper@linkurl\ml@hyper@linkurl + \let\hyper@linkfile\ml@hyper@linkfile + \let\@hyper@launch\ml@hyper@launch + \aeb@saved@href +} +\newbox\ml@urlbuild +\setbox\ml@urlbuild\hbox{} +\def\ml@SOUL@doword{% + \global\setbox\ml@urlbuild\hbox{}% + \edef\x{\the\SOUL@word}% + \ifx\x\empty + \else + \SOUL@buffer={}% + \setbox\z@\vbox{% + \SOUL@tt + \hyphenchar\font`\- + \hfuzz\maxdimen + \hbadness\@M + \pretolerance\m@ne + \tolerance\@M + \leftskip\z@ + \rightskip\z@ + \hsize1sp + \everypar{}% + \parfillskip\z@\@plus1fil + \hyphenpenalty-\@M + \noindent + \hskip\z@ + \relax + \the\SOUL@word}% + \let\SOUL@errmsg\relax + \let\-\relax + \count@\m@ne + \ml@SOUL@analyze + \SOUL@word={}% + \fi +} +\def\ml@SOUL@analyze{{% + \setbox\z@\vbox{% + \unvcopy\z@ + \unskip + \unpenalty + \global\setbox\@ne=\lastbox}% + \ifvoid\@ne + \else + \setbox\@ne\hbox{\unhbox\@ne}% + \global\setbox\ml@urlbuild=\hbox{% + \mlh@setQuadSyllable{\unhcopy\@ne}% + \hbox{\unhcopy\@ne}\penalty0\unhcopy\ml@urlbuild}% + \SOUL@syllgoal=\wd\@ne + \advance\count@\@ne + \ml@SOUL@analyze + \SOUL@syllwidth\z@ + \SOUL@syllable={}% + \ifnum\count@>\z@ + \advance\SOUL@syllgoal-\SOUL@ttwidth + \ml@SOUL@dosyllable + \SOUL@getkern{\the\SOUL@lasttoken}{\SOUL@hyphkern}% + {\SOUL@sethyphenchar}% + \SOUL@everyhyphen + \else + \ml@SOUL@dosyllable + \fi + \fi +}} +\def\ml@SOUL@dosyllable{% + \SOUL@gettoken + \SOUL@eventuallyexhyphen{\the\SOUL@token}% + \edef\x{\the\SOUL@token}% + \ifx\x\SOUL@hyphenhintM + \let\SOUL@n\ml@SOUL@dosyllable + \else\ifx\x\SOUL@lowerthanM + \SOUL@gettoken + \SOUL@getkern{\the\SOUL@lasttoken}{\SOUL@charkern} + {\the\SOUL@token}% + \SOUL@everylowerthan + \SOUL@puttoken + \let\SOUL@n\ml@SOUL@dosyllable + \else\ifdim\SOUL@syllwidth=\SOUL@syllgoal + \SOUL@everysyllable + \SOUL@puttoken + \let\SOUL@n\relax + \else + \ifx\x\SOUL@stopM + \SOUL@errmsg + \global\let\SOUL@errmsg\relax + \let\SOUL@n\relax + \else + \setbox\tw@\hbox{\SOUL@tt\the\SOUL@token}% + \advance\SOUL@syllwidth\wd\tw@ + \global\SOUL@lasttoken=\SOUL@token + \SOUL@gettoken + \SOUL@getkern{\the\SOUL@lasttoken}{\SOUL@charkern} + {\the\SOUL@token}% + \SOUL@puttoken + \global\SOUL@token=\SOUL@lasttoken + \SOUL@everytoken + \edef\x{\SOUL@syllable={\the\SOUL@syllable\the\SOUL@token}}\x + \let\SOUL@n\ml@SOUL@dosyllable + \fi\fi\fi\fi + \SOUL@n +} +\newcommand{\mlurl}{\begingroup\def~{\string~}% + \ef@sanitize@toks\mlurl@} +\newcommand{\mlurl@}[2][]{\urldef\ml@url\nolinkurl{#2}% +\def\SOUL@mlhpreamble{%\begingroup + \mlh@preambleCmdInsert\ef@colorthislink}\hyper@chars + \let\ef@thislinkcolor\@urlcolor + \let\CurrentBorderColor\@urlbordercolor + \let\ml@SOUL@doword@SAVE\SOUL@doword + \let\SOUL@doword\ml@SOUL@doword + \global\aeb@arrayIndx=0\relax + \global\advance\aeb@mLinkCnt1\relax + \special{ps: \ps@mark/_objdef {mLink\the\aeb@mLinkCnt}% + /type /array /OBJ pdfmark}% + \def\mlh@preambleCmdInsert{\ml@earlyExecProps{#1}}% + \def\mlh@postambleCmd{\setLinkPbox{\S{S}\W{0}\A{\URI{#2}}% + \presets{\ml@nocolor@defaults} + \QuadPoints{mLink\the\aeb@mLinkCnt}#1}\expandafter + \gdef\expandafter\ef@thislinkcolor + \expandafter{\ef@thislinkcolor}}% + \aeb@mlh\ml@url\ef@colorthislink\unhcopy\ml@urlbuild\endgroup +} +\ifHy@colorlinks + \def\ef@colorthislink{\color{\ef@thislinkcolor}} +\else + \let\ef@colorthislink\relax +\fi +\def\ml@SOUL@stop{\relax} +\def\SOUL@mlhpreamble{\begingroup + \mlh@preambleCmdInsert\ef@colorthislink} +\def\SOUL@mlheverysyllable{% + \mlh@setQuadSyllable{\the\SOUL@syllable}% + \the\SOUL@syllable% + \SOUL@setkern\SOUL@charkern}% +\def\SOUL@mlheveryspace#1{#1\space\hskip\spaceskip}% +\def\SOUL@mlheveryhyphen{% + \discretionary{% + \unkern + \SOUL@setkern\SOUL@hyphkern + \SOUL@sethyphenchar + }{}{}% +} +\def\SOUL@mlheveryexhyphen#1{% + \mlh@setQuadSyllable{\SOUL@setkern\SOUL@hyphkern#1}% + \SOUL@setkern\SOUL@hyphkern#1% + \discretionary{}{}{% + \SOUL@setkern\SOUL@charkern + }% +} +\def\mlh@postambleCmd{\relax} +\def\SOUL@mlhpostamble{\mlh@postambleCmd} +\def\SOUL@mlhsetup{\SOUL@setup + \let\SOUL@preamble\SOUL@mlhpreamble + \let\SOUL@everysyllable\SOUL@mlheverysyllable + \let\SOUL@everyspace\SOUL@mlheveryspace + \let\SOUL@everyhyphen\SOUL@mlheveryhyphen + \let\SOUL@everyexhyphen\SOUL@mlheveryexhyphen + \def\SOUL@postamble{\SOUL@mlhpostamble}% +} +\DeclareRobustCommand*\aeb@mlh{\SOUL@mlhsetup\SOUL@} +\endinput +%% +%% End of file `aeb_mlink.sty'. diff --git a/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty new file mode 100644 index 00000000..5bf819ed --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty @@ -0,0 +1,346 @@ +%% +%% 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--2017 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} + [2017/03/08 v2.8a 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{unicodes.def}% + {\typeout{aeb_pro: Inputting code for the linktoattachments option}}% + {\typeout{aeb_pro: Cannot find unicodes.def. + Reinstall or refresh your file name database, as needed.}}} +\let\aeb@InputUnicodes\@empty +\DeclareOptionX{linktoattachments}{% + \let\aeb@InputUnicodes\@aeb@InputUnicodes} +\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} +\ifpdfmarkup\else\if\aebp@uselayers1 + \excludecomment{printRollover}% + \excludecomment{rollover}% +\fi\fi +\def\aeb@IWVO{\immediate\write\verbatim@out} +\newsavebox{\aebsavehelp} +\newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox + {\footnotesize\negthinspace\ding{109}}% + \raisebox{.225ex}{\llap{\color{webblue}\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 new file mode 100644 index 00000000..ba716796 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/aeblayers.def @@ -0,0 +1,306 @@ +%% +%% 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--2017 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{\texHelpIndicator}[1]{#1\thinspace${}^{\mbox + {\footnotesize\negthinspace\ding{109}}\raisebox{.225ex} + {\llap{\color{webblue}\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 +\newcommand{\texHelp}[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{toggleHelp("#1");\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.cfg b/texmf-dist/tex/latex/aeb-pro/aebpro.cfg new file mode 100644 index 00000000..19f0e8e1 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/aebpro.cfg @@ -0,0 +1,12 @@ +% +% AeB Pro Configuration file +% +\ExecuteOptionsX{driver=dvips} +% In the defintion below, place the absolute path to the +% icon file btn\_anime\_icons1.pdf found in the icons subfolder of this current +% folder. For example, +% \renewcommand{\pathToBtnCtrlIcons} +% {C:/Users/Public/Documents/My TeX Files/tex/latex/aeb_pro/icons} +% replacing the path above to the correct one on your file system. +% +\renewcommand{\pathToBtnCtrlIcons}{} diff --git a/texmf-dist/tex/latex/aeb-pro/aebpro.def b/texmf-dist/tex/latex/aeb-pro/aebpro.def new file mode 100644 index 00000000..a94a39a8 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/aebpro.def @@ -0,0 +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--2017 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; 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'. diff --git a/texmf-dist/tex/latex/aeb-pro/btnnanime.def b/texmf-dist/tex/latex/aeb-pro/btnnanime.def new file mode 100644 index 00000000..6ad8a889 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/btnnanime.def @@ -0,0 +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--2017 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 new file mode 100644 index 00000000..2803e09f --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/create_icon.def @@ -0,0 +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--2017 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 +} +\def\convertChriiUnicode#1#2{\csarg\gdef{uni@#1}{#2}}% +\convertChriiUnicode\space{0020} +\convertChriiUnicode{!}{0021} +{\@makeother\" +\convertChriiUnicode{"}{0022}} +\convertChriiUnicode{#}{0023} +\convertChriiUnicode{$}{0024} +{\@makeother\% +\convertChriiUnicode{%}{0025}} +\convertChriiUnicode{&}{0026} +\convertChriiUnicode{'}{0027} +\convertChriiUnicode{(}{0028} +\convertChriiUnicode{)}{0029} +\convertChriiUnicode{*}{002A} +\convertChriiUnicode{+}{002B} +\convertChriiUnicode{,}{002C} +\convertChriiUnicode{-}{002D} +\convertChriiUnicode{.}{002E} +\convertChriiUnicode{/}{002F} +\convertChriiUnicode{0}{0030} +\convertChriiUnicode{1}{0031} +\convertChriiUnicode{2}{0032} +\convertChriiUnicode{3}{0033} +\convertChriiUnicode{4}{0034} +\convertChriiUnicode{5}{0035} +\convertChriiUnicode{6}{0036} +\convertChriiUnicode{7}{0037} +\convertChriiUnicode{8}{0038} +\convertChriiUnicode{9}{0039} +\convertChriiUnicode{:}{003A} +\convertChriiUnicode{;}{003B} +\convertChriiUnicode{<}{003C} +\convertChriiUnicode{=}{003D} +\convertChriiUnicode{>}{003E} +\convertChriiUnicode{?}{003F} +\convertChriiUnicode{@}{0040} +\convertChriiUnicode{A}{0041} +\convertChriiUnicode{B}{0042} +\convertChriiUnicode{C}{0043} +\convertChriiUnicode{D}{0044} +\convertChriiUnicode{E}{0045} +\convertChriiUnicode{F}{0046} +\convertChriiUnicode{G}{0047} +\convertChriiUnicode{H}{0048} +\convertChriiUnicode{I}{0049} +\convertChriiUnicode{J}{004A} +\convertChriiUnicode{K}{004B} +\convertChriiUnicode{L}{004C} +\convertChriiUnicode{M}{004D} +\convertChriiUnicode{N}{004E} +\convertChriiUnicode{O}{004F} +\convertChriiUnicode{P}{0050} +\convertChriiUnicode{Q}{0051} +\convertChriiUnicode{R}{0052} +\convertChriiUnicode{S}{0053} +\convertChriiUnicode{T}{0054} +\convertChriiUnicode{U}{0055} +\convertChriiUnicode{V}{0056} +\convertChriiUnicode{W}{0057} +\convertChriiUnicode{X}{0058} +\convertChriiUnicode{Y}{0059} +\convertChriiUnicode{Z}{005A} +\convertChriiUnicode{[}{005B} +\convertChriiUnicode{]}{005D} +\convertChriiUnicode{^}{005E} +\convertChriiUnicode{_}{005F} +\convertChriiUnicode{`}{0060} +\convertChriiUnicode{a}{0061} +\convertChriiUnicode{b}{0062} +\convertChriiUnicode{c}{0063} +\convertChriiUnicode{d}{0064} +\convertChriiUnicode{e}{0065} +\convertChriiUnicode{f}{0066} +\convertChriiUnicode{g}{0067} +\convertChriiUnicode{h}{0068} +\convertChriiUnicode{i}{0069} +\convertChriiUnicode{j}{006A} +\convertChriiUnicode{k}{006B} +\convertChriiUnicode{l}{006C} +\convertChriiUnicode{m}{006D} +\convertChriiUnicode{n}{006E} +\convertChriiUnicode{o}{006F} +\convertChriiUnicode{p}{0070} +\convertChriiUnicode{q}{0071} +\convertChriiUnicode{r}{0072} +\convertChriiUnicode{s}{0073} +\convertChriiUnicode{t}{0074} +\convertChriiUnicode{u}{0075} +\convertChriiUnicode{v}{0076} +\convertChriiUnicode{w}{0077} +\convertChriiUnicode{x}{0078} +\convertChriiUnicode{y}{0079} +\convertChriiUnicode{z}{007A} +\convertChriiUnicode{|}{007C} +{\@makeother~ +\convertChriiUnicode{~}{007E}} +\def\EURO{20AC} +\def\BSLASH{005C} +\def\LBRACE{007B} +\def\RBRACE{007D} +\def\DQUOTE{0022} +\def\displayUnicode#1{\csname uni@#1\endcsname} +\def\stringiiUnicode{FEFF\expandafter\@stringiiUnicode} +\def\@stringiiUnicode#1{% + \ifx#1\relax\else + \ifx#1\u\aeb@exiii\getRawUnicode + \else + \displayUnicode{#1}\aeb@exiii\@stringiiUnicode + \fi + \fi +} +\def\getRawUnicode{\expandafter\@getRawUnicode} +\def\@getRawUnicode#1#2#3#4{#1#2#3#4\@stringiiUnicode} +\def\unicodeStr(#1){\expandafter + \ifx\csname aeb@aDescript@#1\endcsname\relax + FEFF#1\else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi} +\def\ucspace{\u0020} +\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\labelName#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero + \@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} +} +\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}% + \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 `unicodes.def'. diff --git a/texmf-dist/tex/latex/aebxmp/aebxmp.sty b/texmf-dist/tex/latex/aebxmp/aebxmp.sty new file mode 100644 index 00000000..346eb2aa --- /dev/null +++ b/texmf-dist/tex/latex/aebxmp/aebxmp.sty @@ -0,0 +1,446 @@ +%% +%% This is file `aebxmp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aebxmp.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aebxmp.sty package, 2016-05-29 %% +%% Copyright (C) 2006--2016 D. P. Story %% +%% dpstory@uakron.edu %% +%% %% +%% 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{aebxmp} + [2017/02/17 v2.5a Populate advanced metadata (dps)] +\RequirePackage{xkeyval} +\@ifpackageloaded{insdljs}{\let\execjs=y} + {\RequirePackage[execJS]{insdljs}[2016/07/31]} % incls conv-xkv +\newif\if@xmp@several \@xmp@severaltrue +\def\xmp@testBrace#1{\@ifnextchar\bgroup + {\@xmp@severaltrue#1}{\@xmp@severalfalse#1}} +\newcommand{\xmpLangAndArg}[1][]{%x-default + \edef\xmpLang{#1}\xmpGetNextArg} +\def\xmpGetNextArg#1\@nil{\edef\xmpArg{#1}} +\edef\xmp@dquoteCat{\the\catcode`\"} +\catcode`\"=12\relax +\def\xmp@ProcessArgs#1#2{% + \if@xmp@several + \@tfor\xmpArg:=#1\do{% + \expandafter\xmpLangAndArg\xmpArg\@nil + \ifnum\count0=0\relax + \xdef#2{#2^^J% + \xmp@insItem[\the\count0]="\xmpArg";^^J% + \xmp@insItem[\the\count0].@xml::lang="x-default";}% + \ifx\xmpLang\@empty\else + \advance\count0by1\relax + \xdef#2{#2^^J% + \xmp@insItem[\the\count0]="\xmpArg";^^J% + \xmp@insItem[\the\count0].@xml::lang="\xmpLang";}% + \fi + \else + \xdef#2{#2^^J% + \xmp@insItem[\the\count0]="\xmpArg";^^J% + \xmp@insItem[\the\count0].@xml::lang="\xmpLang";}% + \fi + \advance\count0by1\relax + }% + \else + \@tfor\xmpArg:={#1}\do{% + \expandafter\xmpLangAndArg\xmpArg\@nil + \xdef#2{#2^^J% + \xmp@insItem[\the\count0]="\xmpArg";^^J% + \xmp@insItem[\the\count0].@xml::lang="x-default";}% + \ifx\xmpLang\@empty\else + \advance\count0by1 + \xdef#2{#2^^J% + \xmp@insItem[\the\count0]="\xmpArg";^^J% + \xmp@insItem[\the\count0].@xml::lang="\xmpLang";}% + \fi + \advance\count0by1\relax + }% + \fi +} +\bgroup\obeyspaces +\gdef\tabiv{ }% +\egroup +\let\arrayOfRights\@empty +\newcommand{\copyrightNotice}[1]{\def\xmpcopyrightNotice{#1}% + \xmp@testBrace{\xmp@cont@CopyRightNotice}#1\@nil}% +\let\xmpcopyrightNotice\@empty +\def\xmp@cont@CopyRightNotice#1\@nil{% + \begingroup\let\u\relax\count0=0\relax + \def\xmp@insItem{p.aebdc::rights.aebrdf::Alt.aebrdf::li}% + \ifx\xmpcopyrightNotice\@empty\else + \xmp@ProcessArgs{#1}{\arrayOfRights}% + \fi + \endgroup +} +\let\arrayOfAuthors\@empty +\let\xmpAuthors\@empty +\newcommand{\Authors}[1]{\def\xmpAuthors{#1}% + \begingroup\let\u\relax\count0=0\relax + \def\insSeqItem{p.aebdc::creator.aebrdf::Seq.aebrdf::li}% + \ifx\xmpAuthors\@empty\else + \let\arrayOfAuthors\@gobble + \@tfor\xmpAuthor:=#1\do{% + \xdef\arrayOfAuthors{\arrayOfAuthors^^J% + \insSeqItem[\the\count0]="\xmpAuthor";}% + \advance\count0by1 + }% + \fi + \endgroup +} +\def\insertAuthors{\ifx\arrayOfAuthors\@empty\else + ^^J\arrayOfAuthors\fi} +\let\arrayOfTitles\@empty +\newcommand{\Title}[1]{\edef\xmpTitle{#1}% + \xmp@testBrace{\xmp@cont@Title}#1\@nil} +\def\xmp@cont@Title#1\@nil{% + \begingroup\let\u\relax\count0=0\relax + \def\xmp@insItem{p.aebdc::title.aebrdf::Alt.aebrdf::li}% + \ifx\xmpTitle\@empty\else + \xmp@ProcessArgs{#1}{\arrayOfTitles}% + \fi + \endgroup +} +\def\insertTitles{\ifx\arrayOfTitles\@empty\else + ^^J\arrayOfTitles\fi} +\let\arrayOfSubjects\@empty +\newcommand{\Subject}[1]{\edef\xmpSubject{#1}% + \xmp@testBrace{\xmp@cont@Subject}#1\@nil}% +\def\xmp@cont@Subject#1\@nil{% + \begingroup\let\u\relax\count0=0\relax + \def\xmp@insItem{p.aebdc::description.aebrdf::Alt.aebrdf::li}% + \ifx\xmpSubject\@empty\else + \xmp@ProcessArgs{#1}{\arrayOfSubjects}% + \fi + \endgroup +} +\def\insertSubjects{\ifx\arrayOfSubjects\@empty\else + ^^J\arrayOfSubjects\fi} +\let\arrayOfLangs\@empty +\newcommand{\metaLang}[1]{\def\xmplangOfDoc{#1}% + \begingroup\let\u\relax\count0=0\relax + \def\insBagItem{p.aebdc::language.aebrdf::Bag.aebrdf::li}% + \ifx\xmpLangs\@empty\else + \let\arrayOfLangs\@gobble + \@for\xmpLang:=#1\do{% + \xdef\arrayOfLangs{\arrayOfLangs^^J% + \insBagItem[\the\count0]="\xmpLang";}% + \advance\count0by1 + }% + \fi + \endgroup +} +\def\insertLangs{\ifx\arrayOfLangs\@empty\else + ^^J\arrayOfLangs\fi} +\newcommand{\sourceFile}[1]{\let\xmp@bSourcefile=1 + \def\xmp@sourcefile{#1}} +\let\xmp@bSourcefile=0 +\let\xmp@sourcefile\@empty +\def\insertSource{% + \if\xmp@bSourcefile0 + ^^Jp.aebdc::source="\jobname.tex"\else + \ifx\xmp@sourcefile\@empty\else + ^^Jp.aebdc::source="\xmp@sourcefile"\fi\fi} +\let\arrayOfKeywords\@empty +\let\aKeywords\@empty +\let\xmpKeywords\@empty +\newcommand{\Keywords}[1]{\def\xmpKeywords{#1}% + \begingroup\let\u\relax\count0=0\relax + \def\insBagItem{% + p.aebdc::subject.aebrdf::Bag.aebrdf::li}% + \ifx\xmpKeywords\@empty\else + \let\arrayOfKeywords\@gobble + \let\aKeywords\@gobbletwo + \@for\xmpKeyword:=#1\do{% + \xdef\arrayOfKeywords{\arrayOfKeywords^^J% + \insBagItem[\the\count0]="\xmpKeyword";}% + \xdef\aKeywords{\aKeywords;\space\xmpKeyword}% + \advance\count0by1 + }% + \xdef\aKeywords{"\aKeywords"}% + \fi + \endgroup +} +\def\insertKeywords{\ifx\arrayOfKeywords\@empty\else + ^^J\arrayOfKeywords\fi} +\let\xmpInsScript\@empty +\newcommand{\xmpDoNotInsKWScript}{\let\xmpInsScript\null} +\newcommand{\copyrightStatus}[1]{% + \setkeys{aebxmp}{copyrightstatus=#1}} +\define@choicekey*+{aebxmp}{copyrightstatus}[\val\nr]% + {true,false,unknown}[unknown]{% + \ifcase\nr\relax + \def\xmpcopyrightStatus{True}\or + \def\xmpcopyrightStatus{False}\else + \let\xmpcopyrightStatus\@empty\fi +}{\PackageWarning{aebxmp}{% + Bad choice for \string\copyrightStatus,\MessageBreak + you entered '#1'.\MessageBreak + Permissible values are true, false, or unknown\MessageBreak + (or an empty argument). Setting status to 'unknown'.\MessageBreak + Try again,}} +\let\xmpcopyrightStatus\@empty +\def\insertMarked{\ifx\xmpcopyrightStatus\@empty + \else^^Jp.aebxapRights::Marked="\xmpcopyrightStatus";\fi} +\def\insertCopyrightNotice{\ifx\arrayOfRights\@empty\else + \arrayOfRights\fi} +\newcommand{\copyrightInfoURL}[1]{\def\xmpcopyrightInfoURL{#1}} +\let\xmpcopyrightInfoURL\@empty +\def\insertWebStatement{\ifx\xmpcopyrightInfoURL\@empty + \else^^Jp.aebxapRights::WebStatement="\xmpcopyrightInfoURL";\fi} +\let\insertCusProps\@empty +\newcommand\customProperties[1]{\def\pdfx@cusProps{#1}% + \begingroup\let\u\relax + \@tfor\thisproperty:=#1\do{% + \edef\tmp@exp{\noexpand + \cxkvsetkeys{pdfx@cusPropKV}{name,value,\thisproperty}}\tmp@exp + \xdef\insertCusProps{\insertCusProps^^J% + p.aebpdfx::\pdfx@KName="\pdfx@VValue";} + }% + \endgroup +} +\define@key{pdfx@cusPropKV}{name}[]{\def\pdfx@KName{#1}} +\define@key{pdfx@cusPropKV}{value}[]{\def\pdfx@VValue{#1}} +\def\insertCreateDate{^^Jp.@aebxap::CreateDate=createDateStr;% +^^Jp.@aebxap::ModifyDate=createDateStr;} +\def\xmpnEOL{\string\n\string\^^J} +\newcommand{\authortitle}[1]{\def\xmpauthortitle{#1}} +\let\authorTitle\authortitle +\let\xmpauthortitle\@empty +\def\insertAuthorTitle{\ifx\xmpauthortitle\@empty + \else^^Jp.aebphotoshop::AuthorsPosition="\xmpauthortitle";\fi} +\newcommand{\descriptionwriter}[1]{\def\xmpdescriptionwriter{#1}} +\let\descriptionWriter\descriptionwriter +\let\xmpdescriptionwriter\@empty +\def\insertDescriptionWriter{\ifx\xmpdescriptionwriter\@empty + \else^^Jp.aebphotoshop::CaptionWriter="\xmpdescriptionwriter";\fi} +\def\insertKWJS{\ifx\aKeywords\@empty\else + this.info.Keywords=\aKeywords;^^J\fi} +\def\xNNS{new Namespace} +\def\xAdbNS{http://ns.adobe.com} +\def\xWiiiNS{http://www.w3.org} +\begin{execJS}{execXMP} +var meta=this.metadata; +var aebXMPData=new XML(meta); +var aebx=\xNNS("x","adobe:ns:meta/"); +var xmlns=\xNNS("xmlns","\xWiiiNS/2000/xmlns/"); +var xml=\xNNS("xml", "\xWiiiNS/XML/1998/namespace"); +var aebrdf=\xNNS("rdf","\xWiiiNS/1999/02/22-rdf-syntax-ns#"); +var aebdc=\xNNS("dc","http://purl.org/dc/elements/1.1/"); +var aebpdf=\xNNS("pdf","\xAdbNS/pdf/1.3/"); +var aebxap=\xNNS("xmp","\xAdbNS/xap/1.0/"); +var aebxapRights=\xNNS("xmpRights","\xAdbNS/xap/1.0/rights/"); +var aebphotoshop=\xNNS("photoshop","\xAdbNS/photoshop/1.0/"); +var aebpdfx=\xNNS("pdfx","\xAdbNS/pdfx/1.3/"); +var p=aebXMPData.aebrdf::RDF.aebrdf::Description; +if ( p.@aebpdfx::*.toString() == "" ) p.@xmlns::pdfx=aebpdfx.uri; +p.@xmlns::photoshop=aebphotoshop.uri; +p.@xmlns::xmpRights=aebxapRights.uri; +var d=new Date(); +var createDateStr=util.printd("yyyy-mm-ddTHH:MM:ss",d); +delete p.@aebdc::rights.aebrdf::Alt.aebrdf::li; +/* + Dublin Core Properties +*/% +\insertTitles% +\insertAuthors% +\insertSubjects% +\insertKeywords% +\insertLangs% +\insertSource% +\insertCopyrightNotice% + +/* + XMP Rights Management Properties +*/ +delete p.@aebxapRights::Marked; +delete p.@aebxapRights::WebStatement;% +\insertMarked% +\insertWebStatement% + +delete p.@aebphotoshop::AuthorsPosition; +delete p.@aebphotoshop::CaptionWriter; +delete p.@aebxap::CreateDate; +/* + Adobe Photoshop Properties +*/% +\insertAuthorTitle% +\insertDescriptionWriter% + +/* + Acrobat Custom Properties +*/% +\insertCusProps% + +/* + XMP Core Properties +*/% +\insertCreateDate% + +/* + Convert aebXMPData into an XML String + and save is as this.metadata +*/ +var aebNewXMPStr=aebXMPData.toXMLString(); +try { this.metadata=aebNewXMPStr; } + catch(e) {console.println(e.toString());} +\insertKWJS% +\end{execJS} +\ifx\xmpInsScript\@empty +\begin{insDLJS}{xmpjs}{Access to Title, Subject, and Keywords} +function getKeywordsXMP(i) { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriDc="http://purl.org/dc/elements/1.1/"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var aebrdf=new Namespace(uriRdf); + var aebdc=new Namespace(uriDc); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + return p.aebdc::subject.aebrdf::Bag.aebrdf::li[i]; +} +var i=0; +var aKeywords=new Array(); +while ( typeof getKeywordsXMP(i)!="undefined" ) { + aKeywords[i]=getKeywordsXMP(i).toString(); i++; +} +function getTitleXMP(i) { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriDc="http://purl.org/dc/elements/1.1/"; + var uriXML="http://www.w3.org/XML/1998/namespace"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var aebrdf=new Namespace(uriRdf); + var aebdc=new Namespace(uriDc); + var xml=new Namespace("xml",uriXML); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + var retnStr; + try { retnStr="[" + p.aebdc::title.aebrdf::Alt.aebrdf::li[i].% +@xml::lang.toString()+"]: " + + p.aebdc::title.aebrdf::Alt.aebrdf::li[i].toString(); + } catch(e) { retnStr="undefined" }; + return retnStr; +} +var i=0; +var aTitle=new Array(); +while ( getTitleXMP(i)!="undefined" ) { + aTitle[i]=getTitleXMP(i); i++; +} +function getSubjectXMP(i) { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriDc="http://purl.org/dc/elements/1.1/"; + var uriXML="http://www.w3.org/XML/1998/namespace"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var aebrdf=new Namespace(uriRdf); + var aebdc=new Namespace(uriDc); + var xml=new Namespace("xml",uriXML); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + var retnStr; + try { retnStr="[" + p.aebdc::description.aebrdf::Alt.aebrdf::li[i].% +@xml::lang.toString()+"]: " + + p.aebdc::description.aebrdf::Alt.aebrdf::li[i].toString(); + } catch(e) { retnStr="undefined" }; + return retnStr; +} +var i=0; +var aSubject=new Array(); +while ( getSubjectXMP(i)!="undefined" ) { + aSubject[i]=getSubjectXMP(i); i++; +} +function getRightsXMP(i) { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriDc="http://purl.org/dc/elements/1.1/"; + var uriXML="http://www.w3.org/XML/1998/namespace"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var aebrdf=new Namespace(uriRdf); + var aebdc=new Namespace(uriDc); + var xml=new Namespace("xml",uriXML); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + var retnStr; + try { retnStr="["+ p.aebdc::rights.aebrdf::Alt.aebrdf::li[i]% +.@xml::lang.toString()+"]: " + + p.aebdc::rights.aebrdf::Alt.aebrdf::li[i].toString(); + } catch(e) { retnStr="undefined" }; + return retnStr; +} +var i=0; +var aRights=new Array(); +while ( getRightsXMP(i)!="undefined" ) { + aRights[i]=getRightsXMP(i); i++; +} +function getCopyrightStatus() { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriXAP="http://ns.adobe.com/xap/1.0/rights/"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var xmlns=new Namespace("xmlns","http://www.w3.org/2000/xmlns/"); + var aebrdf=new Namespace(uriRdf); + var aebxapRights=new Namespace("xmpRights",uriXAP); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + p.xmlns::xmpRights=aebxapRights.uri; + var copyrightStatus = p.@aebxapRights::Marked; + if ( copyrightStatus=="True" ) + return "Copyrighted"; + else if ( copyrightStatus=="False" ) + return "Public Domain"; + else return "Unknown"; +} +function getCopyrightInfoURL() { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriXAP="http://ns.adobe.com/xap/1.0/rights/"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var xmlns=new Namespace("xmlns","http://www.w3.org/2000/xmlns/"); + var aebrdf=new Namespace(uriRdf); + var aebxapRights=new Namespace("xmpRights",uriXAP); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + p.xmlns::xmpRights=aebxapRights.uri; + var copyrightInfoURL=(p.@aebxapRights::WebStatement.toString()!="")? + (p.@aebxapRights::WebStatement):"Not provided"; + return copyrightInfoURL; +} +function getAuthorTitle() { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriPhotoshop="http://ns.adobe.com/photoshop/1.0/"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var xmlns=new Namespace("xmlns","http://www.w3.org/2000/xmlns/"); + var aebrdf=new Namespace(uriRdf); + var aebPhotoshop=new Namespace("photoshop",uriPhotoshop); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + p.xmlns::photoshop=aebPhotoshop.uri; + var authorTitle=(p.@aebPhotoshop::AuthorsPosition.toString()!="")? + (p.@aebPhotoshop::AuthorsPosition):"Not provided"; + return authorTitle; +} +function getDescriptionWriter() { + var uriRdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + var uriPhotoshop="http://ns.adobe.com/photoshop/1.0/"; + var meta=this.metadata; + var aebXMPData=new XML(meta); + var xmlns=new Namespace("xmlns","http://www.w3.org/2000/xmlns/"); + var aebrdf=new Namespace(uriRdf); + var aebPhotoshop=new Namespace("photoshop",uriPhotoshop); + var p=aebXMPData.aebrdf::RDF.aebrdf::Description; + p.xmlns::photoshop=aebPhotoshop.uri; + var captionWriter=(p.@aebPhotoshop::CaptionWriter.toString()!="")? + (p.@aebPhotoshop::CaptionWriter):"Not provided"; + return captionWriter; +} +\end{insDLJS} +\fi +\catcode`\"=\xmp@dquoteCat +\endinput +%% +%% End of file `aebxmp.sty'. diff --git a/texmf-dist/tex/latex/annot-pro/annot_pro.sty b/texmf-dist/tex/latex/annot-pro/annot_pro.sty new file mode 100644 index 00000000..e6b108b3 --- /dev/null +++ b/texmf-dist/tex/latex/annot-pro/annot_pro.sty @@ -0,0 +1,616 @@ +%% +%% This is file `annot_pro.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% annot_pro.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% annot_pro package, %% +%% Copyright (C) 2002-2016 D. P. Story %% +%% dpstory@uakron.edu %% +%% %% +%% 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 of the %% +%% License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{annot_pro} + [2016/10/18 v1.1b Provides selected PDF annotation support (dps)] +\RequirePackage{xkeyval} +\DeclareOptionX{preview}{\previewtrue} +\@ifundefined{ifpreview}{\newif\ifpreview\previewfalse}{} +\newif\ifuseAAXdim\useAAXdimtrue +\DeclareOptionX{useA10Icons}{\useAAXdimtrue} +\DeclareOptionX{!useA10Icons}{\useAAXdimfalse} +\DeclareOptionX{useTextBox}{\def\ap@requireRichTextAsNeeded{% + \RequirePackage{richtext}[2016/10/03]}} +\let\ap@requireRichTextAsNeeded\relax +\ProcessOptionsX\relax +\RequirePackage{hyperref} +\RequirePackage{calc} +\RequirePackage{insdljs} +\RequirePackage[structure]{taborder} +\ap@requireRichTextAsNeeded +\@ifpackageloaded{graphicxsp}{% + \let\ap@graphicxsp=1}{\let\ap@graphicxsp=0} +\@ifpackageloaded{eforms}{} + {\newif\ifto@structOrder\to@structOrderfalse} +\def\ap@csarg#1#2{\expandafter#1\csname#2\endcsname} +\def\ap@Bbox#1#2{% + \edef\bbox@width{#1}\edef\bbox@height{#2}% + \hbox{\ifpreview\setlength\fboxrule{0.4pt}\setlength\fboxsep{0pt}% + \@tempdima=\bbox@width\advance\@tempdima by-\fboxrule + \@tempdimb=\bbox@height\advance\@tempdimb by-\fboxrule + \fbox{\parbox[c][\@tempdimb][c]{\@tempdima}{\hfill\vfill}}\else + \parbox[c][\bbox@height][c]{\bbox@width}{\hfill\vfill}\fi}% +} +\def\ap@Rect{/Rect [pdf@llx pdf@ury pdf@urx pdf@lly]} +\newcommand{\defineAPath}[1]{\def\ap@ctrl@Name{#1}% + \hyper@normalise\ap@defineAPath} +\def\ap@defineAPath#1{\expandafter\xdef\ap@ctrl@Name{#1}} +\define@choicekey+{annotpro}{type}[\val\nr]% + {text,stamp,fileattachment,textbox}[text]{% + \edef\ap@save@type{\nr}% + \ifcase\nr\relax + \def\ap@type{Text}\or + \def\ap@type{Stamp}\or + \def\ap@type{FileAttachment}\or + \def\ap@type{FreeText}\fi +}{\PackageWarning{annot_pro}{Bad choice for type, permissible values + are text, stamp, fileattachment, textbox. Try again}} +\def\ap@freetext@type{3} +\let\ap@type\@empty +\define@key{annotpro}{name}[]{\def\annotpro@name{#1}} +\let\annotpro@name\@empty +\define@choicekey+{annnotprotext}{name}{% +Comment,Key,Note,Help,NewParagraph,Paragraph,Insert,Check,% +Circle,Cross,Star,RightArrow,RightPointer,UpArrow,UpLeftArrow,% +CrossHairs}[Note]{\def\annotpro@@name{#1}}% +{\PackageWarning{annot_pro}{Bad choice for name, permissible values +are Comment, Key, Note, Help, NewParagraph, Paragraph, Insert, Check, +Circle, Cross, Star, RightArrow, RightPointer, UpArrow, +UpLeftArrow, CrossHairs. Try again}} +\let\annotpro@@name\@empty +\define@choicekey+{annnotprostamp}{name}{% +Approved,AsIs,Confidential,Departmental,Draft,% +Experimental,Expired,Final,ForComment,% +ForPublicRelease,NotApproved,NotForPublicRelease,Sold,% +TopSecret}[Draft]{\def\annotpro@@name{#1}}% +{\def\ap@custom@name{#1}} +\let\ap@custom@name\@empty +\define@key{annotpro}{customStamp}[]{\def\ap@customstamp@name{#1}} +\let\ap@customstamp@name\@empty +\define@key{annotpro}{ap}[]{\def\annotpro@ap{#1}} +\let\annotpro@ap\@empty +\define@key{annotpro}{width}[]{\def\annotpro@width{#1}} +\let\annotpro@width\@empty +\define@key{annotpro}{height}[]{\def\annotpro@height{#1}} +\let\annotpro@height\@empty +\define@key{annotpro}{rotate}[]{\def\annotpro@rotate{#1}} +\let\annotpro@rotate\@empty +\define@key{annotpro}{scale}[]{\def\annotpro@scale{#1}} +\let\annotpro@scale\@empty +\define@key{annotpro}{widthTo}[]{\def\annotpro@widthTo{#1}} +\let\annotpro@widthTo\@empty +\define@key{annotpro}{heightTo}[]{\def\annotpro@heightTo{#1}} +\let\annotpro@heightTo\@empty +\define@choicekey+{annnotprofileattach}{name}{% +Graph,Paperclip,PushPin,Tag}[PushPin]{\def\annotpro@@name{#1}} +{\PackageWarning{annot_pro}{Bad choice for name, permissible values +are Graph,Paperclip,PushPin,Tag. Try again}} +\define@key{annotpro}{file}[]{% + \edef\annotpro@file{#1}% + \ifx\annotpro@file\@empty\else + \edef\ap@exp@tmp{\noexpand\filename@parse{#1}}\ap@exp@tmp + \edef\ap@thisFileName{\filename@base.\filename@ext}\fi +} +\let\annotpro@file\@empty +\define@key{annotprofreetext}{name}[FreeText]{\def\annotpro@@name{#1}} +\define@key{annotprofreetext}{defstyle}[]{\def\annotpro@@ds{#1}} +\let\annotpro@@ds\@empty +\define@key{annotprofreetext}{richtext}[]{\def\annotpro@@rt{#1}} +\let\annotpro@@rt\@empty +\define@key{annotpro}{margin}[0]{% + \def\annotpro@margin{0}} +\let\annotpro@margin\@empty +\define@key{annotpro}{margintext}[]{% + \def\apmargintext{\centering\break + \parbox{\linewidth}{\apmargintextformat\strut#1}}} +\let\apmargintext\@empty +\newcommand{\margintextformat}[1]{\def\apmargintextformat{#1}} +\margintextformat{\bfseries\tiny\color{blue}} +\define@key{annotpro}{presets}[]{\def\annotpro@presets{#1}} +\let\annotpro@presets\@empty +\define@key{annotpro}{objdef}[]{\def\eq@objdef{/_objdef {#1}}% + \def\eq@objdefName{#1}} +\let\eq@objdef\@empty +\define@key{annotpro}{taborder}[]{\def\eq@taborder{#1}} +\let\eq@taborder\@empty +\define@choicekey+{annotpro}{open}[\val\nr]{true,false}[true]{% + \def\annotpro@open{#1}}{\PackageWarning{annot_pro}{Bad + choice for open, permissible values are true and false. Try again}} +\def\annotpro@open{false} +\define@key{annotpro}{subject}[]{\def\annotpro@subject{#1}} +\define@key{annotpro}{title}[]{\def\annotpro@title{#1}} +\define@key{annotpro}{color}[1 0 0]{\def\annotpro@color{#1}} +\define@key{annotpro}{bgcolor}[]{\def\annotpro@bgcolor{#1}} +\def\annotpro@bgcolor{white} +\define@key{annotpro}{bcolor}[]{\def\annotpro@bcolor{#1}} +\let\annotpro@bcolor\@empty +\def\annotpro@def@bcolor{black} +\def\ap@BE@i{4.08768} +\def\ap@BE@i@calc{\ap@BE@i\space\ap@bwidthNum\space add} +\def\ap@BE@ii{8.26857} +\def\ap@BE@ii@calc{\ap@BE@ii\space add \ap@bwidthNum} +\define@choicekey+{annotpro}{borderstyle}[\val\nr]{none,solid,% + dash1,dash2,dash3,dash4,dash5,dash6,cloud1,cloud2}[solid]{% + \ifcase\nr\relax + \def\ap@border@code{}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BS <>}\or + \def\ap@border@code{/BE<>/RD[\ap@BE@i@calc\space\ap@BE@i@calc + \space\ap@BE@i@calc\space\ap@BE@i@calc]% + \ifx\ap@bwidth\@empty\else/BS <<\ap@bwidth>>\fi}\or + \def\ap@border@code{/BE<>/RD[\ap@BE@ii@calc\space\ap@BE@ii@calc + \space\ap@BE@ii@calc\space\ap@BE@ii@calc]% + \ifx\ap@bwidth\@empty\else/BS <<\ap@bwidth>>\fi}\fi + \def\annotpro@border{#1}}{\PackageWarning{annot_pro}{Bad + choice for borderstyle,\MessageBreak permissible values are none, solid,% + dash1, dash2, dash3,\MessageBreak dash4, dash5, dash6, cloud1, cloud2. Try again}} +\def\ap@border@code{/BS <>} +\define@choicekey+{annotpro}{borderwidth}[\val\nr]{.5,1,2,3,4,6,8,10}[1]{% + \edef\ap@bwidthNum{\val}% + \def\ap@bwidth{/W #1}}{\PackageWarning{annot_pro}{Bad + choice for borderwidth,\MessageBreak permissible values are .5, 1, 2,\MessageBreak + 3, 4, 6, 8, 10. Try again}} +\def\ap@bwidthNum{1} +\let\ap@bwidth\@empty +\define@key{annotpro}{readonly}[ 64 add]{\def\ap@readonly{#1}} +\let\ap@readonly\@empty +\define@key{annotpro}{nohspace}[]{\def\annotpro@hspace{0pt}} +\define@key{annotpro}{novspace}[]{\def\annotpro@vspace{0pt}} +\define@key{annotpro}{nospace}[]{\def\annotpro@hspace{0pt}% + \def\annotpro@vspace{0pt}} +\let\annotpro@hspace\@empty\let\annotpro@vspace\@empty +\define@key{annotpro}{opacity}[]{% + \def\ap@add@ops{[ /ca #1 /SetTransparency pdfmark}% + \def\annotpro@opacity{#1}} +\let\annotpro@opacity\@empty +\def\getargsiii#1#2#3{\def\ap@argi{#1}\def\ap@argii{#2}% + \def\ap@argiii{#3}} +\ifuseAAXdim +\@tfor\ap@text@dimen:={{Comment}{18bp}{18bp}}% +{{Key}{13bp}{18bp}}{{Note}{18bp}{20bp}}{{Help}{20bp}{20bp}}% +{{NewParagraph}{13bp}{20bp}}{{Paragraph}{20bp}{20bp}}% +{{Insert}{17bp}{20bp}}{{Check}{20bp}{19bp}}% +{{Circle}{20bp}{20bp}}{{Cross}{20bp}{19bp}}% +{{Star}{20bp}{19bp}}{{RightArrow}{20bp}{20bp}}% +{{RightPointer}{20bp}{17bp}}{{UpArrow}{17bp}{20bp}}% +{{UpLeftArrow}{17bp}{17bp}}{{CrossHairs}{20bp}{20bp}}\do{% + \expandafter\getargsiii\ap@text@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} \else +\@tfor\ap@text@dimen:={{Comment}{20bp}{18bp}}% +{{Key}{18bp}{17bp}}{{Note}{18bp}{20bp}}{{Help}{20bp}{20bp}}% +{{NewParagraph}{13bp}{20bp}}{{Paragraph}{11bp}{20bp}}% +{{Insert}{20bp}{17bp}}{{Check}{20bp}{19bp}}% +{{Circle}{20bp}{20bp}}{{Cross}{20bp}{20bp}}% +{{Star}{20bp}{19bp}}{{RightArrow}{20bp}{14bp}}% +{{RightPointer}{20bp}{18bp}}{{UpArrow}{19bp}{20bp}}% +{{UpLeftArrow}{17bp}{17bp}}{{CrossHairs}{24bp}{24bp}}\do{% + \expandafter\getargsiii\ap@text@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} \fi +\ifuseAAXdim +\@tfor\ap@fa@dimen:={{Graph}{20bp}{20bp}} + {{Paperclip}{7bp}{17bp}}{{PushPin}{14bp}{20bp}} + {{Tag}{20bp}{16bp}}\do{% + \expandafter\getargsiii\ap@fa@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\else +\@tfor\ap@fa@dimen:={{Graph}{18bp}{18bp}} + {{Paperclip}{5bp}{15bp}}{{PushPin}{12bp}{18bp}} + {{Tag}{18bp}{14bp}}\do{% + \expandafter\getargsiii\ap@fa@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} \fi +\newcommand{\defaultStampWidth}{50bp} +\newcommand{\defaultStampHeight}{50bp} +\newcommand{\standardStampWidth}{245.38bp} +\newcommand{\standardStampHeight}{64.53bp} +\@tfor\ap@dimen:={{SBApproved}{163.50bp}{49.50bp}} +{{SBCompleted}{175.87bp}{49.50bp}} +{{SBConfidential}{209.62bp}{49.50bp}} +{{SBDraft}{113.14bp}{49.75bp}} +{{SBFinal}{97.80bp}{49.75bp}} +{{SBForComment}{211.87bp}{49.50bp}} +{{SBForPublicRelease}{290.04bp}{49.55bp}} +{{SBInformationOnly}{275.00bp}{49.55bp}} +{{SBNotApproved}{218.62bp}{49.50bp}} +{{SBNotForPublicRelease}{346.04bp}{49.55bp}} +{{SBPreliminaryResults}{304.04bp}{49.55bp}} +{{SBVoid}{91.04bp}{49.75bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\@tfor\ap@dimen:={{SBRejected}{22.68bp}{22.66bp}} +{{SHAccepted}{23.29bp}{20.45bp}} +{{SHInitialHere}{99.69bp}{30.34bp}} +{{SHSignHere}{99.69bp}{30.34bp}} +{{SHWitness}{99.69bp}{30.34bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\catcode`\#=11\relax +\@tfor\ap@dimen:={{#DApproved}{255.64bp}{53.83bp}} +{{#DConfidential}{163.28bp}{57.10bp}} +{{#DReceived}{255.64bp}{55.11bp}} +{{#DReviewed}{255.64bp}{55.11bp}} +{{#DRevised}{127.47bp}{55.85bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\catcode`\#=6\relax +\newcommand{\stampWidth}[1]{\csname ap@#1Width\endcsname} +\newcommand{\stampHeight}[1]{\csname ap@#1Height\endcsname} +\@tfor\ap@dimen:={{WordsAGenuineFind}{120.68bp}{190.83bp}} +{{WordsBigSavings}{282.84bp}{117.86bp}} +{{WordsDeals}{345.40bp}{132.55bp}} +{{WordsHappyBirthday}{326.50bp}{166.32bp}} +{{WordsHot}{249.64bp}{176.75bp}} +{{WordsLookWhatsNew}{316.59bp}{229.81bp}} +{{WordsNeato}{171.12bp}{86.88bp}} +{{WordsTheBestJustGotBetter}{153.53bp}{153.53bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\@tfor\ap@dimen:={{FacesEcstatic}{223.20bp}{202.80bp}} +{{FacesElectric}{295.80bp}{280.50bp}} +{{FacesGrumpy}{289.92bp}{194.64bp}} +{{FacesHappy}{161.65bp}{161.65bp}} +{{FacesHurt}{289.50bp}{285.75bp}} +{{FacesNeutral}{291.04bp}{279.32bp}} +{{FacesSmirk}{276.75bp}{292.50bp}} +{{FacesSurprised}{220.08bp}{215.04bp}} +{{FacesWorried}{298.11bp}{235.12bp}} +{{FacesWow}{242.32bp}{289.17bp}} +{{FacesZippy}{290.59bp}{263.81bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\@tfor\ap@dimen:={{PointersBogus}{128.32bp}{53.82bp}} +{{PointersBug}{128.32bp}{51.94bp}} +{{PointersDOA}{136.99bp}{51.48bp}} +{{PointersFYEO}{128.32bp}{48.60bp}} +{{PointersFix}{145.60bp}{58.11bp}} +{{PointersNuke}{128.32bp}{52.30bp}} +{{PointersOptimize}{128.32bp}{48.60bp}} +{{PointersRedFlag}{128.32bp}{57.12bp}} +{{PointersValidate}{128.32bp}{48.60bp}} +{{PointersWarning}{128.32bp}{57.23bp}} +{{PointersWhen}{128.32bp}{63.79bp}}\do{% + \expandafter\getargsiii\ap@dimen + \ap@csarg\edef{ap@\ap@argi Width}{\ap@argii}% + \ap@csarg\edef{ap@\ap@argi Height}{\ap@argiii}% +} +\def\ap@FreeTextWidth{144bp} +\def\ap@FreeTextHeight{72bp} +\newcommand{\makeStamp}[3]{% +\ap@csarg\def{stamp@#2}{% + \begin{sp@createImage}{#1}{#2\the\ap@cusstamp@cnt} + \ap@add@ops#3 + \end{sp@createImage}}} +\let\ap@add@ops\@empty +\newcommand{\ap@useStamp}[1]{% + \global\advance\ap@cusstamp@cnt1\relax + \@nameuse{stamp@#1}} +\newcommand{\setAnnotOptions}[1]{% + \setkeys{annotpro}{#1}% +} +\begingroup +\def\withoptz@#1{\ifnum#1<10 0\fi\the#1} +\edef\ap@pdfdate{\the\year\withoptz@\month\withoptz@\day} +\count0=\time \count2=\count0 +\divide\count2by60 +\edef\ap@pdfdate{\ap@pdfdate\withoptz@{\count2}} +\multiply\count2by60 \advance\count0by-\count2 +\xdef\ap@pdfdate{\ap@pdfdate\withoptz@{\count0}00} +\endgroup +\newcount\ap@annot@cnt +\newcount\ap@cusstamp@cnt +{\catcode`\#=12\gdef\ap@signalCustomAP{#}} +\def\pStamp#1{\ap@signalCustomAP#1} +\def\ap@RV@Body{} +\def\ap@RV@endBody{} +\def\ap@sub#1{\rvorvstring{#1}{#1}}% +\def\ap@sup#1{\rvorvstring{#1}{#1}}% +\def\ap@uDec#1{\rt@amp\rt@hashtag#1;} +\def\ap@uHex#1{\rt@amp\rt@hashtag x#1;} +\def\ap@afterParaFont{% + \rt@formfieldfalse +} +\def\ap@afterFont{% + \rt@formfieldfalse + \let\rt@url\@empty +} +\newenvironment{textboxpara}{% + \let\rt@sub\ap@sub\let\rt@sup\ap@sup + \let\rt@afterParaFont\ap@afterParaFont + \let\rt@afterFont\ap@afterFont + \def\rt@br{\rvorvstring{\rt@amp\rt@hashtag13;}{\string\r}}% + \def\rt@spc{\space}\let\uDec\ap@uDec\let\uHex\ap@uHex +}{} +\newcommand{\annotpro}{% + \begingroup + \let\#\ap@signalCustomAP + \@nnotpro +} +\newcommand{\@nnotpro}[1][]{% + \global\advance\ap@annot@cnt1\relax + \setkeys{annotpro}{#1}% + \@nn@tpro +} +\newcommand{\@nn@tpro}[1] +{% + \ifx\annotpro@presets\@empty\else + \edef\ap@exp@tmp{\noexpand\setkeys{annotpro}{\annotpro@presets}}% + \ap@exp@tmp\fi + \ifx\ap@type\@empty\def\ap@type{Text}\def\ap@save@type{0}\fi + \ifcase\ap@save@type\relax + \def\annot@subtype{annnotprotext}% + \ifx\annotpro@subject\@empty\def\annotpro@subject{Sticky Note}\fi + \ifx\annotpro@name\@empty\def\annotpro@name{Note}\fi + \def\ap@def@name{Note}\or + \ifx\annotpro@subject\@empty\def\annotpro@subject{Rubber Stamp}\fi + \def\annot@subtype{annnotprostamp}% + \def\ap@def@name{Draft}\or + \ifx\annotpro@subject\@empty + \def\annotpro@subject{File Attachment}\fi + \def\annot@subtype{annnotprofileattach}% + \def\ap@def@name{PushPin}\or + \ifx\annotpro@subject\@empty + \def\annotpro@subject{Text Box}\fi + \def\annot@subtype{annotprofreetext}% + \def\ap@def@name{FreeText}% + \fi + \edef\ap@exp@tmp{% + \noexpand\setkeys{\annot@subtype}{name=\annotpro@name}}% + \ap@exp@tmp\xdef\ap@def@type{\ap@type}% + \let\annotpro@enc@contents\@empty + \makespecialJS +\if\ap@save@type\ap@freetext@type + \let\eq@RV@Body\ap@RV@Body\let\eq@RV@endBody\ap@RV@endBody + \setkeys{annotprofreetext}{#1}% + \ifx\annotpro@@ds\@empty + \def\ap@defaultstyle{\useDefaultDS}\else + \edef\ap@defaultstyle{\noexpand\useDS{\annotpro@@ds}}\fi + \ifx\annotpro@@rt\@empty + \let\annotpro@RC\@empty\let\annotpro@C\@empty\else + \edef\annotpro@RC{\noexpand\useRVContent{\annotpro@@rt}}% + \edef\annotpro@C{\noexpand\useVContent{\annotpro@@rt}}\fi +\else + \pdfstringdef\annotpro@enc@contents{#1}% +\fi + \let\annotpro@enc@title\@empty + \pdfstringdef\annotpro@enc@title{\annotpro@title}% + \let\annotpro@enc@subject\@empty + \pdfstringdef\annotpro@enc@subject{\annotpro@subject}% + \HyColor@XZeroOneThreeFour{\annotpro@color}% + {\annotpro@enc@color}{annotpro}{color}% +\ifx\annotpro@bgcolor\@empty\else + \HyColor@XZeroOneThreeFour{\annotpro@bgcolor} + {\annotpro@enc@bgcolor}{annotpro}{bgcolor}\fi +\ifx\annotpro@bcolor\@empty + \edef\annotpro@bcolor{\annotpro@def@bcolor}\fi + \HyColor@FieldColor{\annotpro@bcolor} + {\annotpro@enc@bcolor}{annotpro}{bcolor}% + \let\ap@this@AP\@empty\let\ap@this@FS\@empty\let\ap@this@CA\@empty + \let\ap@this@Rotate\@empty + \ifx\annotpro@opacity\@empty\else + \def\ap@this@CA{/CA \annotpro@opacity}\fi + \ifcase\ap@save@type + \ifx\annotpro@@name\@empty\edef\annotpro@@name{\ap@def@name}\fi + \edef\ap@thisWidth{\ifx\annotpro@hspace\@empty + \@nameuse{ap@\annotpro@@name Width}\else + \annotpro@hspace\fi}% + \edef\ap@thisHeight{\ifx\annotpro@vspace\@empty + \@nameuse{ap@\annotpro@@name Height}\else + \annotpro@vspace\fi}% + \or + \ifx\annotpro@@name\@empty + \ifx\ap@custom@name\@empty + \ifx\ap@customstamp@name\@empty + \ifx\annotpro@@name\@empty + \edef\annotpro@@name{\ap@def@name}\fi + \edef\ap@thisWidth{\standardStampWidth}% + \edef\ap@thisHeight{\standardStampHeight}% + \else + \if\ap@graphicxsp0\PackageError{annot_pro}% + {Specifying a custom name for a stamp requires + the graphicxsp package.}\fi + \ifx\annotpro@ap\@empty + \PackageError{annot_pro}{You must specify a value + for the ap key}\fi + \def\ap@ImageRef{\annotpro@ap\the\ap@cusstamp@cnt}% + \expandafter\ap@useStamp\expandafter{\annotpro@ap}% + \edef\ap@thisWidth{\widthOf{\ap@ImageRef}bp}% + \@tempdima=\ap@thisWidth\advance\@tempdima-2bp + \edef\ap@thisWidth{\the\@tempdima}% + \edef\ap@thisHeight{\heightOf{\ap@ImageRef}bp}% + \@tempdima=\ap@thisHeight\advance\@tempdima-2bp + \edef\ap@thisHeight{\the\@tempdima}% + \def\ap@this@AP{/AP << /N {\ap@ImageRef} >>}% + \edef\annotpro@@name{% + \ap@signalCustomAP\ap@customstamp@name}% + \fi + \else + \edef\annotpro@@name{\ap@custom@name}% + \@ifundefined{ap@\ap@custom@name Width}{% + \edef\ap@thisWidth{\ifx\annotpro@width\@empty + \defaultStampWidth\else\annotpro@width\fi}% + \edef\ap@thisHeight{\ifx\annotpro@height\@empty + \defaultStampWidth\else\annotpro@height\fi}% + }{% + \edef\ap@thisWidth{\ifx\annotpro@width\@empty + \@nameuse{ap@\annotpro@@name Width}\else + \annotpro@width\fi}% + \edef\ap@thisHeight{\ifx\annotpro@height\@empty + \@nameuse{ap@\annotpro@@name Height}\else + \annotpro@height\fi}% + }% + \fi + \else + \edef\ap@thisWidth{\standardStampWidth}% + \edef\ap@thisHeight{\standardStampHeight}% + \fi + \ifx\annotpro@scale\@empty + \ifx\annotpro@widthTo\@empty + \ifx\annotpro@heightTo\@empty\else % heightTo + \edef\ap@thisWidth{% + (\ap@thisWidth)*\noexpand + \ratio{\annotpro@heightTo}{\ap@thisHeight}}% + \edef\ap@thisHeight{\annotpro@heightTo}% + \fi + \else % widthTo + \edef\ap@thisHeight{% + (\ap@thisHeight)*\noexpand + \ratio{\annotpro@widthTo}{\ap@thisWidth}}% + \edef\ap@thisWidth{\annotpro@widthTo}% + \fi + \else %scale + \edef\ap@thisWidth{(\ap@thisWidth)*\noexpand + \real{\annotpro@scale}}% + \edef\ap@thisHeight{(\ap@thisHeight)*\noexpand + \real{\annotpro@scale}}% + \fi + \setlength{\@tempdima}{\ap@thisWidth}% + \edef\ap@thisWidth{\the\@tempdima}% + \setlength{\@tempdima}{\ap@thisHeight}% + \edef\ap@thisHeight{\the\@tempdima}% + \ifx\annotpro@rotate\empty\else + \def\ap@this@Rotate{/Rotate \annotpro@rotate}% + \ap@set@Rotate@BBox + \fi + \or + \ifx\annotpro@@name\@empty\edef\annotpro@@name{\ap@def@name}\fi + \ifx\annotpro@file\@empty\PackageError{annot_pro}% + {You must specify a path the file to be + attached using the file key.}\fi + \def\ap@this@FS{/FS {apEmbedFile\the\ap@annot@cnt}}% + \edef\ap@thisWidth{\@nameuse{ap@\annotpro@@name Width}}% + \edef\ap@thisHeight{\@nameuse{ap@\annotpro@@name Height}}% + \ap@EmbedThisFile + \or + \ifx\annotpro@@name\@empty\edef\annotpro@@name{\ap@def@name}\fi + \ifx\annotpro@width\@empty\else + \setlength\@tempdima{\annotpro@width}% + \def\annotpro@width{\the\@tempdima}\fi + \edef\ap@thisWidth{\ifx\annotpro@width\@empty + \@nameuse{ap@\annotpro@@name Width}\else + \annotpro@width\fi}% + \ifx\annotpro@height\@empty\else + \setlength\@tempdima{\annotpro@height}% + \def\annotpro@height{\the\@tempdima}\fi + \edef\ap@thisHeight{\ifx\annotpro@height\@empty + \@nameuse{ap@\annotpro@@name Height}\else + \annotpro@height\fi}% + \fi + \ifx\annotpro@margin\@empty\let\apmargintext\@empty + \expandafter\relax\else\expandafter\marginpar\fi + {\pdf@rect{\ap@Bbox{\ap@thisWidth}{\ap@thisHeight}}\literalps@out{% + [ \eq@objdef\ap@Rect + /F 4\ap@readonly + /Open \annotpro@open + /Title (\annotpro@enc@title) + /Subj (\annotpro@enc@subject) +\if\ap@save@type\ap@freetext@type + /RC(\eq@RV@Body\annotpro@RC\eq@RV@endBody) + /Contents (\annotpro@C) + /DS (\ap@defaultstyle) + \ifx\annotpro@bgcolor\@empty\else + /C [\annotpro@enc@bgcolor]\fi + /DA (\annotpro@enc@bcolor\space/Helv 12 Tf) + \ap@border@code +\else + /Open \annotpro@open + /Contents (\annotpro@enc@contents) + /Color [\annotpro@enc@color] +\fi + /Name (\annotpro@@name) + /Subtype/\ap@type + /NM (annotpro\the\ap@annot@cnt) + /M (D:\ap@pdfdate) + \ap@this@AP\ap@this@FS\ap@this@CA\ap@this@Rotate + /ANN pdfmark}\apmargintext}% + \to@insertStrucTabOrder{Annot}\endgroup +} +\def\ap@set@Rotate@BBox{% + \CalculateSin\annotpro@rotate\CalculateCos\annotpro@rotate + \edef\c@cos{\UseCos\annotpro@rotate}% + \edef\c@sin{\UseSin\annotpro@rotate}% + \@tempdimb=\c@cos pt + \@tempdimb=\c@sin\@tempdimb + \let\ap@sign\@empty + \ifdim\@tempdimb<\z@\def\ap@sign{-}\fi + \@tempdima=\ap@sign\ap@thisWidth + \@tempdima=\c@cos\@tempdima + \@tempdimb=\ap@thisHeight + \@tempdimb=\c@sin\@tempdimb + \advance\@tempdima by\@tempdimb + \edef\ap@temp@thisWidth{\the\@tempdima}% + \@tempdima=\ap@thisWidth + \@tempdima=\c@sin\@tempdima + \@tempdimb=\ap@thisHeight + \@tempdimb=\c@cos\@tempdimb + \advance\@tempdima by\ap@sign\@tempdimb + \@tempdimb=\ap@temp@thisWidth\relax + \ifdim\@tempdimb<\z@\@tempdimb=-\the\@tempdimb\fi + \ifdim\@tempdima<\z@\@tempdima=-\the\@tempdima\fi + \edef\ap@thisWidth{\the\@tempdimb}% + \edef\ap@thisHeight{\the\@tempdima}% +} +\def\ap@EmbedThisFile{% + \literalps@out{% + [ /_objdef {apEmbedFile\the\ap@annot@cnt}/type/dict/OBJ pdfmark + [ {apEmbedFile\the\ap@annot@cnt} << + /F (\ap@thisFileName) + /UF (\ap@thisFileName) + /EF << /F {apFileStream\the\ap@annot@cnt} >> + /Type/Filespec + >> /PUT pdfmark}% + \literalps@out{% + [ /_objdef {apFileStream\the\ap@annot@cnt}/type/stream/OBJ pdfmark + [ {apFileStream\the\ap@annot@cnt} (\annotpro@file) + (r) file /PUT pdfmark + [ {apFileStream\the\ap@annot@cnt} << + /Type/EmbeddedFile + >> /PUT pdfmark + [ {apFileStream\the\ap@annot@cnt} /CLOSE pdfmark}% +} +\setAnnotOptions{title,subject,open=false,color} +\endinput +%% +%% End of file `annot_pro.sty'. diff --git a/texmf-dist/tex/latex/graphicxsp/graphicxsp.sty b/texmf-dist/tex/latex/graphicxsp/graphicxsp.sty new file mode 100644 index 00000000..7f59f1a2 --- /dev/null +++ b/texmf-dist/tex/latex/graphicxsp/graphicxsp.sty @@ -0,0 +1,552 @@ +%% +%% This is file `graphicxsp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% graphicxsp.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% graphicxsp.sty package, 2007-08-14 %% +%% Copyright (C) 2007 D. P. Story %% +%% storyd@owc.edu / 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 of the %% +%% License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +\NeedsTeXFormat{LaTeX2e}[1997/12/01] +\ProvidesPackage{graphicxsp} + [2016/02/19 v1.0 Graphicxsp: Extension of graphicx for dvips/dvipsone (dps)] +\@ifundefined{ifpreview}{\newif\ifpreview\previewfalse}{} +\DeclareOption{preview}{\previewtrue} +\DeclareOption{dvipsone}{\def\gxsp@drivernum{0}} +\DeclareOption{dvips}{\def\gxsp@drivernum{1}} +\DeclareOption{showembeds}{\let\gxsp@showembeds=0} +\let\gxsp@showembeds=1 +\def\gxsp@drivernum{1} +\DeclareOption{draft}{\spxGin@drafttrue + \PassOptionsToPackage{draft}{graphicx}} +\DeclareOption{final}{\spxGin@draftfalse + \PassOptionsToPackage{final}{graphicx}} +\DeclareOption{shownonames}{\@spx@shownameindraftfalse} +\newif\if@spx@shownameindraft \@spx@shownameindrafttrue +\newif\ifspxGin@draft \spxGin@draftfalse +\InputIfFileExists{graphics.cfg}{}{} +\ProcessOptions +\@ifundefined{eq@driver@name}{}{% +\def\DVIPSONE{dvipsone}\ifx\eq@driver@name\DVIPSONE +\def\gxsp@drivernum{0}\fi} +\RequirePackage{graphicx} +\ifspxGin@draft\Gin@drafttrue\fi +\RequirePackage{eso-pic} +\RequirePackage{verbatim} +\def\grcxsp@hideEPS{\AtBeginDvi{\special{!% +/product where{% +pop +product(Distiller)search{% + pop pop pop + userdict + /?pdfmark /exec load put% +}{% +pop +userdict + begin + /?pdfmark /pop load def + end +}ifelse% +}if% +}}} +\@ifpackageloaded{hyperref}{\let\grcxsp@hideEPS\relax}{\grcxsp@hideEPS} +\def\gxsp@literalps@out#1{\special{ps:#1}} +\ifnum\gxsp@drivernum=1\relax +\special{!userdict begin + /TeXtoPDF {65536 div DVImag mul} def % sp to pts + /PDFtoDvips {72.27 div Resolution mul} def % points to dots + /PDFtoVDvips {72.27 div VResolution mul} def % points to dots + /DvipstoPDF {72.27 mul Resolution div} def % dots to points + /HTeXtoDvips {TeXtoPDF PDFtoDvips} def % sp to dots + /VTeXtoDvips {TeXtoPDF PDFtoVDvips} def end} % sp to dots +\special{!userdict begin /cstr {currentpoint translate + 1 PDFtoDvips DVImag mul -1 PDFtoDvips DVImag mul scale}def end} +\def\gxsp@setPSCoor{cstr } +\def\b@grxsp@Literal{userdict begin} +\def\e@grxsp@Literal{end} +\else +\def\gxsp@setPSCoor{undsclx } +\let\b@grxsp@Literal\@empty +\let\e@grxsp@Literal\@empty +\fi +\special{!\b@grxsp@Literal + /currentpage 0 def + /graphicxspCnt 0 def + /graphicxspStr 10 string def + /graphicxspMergeStr {2 copy length exch length add string dup dup + 4 3 roll 4 index length exch putinterval 3 1 roll exch + 0 exch putinterval} def + /grcxspObjDef { + /graphicxspCnt graphicxspCnt 1 add def + currentpage graphicxspStr cvs graphicxspMergeStr + (-) graphicxspMergeStr + graphicxspCnt graphicxspStr cvs + graphicxspMergeStr + } def \e@grxsp@Literal +} +\def\ESO@AeBip@Hook{} +\newcommand{\AddToEmbeddedEPSs}{\g@addto@macro\ESO@AeBip@Hook} +\@ifundefined{@ShipoutPicture}{% + \ESO@isMEMOIR{% + \AtBeginShipout{% + \@tempdima=-\trimedge + \advance\@tempdima-\paperwidth + \advance\@tempdima\stockwidth + \if@twoside\ifodd\c@page\else + \advance\@tempdima2\trimedge + \advance\@tempdima\paperwidth + \advance\@tempdima-\stockwidth + \fi\fi + \@tempdimb=\ESO@yoffsetI + \advance\@tempdimb-\trimtop + \nointerlineskip + \AtBeginShipoutUpperLeft{% + \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){% + \ESO@HookIII\ESO@HookI\ESO@HookII + \global\let\ESO@HookII\@empty + }% + }% + } + }{% + \AtBeginShipout{% + \nointerlineskip + \AtBeginShipoutUpperLeft{% + \put(0,\LenToUnit{\ESO@yoffsetI}){% + \ESO@HookIII\ESO@AeBip@Hook\ESO@HookI\ESO@HookII% dps + \global\let\ESO@HookII\@empty + \global\let\ESO@AeBip@Hook\@empty% dps + }% + }% + } + } +}{% + \renewcommand{\@ShipoutPicture}{% + \bgroup + \@tempswafalse% + \ifx\ESO@HookI\@empty\else\@tempswatrue\fi% + \ifx\ESO@HookII\@empty\else\@tempswatrue\fi% + \ifx\ESO@HookIII\@empty\else\@tempswatrue\fi% + \ifx\ESO@AeBip@Hook\@empty\else\@tempswatrue\fi%dps(08/16/07) + \if@tempswa% + \@tempdima=1in\@tempdimb=-\@tempdima% + \advance\@tempdimb\ESO@yoffsetI% + \ESO@isMEMOIR{% + \advance\@tempdima\trimedge% + \advance\@tempdima\paperwidth% + \advance\@tempdima-\stockwidth% + \if@twoside\ifodd\c@page\else% + \advance\@tempdima-2\trimedge% + \advance\@tempdima-\paperwidth% + \advance\@tempdima\stockwidth% + \fi\fi% + \advance\@tempdimb\trimtop}% + \unitlength=1pt% + \global\setbox\@cclv\vbox{% + \vbox{\let\protect\relax + \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)% + \ESO@HookIII\ESO@AeBip@Hook\ESO@HookI\ESO@HookII%dps + \global\let\ESO@HookII\@empty% + \global\let\ESO@AeBip@Hook\@empty% %dps + \endpicture}% + \nointerlineskip% + \box\@cclv}% + \fi + \egroup + } +} +\AddToShipoutPicture{\special{ps: /currentpage \thepage\space def}} +\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} +\def\gxsp@IWVO{\immediate\write\verbatim@out} +\def\x@namedef#1{\expandafter\xdef\csname #1\endcsname} +\def\e@namedef#1{\expandafter\edef\csname #1\endcsname} +\newcount\grxsp@cnt \grxsp@cnt=0 +\def\grcxsp@setPictureDimen#1#2#3#4#5{% + \x@namedef{#1Gin@llx}{#2}\x@namedef{#1Gin@lly}{#3}% + \x@namedef{#1Gin@urx}{#4}\x@namedef{#1Gin@ury}{#5}% + \x@namedef{#1BBox}{#2 #3 #4 #5}% + \begingroup + \@tempdima=#4bp + \advance\@tempdima-#2bp + \@tempdima=.99626\@tempdima + \x@namedef{#1widthOf}{\strip@pt\@tempdima}% + \@tempdima=#5bp + \advance\@tempdima-#3bp + \@tempdima=.99626\@tempdima + \x@namedef{#1heightOf}{\strip@pt\@tempdima}% + \endgroup +} +\def\heightOf#1{\csname#1heightOf\endcsname} +\def\widthOf#1{\csname#1widthOf\endcsname} +\def\bboxOf#1{\csname#1BBox\endcsname} +\def\llxOf#1{\csname#1Gin@llx\endcsname} +\def\llyOf#1{\csname#1Gin@lly\endcsname} +\def\urxOf#1{\csname#1Gin@urx\endcsname} +\def\uryOf#1{\csname#1Gin@ury\endcsname} +\newcommand{\embedEPS}[3][]{% + \@ifundefined{#2Gin@llx}{}{% + \PackageError{graphicxsp}% + {The name, #2, on line \the\inputlineno\MessageBreak + is already defined. All embedded graphics\MessageBreak + must be assigned a unique name} + {Give this embedded graphic a unique name.}% + }% + \begingroup + \let\Gin@transparencygroup\@empty + \let\input@path\Ginput@path + \filename@parse{#3.eps}% + \Gin@getbase{.eps}% + \@ifundefined{Gin@base}{% + \PackageError{graphicxsp}% + {% + Graphics file #3 specified on \the\inputlineno\MessageBreak + was not found% + }{% + Verify the file exists, is an eps file,\MessageBreak + is on the latex search path, or is in the\MessageBreak + current directory.% + }% + }{}% + \e@namedef{gxsp@Gin@base}{\Gin@base}% + \Gread@eps{\gxsp@Gin@base.eps}% + \setkeys{Gin}{name=#2,#1}% + \grcxsp@setPictureDimen% + {\Gin@name}{\Gin@llx}{\Gin@lly}{\Gin@urx}{\Gin@ury}% + \def\gxsp@embedSF{1}% + \@tempdima=\Gin@urx bp + \advance\@tempdima-\Gin@llx bp + \ifdim\@tempdima>\paperwidth + \Gscale@div\gxsp@embedSF\paperwidth\@tempdima + \@tempdima=\Gin@ury bp + \advance\@tempdima-\Gin@lly bp + \@tempdima=\gxsp@embedSF\@tempdima + \ifdim\@tempdima>\paperheight + \edef\gxsp@embedSFSave{\gxsp@embedSF}% + \Gscale@div\gxsp@embedSF\paperheight\@tempdima + \@tempdima=\gxsp@embedSFSave\p@ + \@tempdima=\gxsp@embedSF\@tempdima + \edef\gxsp@embedSF{\strip@pt\@tempdima}% + \fi + \else + \@tempdima=\Gin@ury bp + \advance\@tempdima\Gin@lly bp + \ifdim\@tempdima>\paperheight + \Gscale@div\gxsp@embedSF\paperheight\@tempdima + \fi + \fi + \edef\@tempa{% + \noexpand\AddToEmbeddedEPSs{\noexpand\AtPageLowerLeft% + {\noexpand\scalebox{\gxsp@embedSF}% + {\noexpand\gxsp@embedEPS{\gxsp@Gin@base}{\Gin@name}}}% + \noexpand\AtPageCenter{\noexpand\gcxsp@wrapEmbeddedFigure% + {\Gin@transparencygroup}{#2}{\Gin@transparency}}}}\@tempa + \endgroup +} +\@onlypreamble{\embedEPS} +\def\grcxsp@coverEmbeds{% + \AddToEmbeddedEPSs{\AtPageLowerLeft{\colorbox{white}{% + \parbox[b][\paperheight]{\paperwidth}{\hfill\vfill}}}}} +\if\gxsp@showembeds1% +\AtBeginDocument{\grcxsp@coverEmbeds} +\else +\let\grcxsp@coverEmbeds\relax +\fi +\def\grcxsp@maxDim{5000} +\newcommand{\gxsp@embedEPS}[2]{% + \gxsp@literalps@out{gsave \gxsp@setPSCoor + [ /BBox [-\grcxsp@maxDim\space-\grcxsp@maxDim\space + \grcxsp@maxDim\space\grcxsp@maxDim]\space/_objdef {Embedded:#2} + /BP pdfmark grestore}% + \message{}% + \includegraphics{#1}% + \gxsp@literalps@out{[ /EP pdfmark}% +} +\def\gcxsp@wrapEmbeddedFigure#1#2#3{% + \def\Gin@transparencygroup{#1}\def\Gin@transparency{#3}% + \gxsp@literalps@out{gsave \gxsp@setPSCoor + \ifGin@clip + [/BBox [\llxOf{#2}\space\llyOf{#2}\space + \urxOf{#2}\space\uryOf{#2}] + \else + [ /BBox [-\grcxsp@maxDim\space-\grcxsp@maxDim\space + \grcxsp@maxDim\space\grcxsp@maxDim] + \fi\space /_objdef {#2} + \ifx\Gin@transparencygroup\@empty\else + \ifx\Gin@transparencygroup\Gin@exclamation + /Group << /S/Transparency >>% + \else + /Group << /S/Transparency \Gin@transparencygroup >>% + \fi + \fi\space + /BP pdfmark + [ {Embedded:#2} /SP pdfmark + [/EP pdfmark + grestore}% +} +\newcommand{\sp@createImage}[3][]{% + \@ifundefined{#3Gin@llx}{}{% + \PackageError{graphicxsp}% + {The name, #3, on line \the\inputlineno\space\MessageBreak + is already defined. All embedded graphics\MessageBreak + must be assigned a unique name} + {Give this embedded graphic a unique name.}% + }% + \setkeys{Gin}{#1}\def\Gin@name{#3}% + \edef\@gtempa{#2 }% + \expandafter\Gread@parse@bb\@gtempa \\% + \begingroup\grxcsp@createImage +} +\let\postEP\@empty +\long\def\grxcsp@createImage#1\end#2{% + \def\reserved@a{#2}\ifx\reserved@a\@currenvir + \end{#2}\else\@badend{#2}\fi + \edef\temp@transparencyGroup{% + \ifx\Gin@transparencygroup\@empty\else + \ifx\Gin@transparencygroup\Gin@exclamation + /Group << /S/Transparency >>% + \else + /Group << /S/Transparency \Gin@transparencygroup >>% + \fi + \fi}% + \grcxsp@setPictureDimen% + {\Gin@name}{\Gin@llx}{\Gin@lly}{\Gin@urx}{\Gin@ury}% + \edef\@tempa{% + \noexpand\AddToEmbeddedEPSs{\noexpand\AtPageLowerLeft{% + \noexpand\gxsp@literalps@out{gsave \gxsp@setPSCoor + [ /BBox [\Gin@llx\space\Gin@lly\space\Gin@urx\space\Gin@ury] + /_objdef {\Gin@name} \temp@transparencyGroup\space/BP pdfmark + \ifx\Gin@transparency\@empty\else + [ \Gin@transparency\space/SetTransparency pdfmark\fi + {#1} ?pdfmark + [ /EP pdfmark + grestore + }% + }}}\@tempa + \endgroup +} +\let\createImage\sp@createImage +\let\endcreateImage\endsp@createImage +\@onlypreamble{\createImage} +\def\xsp@sanitize{\catcode`\_=12\relax} +\newcommand{\insertEPS}{\bgroup\xsp@sanitize + \@ifstar + {\Gin@cliptrue\let\gcxsp@star*\gcxsp@insertEPS}% + {\Gin@clipfalse\let\gcxsp@star\@empty\gcxsp@insertEPS}} +\newcommand{\gcxsp@insertEPS}[2][]% + {\expandafter\includegraphics\gcxsp@star[name=#2,#1]{}\egroup} +\newif\if@Ginnamed\@Ginnamedfalse +\define@key{Gin}{name}[]{\def\Gin@name{#1}% + \@Ginnamedtrue\let\Ginclude@eps\Ginclude@eps@SP} +\def\Gin@name{} +\define@key{Gin}{transparencyGroup}[!]{\def\Gin@transparencygroup{#1}} +\def\Gin@transparencygroup{} +\define@key{Gin}{transparency}[]{\def\Gin@transparency{#1}}% +\def\Gin@transparency{}% +\define@key{Gin}{SMask}[]{\def\Gin@SMask{#1}}% +\def\Gin@SMask{}% +\define@key{Gin}{presp}{\def\Gin@presp{#1}} +\def\Gin@presp{} +\define@key{Gin}{postsp}{\def\Gin@postsp{#1}} +\def\Gin@postsp{} +\define@key{Gin}{SMask}[]{\def\GinSP@SMask{#1}} +\def\GinSP@SMask{} +\define@key{GinSP}{subtype}[Luminosity]{\def\GinSP@subtype{#1}} +\def\GinSP@subtype{Luminosity} +\define@key{GinSP}{group}[]{\def\GinSP@group{#1}} +\def\GinSP@group{} +\define@key{GinSP}{bc}[]{\def\GinSP@bc{#1}} +\def\GinSP@bc{} +\define@key{GinSP}{tr}[]{\def\GinSP@tr{#1}} +\define@key{GinSP}{None}[None]{\def\SMaskSP@None{#1}} +\def\GinSP@tr{} +\def\SMaskSP@None{} +\def\SMaskSP@Identity{Identity} +\def\sp@setSMask{% + \ifx\GinSP@SMask\SMaskSP@None[ /SMask/None /SetTransparency pdfmark + \else + [ /SMask << /S/\GinSP@subtype\space + \ifx\GinSP@bc\@empty\else/BC\GinSP@bc\space\fi + \ifx\GinSP@tr\@empty\else\ifx\GinSP@tr\SMaskSP@Identity% + /TR/Identity\else/TR {\GinSP@tr}\space\fi\fi + /G {\GinSP@group} >> /SetTransparency pdfmark + \fi +} +\newcommand{\setSMask}[2][]{% + \setkeys{GinSP}{#1}\def\GinSP@group{#2}% + \special{ps: \sp@setSMask}% +} +\def\Gin@setfile#1#2#3{% + \ifx\\#2\\\Gread@false\fi + \ifGin@bbox\else + \ifGread@ +\if@Ginnamed %dps (08/16/07) + \edef\Gin@llx{\csname\Gin@name Gin@llx\endcsname}% + \edef\Gin@lly{\csname\Gin@name Gin@lly\endcsname}% + \edef\Gin@urx{\csname\Gin@name Gin@urx\endcsname}% + \edef\Gin@ury{\csname\Gin@name Gin@ury\endcsname}% +\else + \csname Gread@% + \expandafter\ifx\csname Gread@#1\endcsname\relax + eps% + \else + #1% + \fi + \endcsname{\Gin@base#2}% +\fi + \else + \Gin@nosize{#3}% + \fi + \fi + \Gin@viewport@code + \Gin@nat@height\Gin@ury bp% + \advance\Gin@nat@height-\Gin@lly bp% + \Gin@nat@width\Gin@urx bp% + \advance\Gin@nat@width-\Gin@llx bp% + \Gin@req@sizes + \expandafter\ifx\csname Ginclude@#1\endcsname\relax + \Gin@drafttrue + \expandafter\ifx\csname Gread@#1\endcsname\relax + \@latex@error{Can not include graphics of type: #1}\@ehc + \global\expandafter\let\csname Gread@#1\endcsname\@empty + \fi + \fi + \leavevmode + \ifGin@draft + \hb@xt@\Gin@req@width{% + \vrule\hss + \vbox to \Gin@req@height{% + \hrule \@width \Gin@req@width + \vss + \if@Ginnamed %dps (08/18/07) + \if@spx@shownameindraft + \rlap{ \ttfamily\Gin@name}\fi + \else + \edef\@tempa{#3}% + \rlap{ \ttfamily\expandafter\strip@prefix\meaning\@tempa}% + \fi + \vss + \hrule}% + \hss\vrule}% + \else +\if@Ginnamed\else % dps (08/16/07) + \@addtofilelist{#3}% + \ProvidesFile{#3}[Graphic file (type #1)]% +\fi + \setbox\z@\hbox{\csname Ginclude@#1\endcsname{#3}}% + \dp\z@\z@ + \ht\z@\Gin@req@height + \wd\z@\Gin@req@width + \ifpreview{\setlength{\fboxsep}{0pt}\fbox{\box\z@}}\else\box\z@\fi% + \fi} +\def\Gin@getbase#1{% + \edef\Gin@tempa{% + \def\noexpand\@tempa####1#1\space{% + \def\noexpand\Gin@base{####1}}}% + \if@Ginnamed + \edef\Gin@ext{#1}\edef\Gin@base{\Gin@name}%dps (08/18/07) + \else + \IfFileExists{\filename@area\filename@base#1}% + {\Gin@tempa + \expandafter\@tempa\@filef@und + \edef\Gin@ext{#1}}{}% + \fi +}% +\def\Gin@computeSF{% + \def\@tempa{!}% + \edef\gxsp@scaleFactor@x{\Gin@scalex}% + \edef\gxsp@scaleFactor@y{\Gin@scaley}% + \ifx\Gin@scaley\@tempa % proportional height + \ifx\Gin@scalex\@tempa % proportional width + \def\gxsp@scaleFactor@x{1}% + \def\gxsp@scaleFactor@y{1}% + \else % specified width + \edef\gxsp@scaleFactor@y{\Gin@scalex}% + \fi + \else % specified height + \ifx\Gin@scalex\@tempa % proportional width + \edef\gxsp@scaleFactor@x{\Gin@scaley}% + \fi + \fi +} +\def\gxsp@setBBox{% + \ifGin@clip + [/BBox [\Gin@llx\space\Gin@lly\space\Gin@urx\space\Gin@ury] + \else + [/BBox [-\grcxsp@maxDim\space-\grcxsp@maxDim\space + \grcxsp@maxDim\space\grcxsp@maxDim] + \fi +} +\def\Ginclude@eps@SP#1{% + \bgroup + \ifx\GinSP@SMask\@empty\else + \edef\sp@expand@temp{\noexpand\setkeys{GinSP}{\GinSP@SMask}}% + \sp@expand@temp + \ifx\SMaskSP@None\@empty\ifx\GinSP@group\@empty + \PackageError{graphicxsp}{The group key is required when you + specify a SMask.}{Specify a group name for the group key.}% + \fi\fi\fi + \Gin@computeSF + \ifGin@bbox + \gxsp@literalps@out{% + gsave \gxsp@setPSCoor + \ifx\GinSP@SMask\@empty\else\sp@setSMask\fi + \gxsp@setBBox\space + (\Gin@name:bbox@) grcxspObjDef + /graphicxspretn exch cvx cvn def + /_objdef {//graphicxspretn} /BP pdfmark + \ifx\Gin@transparency\@empty\else + [ \Gin@transparency\space/SetTransparency pdfmark\fi + [ {\Gin@name} /SP pdfmark + [ /EP pdfmark + \gxsp@scaleFactor@x\space\gxsp@scaleFactor@y\space scale + -\Gin@llx\space -\Gin@lly\space moveto + currentpoint translate + \Gin@presp + [ {//graphicxspretn} /SP pdfmark + \Gin@postsp + grestore + }% + \else + \gxsp@literalps@out{% + gsave \gxsp@setPSCoor + \ifx\GinSP@SMask\@empty\else\sp@setSMask\fi + \gxsp@setBBox\space + (\Gin@name:grxsp@) grcxspObjDef + /graphicxspretn exch cvx cvn def + /_objdef {//graphicxspretn} /BP pdfmark + \ifx\Gin@transparency\@empty\else + [ \Gin@transparency\space/SetTransparency pdfmark\fi + [ {\Gin@name} /SP pdfmark + [ /EP pdfmark + \gxsp@scaleFactor@x\space\gxsp@scaleFactor@y\space scale + \ifx\Gin@viewport@code\relax\else + -\Gin@llx\space-\Gin@lly\space moveto + currentpoint translate\fi + \Gin@presp + [ {//graphicxspretn} /SP pdfmark + \Gin@postsp + grestore + }% + \fi + \egroup} +\endinput +%% +%% End of file `graphicxsp.sty'. -- cgit v1.2.3