From d2a693db266c86383445df581593a627a79f5140 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 11 Jun 2018 12:37:24 +0900 Subject: aeb-pro update --- texmf-dist/doc/latex/aeb-pro/README.md | 5 +- texmf-dist/doc/latex/aeb-pro/aebpro_man.pdf | Bin 609630 -> 644944 bytes .../doc/latex/aeb-pro/examples/aebpro_ex3.pdf | Bin 718560 -> 763806 bytes .../doc/latex/aeb-pro/examples/aebpro_ex4.pdf | Bin 124605 -> 175005 bytes .../doc/latex/aeb-pro/examples/aebpro_ex5.pdf | Bin 256437 -> 254257 bytes .../doc/latex/aeb-pro/examples/aebpro_ex6.pdf | Bin 255216 -> 256560 bytes .../doc/latex/aeb-pro/examples/aebpro_ex7.pdf | Bin 55695 -> 50592 bytes .../doc/latex/aeb-pro/examples/aebpro_ex8.pdf | Bin 681851 -> 698841 bytes .../doc/latex/aeb-pro/examples/aebpro_ex8.tex | 92 ++-- .../doc/latex/aeb-pro/examples/extras.zip.txt | Bin 434162 -> 434167 bytes texmf-dist/source/latex/aeb-pro/aeb_pro.dtx | 475 +++++++-------------- texmf-dist/source/latex/aeb-pro/aeb_pro.ins | 6 +- texmf-dist/source/latex/aeb-pro/doc/aebpro_man.tex | 35 +- .../source/latex/aeb-pro/extras/robot_man.pdf | Bin 0 -> 95261 bytes texmf-dist/tex/latex/aeb-pro/aeb_pro.sty | 33 +- texmf-dist/tex/latex/aeb-pro/aeblayers.def | 13 +- texmf-dist/tex/latex/aeb-pro/aebpro.def | 2 +- texmf-dist/tex/latex/aeb-pro/anime_support.def | 2 +- texmf-dist/tex/latex/aeb-pro/btnnanime.def | 2 +- texmf-dist/tex/latex/aeb-pro/create_icon.def | 2 +- texmf-dist/tex/latex/aeb-pro/linkto.def | 264 ++++++++++++ texmf-dist/tex/latex/aeb-pro/ocganime.def | 2 +- texmf-dist/tex/latex/aeb-pro/unicodes.def | 380 ----------------- 23 files changed, 517 insertions(+), 796 deletions(-) create mode 100644 texmf-dist/source/latex/aeb-pro/extras/robot_man.pdf create mode 100644 texmf-dist/tex/latex/aeb-pro/linkto.def delete mode 100644 texmf-dist/tex/latex/aeb-pro/unicodes.def diff --git a/texmf-dist/doc/latex/aeb-pro/README.md b/texmf-dist/doc/latex/aeb-pro/README.md index 4c008de9..60d75ec9 100644 --- a/texmf-dist/doc/latex/aeb-pro/README.md +++ b/texmf-dist/doc/latex/aeb-pro/README.md @@ -1,6 +1,6 @@ The AeB Pro Package Author: D. P. Story -Dated: 2017-03-08 +Dated: 2018-02-17 The AeB Pro Package complements and extends AcroTeX eDucation Bundle. @@ -38,6 +38,9 @@ The AcroTeX Blog (http://blog.acrotex.net/) lists the distribution files at http://www.acrotex.net/blog/?page_id=835, all demo files that use AeB Pro are listed at http://www.acrotex.net/blog/?tag=aeb-pro. +What's New (2018-02-17) Added a star-option to \texHelp, added demo files to +illustrate rollover animation techniques (http://www.acrotex.net/blog/?tag=rollovers). + Now, I simply must get back to my retirement. D. P. Story diff --git a/texmf-dist/doc/latex/aeb-pro/aebpro_man.pdf b/texmf-dist/doc/latex/aeb-pro/aebpro_man.pdf index b25ceb9a..cb6ee978 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/aebpro_man.pdf and b/texmf-dist/doc/latex/aeb-pro/aebpro_man.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex3.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex3.pdf index 2787301a..e9b48043 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex3.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex3.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex4.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex4.pdf index d43072a7..cbb1aa68 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex4.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex4.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex5.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex5.pdf index 012a8932..ad0bd418 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex5.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex5.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex6.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex6.pdf index 6ad1f873..65ccfa04 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex6.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex6.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex7.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex7.pdf index cccf3cbf..fae6e1e0 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex7.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex7.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.pdf b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.pdf index 116c2a75..4cff51ee 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.pdf and b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.pdf differ diff --git a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.tex b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.tex index 3565c239..b54137c7 100644 --- a/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.tex +++ b/texmf-dist/doc/latex/aeb-pro/examples/aebpro_ex8.tex @@ -1,13 +1,10 @@ -% Acrobat required -% use useacrobat option with pdftex and xetex if you have acrobat \documentclass{article} \usepackage[ + nopro, % this file does not use any features of aeb_pro except for the AeB Control Center web={designv,forcolorpaper,pro,tight,usesf}, - eforms, - linktoattachments, - attachsource={tex}, - aebxmp, + eforms ]{aeb_pro} +\usepackage{forms16be} \DeclareDocInfo { @@ -27,14 +24,14 @@ \newcommand{\cs}[1]{\texttt{\char`\\#1}} -\newcommand{\cS}[2]{\textField[\Ff\FfReadOnly\textSize{10}\textFont{Arial}\uDV{FEFF#2}\uV{FEFF#2}\BC{}]{#1}{20bp}{11bp}} +\newcommand{\cS}[2]{\textField[\Ff\FfReadOnly\textSize{10}\textFont{Arial}\DV{\unicodeStr(#2)}\V{\unicodeStr(#2)}\BC{}]{#1}{20bp}{11bp}} \parskip6pt \parindent0pt -\labelName{coolDPS}{Donald \u20AC. Story} -\labelName{myCoolIV}{\u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022} -\labelName{Reset myCoolIV}{Reset the \u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022 field} +\defUniStr{coolDPS}{Donald \u20AC. Story} +\defUniStr{myCoolIV}{\u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022} +\defUniStr{Reset myCoolIV}{Reset the \u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022 field} \begin{document} @@ -54,7 +51,7 @@ preamble above. The first step is to use the \cs{labelName} command to define your unicode string and associate a label with it. In the preamble, the following definition can be found. \begin{verbatim} -\labelName{coolDPS}{Donald \u20AC. Story} +\defUniStr{coolDPS}{Donald \u20AC. Story} \end{verbatim} The string can be a combination of characters from Basic Latin. As described in the AeB Pro manual, the string can be entered using @@ -80,8 +77,8 @@ in matching parentheses, like so \end{verbatim} The result of the above code is -\textField[\Ff\FfReadOnly\textSize{10}\textFont{Arial}\W0 - \uDV{\unicodeStr(coolDPS)}\uV{\unicodeStr(coolDPS)}\BC{} +\textField[\Ff\FfReadOnly\textSize{10}\textFont{Arial} + \DV{\unicodeStr(coolDPS)}\V{\unicodeStr(coolDPS)}\BC{} ]{dps}{1in}{11bp} @@ -93,33 +90,18 @@ encoded strings into a form field. The above field is set to read only, the one below is not: \textField[\textSize{10}\textFont{Arial} - \uDV{\unicodeStr(myCoolIV)}\uV{\unicodeStr(myCoolIV)} -]{myCoolIV}{1.5in}{12bp}\pushButton[\textSize{10}\textFont{Arial}\uCA{FEFF20AC} - \uAC{FEFF20AA}\uRC{FEFF00A5}\uTU{\unicodeStr(Reset myCoolIV)}\A{\JS{this.resetForm(["myCoolIV"])}}]{reset}{.5in}{12bp} + \DV{\unicodeStr(myCoolIV)}\V{\unicodeStr(myCoolIV)} +]{myCoolIV}{1.5in}{12bp}\pushButton[\textSize{10}\textFont{Arial}\CA{\unicodeStr(20AC)} + \AC{\unicodeStr(20AA)}\uRC{\unicodeStr(00A5)}\TU{\unicodeStr(Reset myCoolIV)} + \A{\JS{this.resetForm(["myCoolIV"])}}]{reset}{.5in}{12bp} Edit the box above, then click on the reset button. (Notice the tooltip for the reset button.) The eforms uses an optional first argument to change the appearance of a form field, add in action (usually JavaScript action) or to -initialize the field value. In the above form fields, several -unicode counterparts to the standard keys were used. -\begin{itemize} - \item \cs{uV} and \cs{uDV} were used instead of \cs{V} and - \cs{DV} for giving the field a value and a default value, - respectively. The ``u'' versions are used when the string is in - unicode. - - \item Button face text for the reset button was entered with - \cs{uCA}, \cs{uAC} and \cs{uRC} rather than \cs{CA}, \cs{AC} and - \cs{RC}. You can mix these two types together. The normal face - caption could be defined by \cs{uCA} and the others defined by - \cs{AC} and \cs{RC}. - - \item The ``tooltip'', as used in the reset button, normally uses - the \cs{TU} key. When the string is meant to be unicode, use the - \cs{uTU} key. -\end{itemize} +initialize the field value. + \section{More Advanced} @@ -128,29 +110,26 @@ complicated. In the example below, we define a combo box. First, define the appearance values of the combo box (the string that is seen listed in the combo box). \begin{verbatim} -\labelName{myEuro}{\u20AC (Euro)} -\labelName{myYen}{\u00A5 (Yen)} -\labelName{mySheqel}{\u20AA (Sheqel)} -\labelName{myPound}{\u00A3 (Pound)} -\labelName{myFranc}{\u20A3 (Franc)} +\defUniStr{myEuro}{\u20AC (Euro)} +\defUniStr{myYen}{\u00A5 (Yen)} +\defUniStr{mySheqel}{\u20AA (Sheqel)} +\defUniStr{myPound}{\u00A3 (Pound)} +\defUniStr{myFranc}{\u20A3 (Franc)} \end{verbatim} -\labelName{myEuro}{\u20AC (Euro)} -\labelName{myYen}{\u00A5 (Yen)} -\labelName{mySheqel}{\u20AA (Sheqel)} -\labelName{myPound}{\u00A3 (Pound)} -\labelName{myFranc}{\u20A3 (Franc)} +\defUniStr{myEuro}{\u20AC (Euro)} +\defUniStr{myYen}{\u00A5 (Yen)} +\defUniStr{mySheqel}{\u20AA (Sheqel)} +\defUniStr{myPound}{\u00A3 (Pound)} +\defUniStr{myFranc}{\u20A3 (Franc)} Then we can define our combo box. According to the PDF file format, unicode strings should be enclosed in angle brackets \verb!!. In initializing the combo box below, the \cs{unicodeStr} command is used, but this time it is enclosed in -angle brackets. (That is all the ``u'' versions of the keys do above -is to automatically insert the angle brackets for you. Here we have -to do it ourselves. (I suppose one could have a helper command, but -you can handle it.) +angle brackets. \begin{verbatim} -\comboBox[\Ff\FfEdit\DV{1}\V{Euro}\textFont{Arial} +\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial} \BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp} {*{[(Euro)<\unicodeStr(myEuro)>]% [(Yen)<\unicodeStr(myYen)>]% @@ -164,7 +143,7 @@ passing of a raw form of the value options of a combo or list box; it is defined in \textsf{eforms}. The result is -\comboBox[\Ff\FfEdit\DV{1}\V{Euro}\textFont{Arial} +\comboBox[\Ff\FfEdit\DV{Euro}\V{Euro}\textFont{Arial} \BG{0.98 0.92 0.73}\BC{0 .6 0}]{myCombo}{1in}{11bp} {*{[(Euro)<\unicodeStr(myEuro)>]% [(Yen)<\unicodeStr(myYen)>]% @@ -186,20 +165,9 @@ For the purpose of the table below, the following definition was given in the pr \newcommand{\cS}[2]{% \textField[ \Ff\FfReadOnly\BC{}\textSize{10}\textFont{Arial} - \uDV{FEFF#2}\uV{FEFF#2} + \DV{\unicodeStr(#2)}\V{\unicodeStr(#2)} ]{#1}{20bp}{11bp}} \end{verbatim} -Again the \cs{uDV} and \cs{uV} keys are used but without -\cs{unicodeStr}. In this case, we must do it ourselves. As was -mentioned earlier, the ``u'' versions of these keys automatically -insert the angle brackets. Inside the angle brackets is the raw -unicode hex code. What wasn't mentioned before is that the first -four hex digits must be \texttt{FEFF} to signal the beginning of -unicode. Here, we insert these digits ourselves, followed, through -parameter replacement, by the unicode hex digits of the characters -desired. The result is the table you see below. (Again the field is -readonly, the table is the one that appears in manual of usage for the -JJ\_Game class (\texttt{jjg\_man.pdf}). \begin{center} \begin{tabular}{lll||lll} diff --git a/texmf-dist/doc/latex/aeb-pro/examples/extras.zip.txt b/texmf-dist/doc/latex/aeb-pro/examples/extras.zip.txt index 1bdc0430..aafeca71 100644 Binary files a/texmf-dist/doc/latex/aeb-pro/examples/extras.zip.txt and b/texmf-dist/doc/latex/aeb-pro/examples/extras.zip.txt differ diff --git a/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx b/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx index 3cde5508..79c586f3 100644 --- a/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx +++ b/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx @@ -2,7 +2,7 @@ %<*copyright> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% @@ -14,7 +14,7 @@ % %\NeedsTeXFormat{LaTeX2e}[1997/12/01] %\ProvidesPackage{aeb_pro} -% [2017/03/08 v2.8a aeb_pro: A support package (dps)] +% [2018/02/17 v2.9b aeb_pro: A support package (dps)] %<*driver> \documentclass{ltxdoc} \usepackage[colorlinks,hyperindex=false]{hyperref} @@ -64,6 +64,8 @@ % Begin package segment %<*package> % \end{macrocode} +% \changes{v2.9}{2017/08/25}{Extracted some of the code from unicode.def to create a new package, forms16be. +% This package now includes forms16be.} % \changes{v1.9}{2016/03/03}{Allow users of pdftex and xetex to access JavaScript related % methods provided they use \string\textsf{Acrobat} as their PDF reader.} % \changes{v2.5}{2016/08/31}{Revised \string\texttt{aeb\_pro.js} to include @@ -280,18 +282,20 @@ % The option \texttt{linktoattachments}\IndexOpt{linktoattachments} is a % general routine for linking to attached PDF files. % \begin{macrocode} -\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.}}} +\def\@aeb@InputUnicodes{\InputIfFileExists{linkto.def}% + {\PackageInfo{aeb_pro}{Inputting code for the linktoattachments + option}}{\PackageWarning{aeb_pro}{Cannot find linkto.def. + Reinstall or refresh your file name database, as needed.}}} \let\aeb@InputUnicodes\@empty % \end{macrocode} % \changes{v1.7k}{2015/08/06}{Added code so that the childof is read after linktoattachments} % (2015/08/06) Added code so that the childof is read after linktoattachments % \changes{v2.4}{2016/08/03}{Removed the \string\texttt{latin1} option as unworkable across some workflows} % \begin{macrocode} -\DeclareOptionX{linktoattachments}{% - \let\aeb@InputUnicodes\@aeb@InputUnicodes} +\DeclareOptionX{linktoattachments}{% dps23 + \let\aeb@InputUnicodes\@aeb@InputUnicodes +} +\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23 \let\aeb@childofInput\@empty \let\aeb@childof\@empty \DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{% @@ -409,10 +413,10 @@ \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 +\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, @@ -569,6 +573,12 @@ \RequirePackage{comment} \RequirePackage{calc} \RequirePackage{eso-pic} +% \end{macrocode} +% Input \pkg{forms16be} if \opt{linktoattachments} is taken. +% \changes{v2.9}{2017/08/25}{require \string\pkg{forms16be} as needed} +% \begin{macrocode} +\ifx\aeb@InputUnicodes\@empty\else\expandafter +\ap@RequireUnicode\fi% dps23 \ifpdfmarkup\else\if\aebp@uselayers1 \excludecomment{printRollover}% \excludecomment{rollover}% @@ -584,11 +594,15 @@ % which uses layers. % \changes{v2.1}{2016/05/15}{Moved \string\cs{pdfHelp} from \texttt{aeblayers} to % \texttt{package} to support non-Distiller workflows.} +% \changes{v2.9a}{2017/10/08}{Added \string\cs{pdfHelpIndicatorColor}} % \begin{macrocode} \newsavebox{\aebsavehelp} +\definecolor{webblue}{rgb}{0,0,.8} +\newcommand{\pdfHelpIndicatorColor}{webblue} \newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox {\footnotesize\negthinspace\ding{109}}% - \raisebox{.225ex}{\llap{\color{webblue}\tiny?\hspace{1.3ex}}}}$} + \raisebox{.225ex}{\llap{\color{\pdfHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} \def\pdfHelpCnt{0} \newcommand{\pdfHelp}{\@ifstar{{\count0=\pdfHelpCnt\relax \advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0 }}% @@ -701,10 +715,13 @@ function getLayerState(name) { % package, and slightly modified. % \changes{v1.3f}{2012/06/01}{Added controls for adding JS code to a % rollover; used for starting and stopping an anime.} +% \changes{v2.9a}{2017/10/08}{Added \string\cs{texHelpIndicatorColor}} % \begin{macrocode} +\newcommand{\texHelpIndicatorColor}{webblue} \newcommand{\texHelpIndicator}[1]{#1\thinspace${}^{\mbox {\footnotesize\negthinspace\ding{109}}\raisebox{.225ex} - {\llap{\color{webblue}\tiny?\hspace{1.3ex}}}}$} + {\llap{\color{\texHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} \newcommand{\addJStexHelpEnter}[1]{\def\aebp@addJStexHelpEnter{\r#1}} \newcommand{\addJStexHelpExit}[1]{\def\aebp@addJStexHelpExit{\r#1}} \newcommand{\resetaddJStexHelp}{% @@ -712,12 +729,19 @@ function getLayerState(name) { \let\aebp@addJStexHelpExit\@empty } \resetaddJStexHelp -\newcommand{\texHelp}[2]{% +\newif\iftexhelptoggleOff \texhelptoggleOfftrue +% \end{macrocode} +% Added a star option to \cs{texHelp}, when present the layer is not closed on exit from the target word. +% \changes{v2.9b}{2018/02/17}{Added star option to \string\cs{texHelp}} +% \begin{macrocode} +\newcommand{\texHelp}{\@ifstar{\texhelptoggleOfffalse\texHelp@i} + {\texhelptoggleOfftrue\texHelp@i}} +\newcommand{\texHelp@i}[2]{% \let\rollormargstring\texorpdfstring \sbox{\aebsavehelp}{\texHelpIndicator{#2}}% \makebox[0pt][l]{\pushButton[\S{S}\BG{}\BC{}\H{N} \AA{\AAMouseEnter{\JS{toggleHelp("#1");\aebp@addJStexHelpEnter}}% - \AAMouseExit{\JS{toggleHelp("#1");\aebp@addJStexHelpExit}}}]{#1}% + \AAMouseExit{\JS{\iftexhelptoggleOff toggleHelp("#1");\fi\aebp@addJStexHelpExit}}}]{#1}% % \end{macrocode} %\changes{v1.3h}{2012/11/25}{Changed height calculation in \cs{texHelp}} % Changed height calculation in \cs{texHelp} to allow a rollover of more @@ -2911,10 +2935,10 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{open}[\val\nr]{userpref,new,existing} {% - \ifcase\nr\relax - \let\ahref@open@keyvalue\@empty\or - \def\ahref@open@keyvalue{/NewWindow true }\or - \def\ahref@open@keyvalue{/NewWindow false }\fi + \ifcase\nr\relax + \let\ahref@open@keyvalue\@empty\or + \def\ahref@open@keyvalue{/NewWindow true }\or + \def\ahref@open@keyvalue{/NewWindow false }\fi }{} \let\ahref@open@keyvalue\@empty % \end{macrocode} @@ -2922,11 +2946,11 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{border}[\val\nr]{visible,invisible} {% - \ifcase\nr\relax - \def\ahref@border{0 0 1}% - \def\ahef@invisible@border{1}\or - \def\ahref@border{0 0 0}% W = 0 also? - \let\ahef@invisible@border\@empty\fi + \ifcase\nr\relax + \def\ahref@border{0 0 1}% + \def\ahef@invisible@border{1}\or + \def\ahref@border{0 0 0}% W = 0 also? + \let\ahef@invisible@border\@empty\fi }{} % \end{macrocode} % The \texttt{highlight}\IndexKey{highlight} key takes values of \texttt{none}, @@ -2934,11 +2958,11 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{highlight}[\val\nr]{none,invert,outline,insert} {% - \ifcase\nr\relax - \let\ahref@highlight\@empty\or - \def\ahref@highlight{/H/I}\or - \def\ahref@highlight{/H/O}\or - \def\ahref@highlight{/H/P}\fi + \ifcase\nr\relax + \let\ahref@highlight\@empty\or + \def\ahref@highlight{/H/I}\or + \def\ahref@highlight{/H/O}\or + \def\ahref@highlight{/H/P}\fi }{} % \end{macrocode} % The \texttt{bordercolor}\IndexKey{bordercolor} key\par\medskip\noindent @@ -2946,10 +2970,10 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \changes{v2.8a}{2017/03/08}{\string\cs{ahref@bordercolor} can be a named color} % \begin{macrocode} \define@key{ahref}{bordercolor}[]{\def\ap@argi{#1}\ifx\ap@argi\@empty - \let\ahref@bordercolor\@empty\else - \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} - {\ahref@bordercolor}{}{}} - {\edef\ahref@bordercolor{#1}}\fi + \let\ahref@bordercolor\@empty\else + \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} + {\ahref@bordercolor}{}{}} + {\edef\ahref@bordercolor{#1}}\fi } % PDF color \let\ahref@bordercolor\@empty % \end{macrocode} @@ -2958,10 +2982,10 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{linestyle}[\val\nr]{solid,dashed,underlined} {% - \ifcase\nr\relax - \def\ahref@linestyle@keyvalue{/S/S}\or - \def\ahref@linestyle@keyvalue{/S/D}\or % Dashed [0 0 1[3.0]] - \def\ahref@linestyle@keyvalue{/S/U}\fi + \ifcase\nr\relax + \def\ahref@linestyle@keyvalue{/S/S}\or + \def\ahref@linestyle@keyvalue{/S/D}\or % Dashed [0 0 1[3.0]] + \def\ahref@linestyle@keyvalue{/S/U}\fi } \def\ahref@dashedlinetyle{/S/D} % \end{macrocode} @@ -2970,10 +2994,10 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{linewidth}[\val\nr]{thin,medium,thick} {% - \ifcase\nr\relax - \def\ahref@linewidth{1}\or - \def\ahref@linewidth{2}\or - \def\ahref@linewidth{3}\fi + \ifcase\nr\relax + \def\ahref@linewidth{1}\or + \def\ahref@linewidth{2}\or + \def\ahref@linewidth{3}\fi } % \end{macrocode} % The \texttt{goto}\IndexKey{goto} key takes values of \texttt{p2c}, @@ -2981,10 +3005,10 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \begin{macrocode} \define@choicekey{ahref}{goto}[\val\nr]{p2c,c2p,c2c} {% - \ifcase\nr\relax - \global\let\targetDictionary\targetDictionary@pc\or - \global\let\targetDictionary\targetDictionary@cp\or - \global\let\targetDictionary\targetDictionary@cc\fi + \ifcase\nr\relax + \global\let\targetDictionary\targetDictionary@pc\or + \global\let\targetDictionary\targetDictionary@cp\or + \global\let\targetDictionary\targetDictionary@cc\fi }{} % \end{macrocode} % The \texttt{launch}\IndexKey{launch} key takes values of \texttt{save}, @@ -3012,8 +3036,8 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % \cs{aref(\#1)} to \texttt{\#1} in \cs{targetDictionary@pc} % and \cs{targetDictionary@cc}. % \begin{macrocode} -\def\targetDictionary@pc#1{% -/T</R/C>>} +\def\targetDictionary@pc#1{/T</R/C>>} \def\targetDictionary@cp#1{/T<>} \def\targetDictionary@cc#1{% /T</R/C>>>>} @@ -3047,70 +3071,68 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % dated as (2015/07/01) are the changes needed. % \begin{macrocode} \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}{\factory@ahyperref@defaults}}% + \expand@setkeys + \ifx\aeb@setahyperrefDefaults\@empty\else % \end{macrocode} % For the \cmd{\setahyperrefDefaults} we do not allow \texttt{dest}, \texttt{goto}, % \texttt{page}, or \texttt{preset}. % \begin{macrocode} - \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}% + \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{\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}% +\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 + \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 } % \end{macrocode} % \end{macro} @@ -3120,212 +3142,25 @@ var pkto=app.setTimeOut("app.clearTimeOut(pkto);" % to simple view the document, to save and view, or simply to save. The % \texttt{open} key determines the resulting action. % \begin{macrocode} -\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}% +\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}% % \end{macrocode} %\changes{v1.7}{2015/07/01}{Removed \cs{aref(\#2)}, replaced with \texttt{\#2}} % (2015/07/01) Removed \cs{aref(\#2)}, replaced with \texttt{\#2} % \begin{macrocode} -% \A{\JS{this.exportDataObject({cName: "\aref(#2)",% - \A{\JS{this.exportDataObject({cName: "#2",% + \A{\JS{this.exportDataObject({cName: "#2",% nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% - \endgroup -} -% \end{macrocode} -% \end{macro} -% \subsection{Unicodes} -% \begin{macro}{\convertChriiUnicode} -% A simple command for mapping a character to its unicode -% \begin{macrocode} -\def\convertChriiUnicode#1#2{\csarg\gdef{uni@#1}{#2}}% -% \end{macrocode} -% \end{macro} -% \begin{macrocode} -\convertChriiUnicode\space{0020} -\convertChriiUnicode{!}{0021} -{\@makeother\" -\convertChriiUnicode{"}{0022}} -%\convertChriiUnicode{"}{0022} % not available, but use \u0022 instead -\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{\}{005C} % not available, use unicode \u005C -\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{{}{007B} % not available, use unicode \u007B -\convertChriiUnicode{|}{007C} -%\convertChriiUnicode{}}{007D} % not available, use unicode \u007D -{\@makeother~ -\convertChriiUnicode{~}{007E}} -% \end{macrocode} -% \begin{macro}{\EURO} -% \begin{macro}{\BSLASH} -% \begin{macro}{\LBRACE} -% \begin{macro}{\RBRACE} -% \begin{macro}{\DQUOTE} -% These characters are entered into the description parameter of \cs{autolabelNum} -% or \cs{labelName} as either as literal characters or as its unicode \cs{uXXXX}. -% When \cs{u} is detected \cs{@stringiiUnicode}, the command that converts the string -% to all unicode hex, it calls \cs{getRawUnicode} to get the next four characters, which -% should be XXXX, place them in the stream, followed by \cs{@stringiiUnicode} so as to -% continue the processing of the next character in the description string. I've placed -% an \cs{expandafter} in the definition of \cs{getRawUnicode} to allow the commands below -% to be used. Thus instead of using \cs{u20AC}, which might necessitate the user to -% look up the code, \verb!\u\EURO! can be used instead. Additional shortcut commands -% like these can be created. Except for \cs{EURO}, these are the ones \TeX{} has trouble -% processing. -% \begin{macrocode} -\def\EURO{20AC} -\def\BSLASH{005C} -\def\LBRACE{007B} -\def\RBRACE{007D} -\def\DQUOTE{0022} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% Display the Unicode encoding of a character -% -% \begin{macrocode} -\def\displayUnicode#1{\csname uni@#1\endcsname} -% \end{macrocode} -% \begin{macro}{\stringiiUnicode} -% This is the primary command for converting a string, which -% may contain \cs{uXXXX} control sequences into unicode encoding. -% The first four hex digits must be \texttt{FEFF} to signal that -% the hex represents unicode. -% \begin{macrocode} -\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 + \endgroup } -\def\getRawUnicode{\expandafter\@getRawUnicode} -\def\@getRawUnicode#1#2#3#4{#1#2#3#4\@stringiiUnicode} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\unicodeStr} -% A convenience command for setting the initial value of a form field with unicode. -% Usage: -%\begin{verbatim} -%\labelName{myCoolIV}{\u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022} -%\textField[\textSize{10}\textFont{MyriadPro-Regular} -% \uDV{\unicodeStr(myCoolIV)}\uV{\unicodeStr(myCoolIV)} -%]{myCoolIV}{1.5in}{12bp} -%\end{verbatim} -% First you set the string using \cs{labelName}. The argument for \cs{unicodeStr} -% is delimited by parentheses, the argument itself is the label defined with -% \cs{labelName}. -% -%\medskip\noindent -% (2015/07/12) If \texttt{\#1} does not define a recognizable label (defined by \cs{labelName} -% we assume \texttt{\#1} is raw hex digits. -% \begin{macrocode} -\def\unicodeStr(#1){\expandafter - \ifx\csname aeb@aDescript@#1\endcsname\relax - FEFF#1\else\aeb@exiii\stringiiUnicode\aref(#1)\relax\fi} % \end{macrocode} % \end{macro} -% -% \subsection{\texorpdfstring{\cs{labelName} and \cs{autolabelNum}} +% \section{\texorpdfstring{\cs{labelName} and \cs{autolabelNum}} % {\CMD{labelName} and \CMD{autolabelNum}}} % % \begin{macro}{\autolabelNum} @@ -3347,7 +3182,6 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% % \cs{autolabelNum} and \cs{autolabelNum*} to make definitions, in that respect, \cs{labelName} % is the low-level command for setting up the mappings and definitions. % \begin{macrocode} -\def\ucspace{\u0020} \begingroup\catcode`\"=\active \gdef\DQ{\string\"}% \gdef\@handledblquotes{\catcode`\"=\active\def"{\DQ}}% \toks0=\expandafter{\DLspecialDefs\@handledblquotes}% @@ -3369,14 +3203,23 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% % gobble up any spaces between arguments before we switch to \string\cs{obeyspaces}.} % (2015/07/05) Modified \cs{labelName} and \cs{labelName@star} to % gobble up any spaces between arguments before we switch to \cs{obeyspaces}. +% \changes{v2.9}{2017/08/25}{Test for \string\env{attachmentNames} environment} % \begin{macrocode} \let\aeb@isFromAutoLabelNum\aebp@Zero -\def\labelName#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero +\def\attachmentNamesEnv{attachmentNames} % dps23 +% \end{macrocode} +% If \cs{labelName} is outside the \env{attachmentNames} environment, use +% \cs{defUniStr}, defined in \pkg{forms16be}. +% \changes{v2.9}{2017/08/25}{Pass control to \string\pkg{forms16be}} +% \begin{macrocode} +\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv % dps23 + \def\ap@next{\labelName@Env}\else\def\ap@next{\defUniStr}\fi\ap@next} +\def\labelName@Env#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero %dps23 \@for\x:=ABCDEFabcdef\do{\@makeother\x}% \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} % \end{macrocode} %\changes{v1.7k}{2015/08/02}{Added \cs{labelName@a}} -% (2015/08/02) \cs{autoLabelNum} used to call \cs{labelName}, not it calls +% (2015/08/02) \cs{autoLabelNum} used to call \cs{labelName}, now it calls % \cs{labelName@a}, which sets a switch to notify \cmd{\aeb@labelName} of the origins % of the call. % \begin{macrocode} @@ -3451,21 +3294,23 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% % it contents verbatim to the file \cs{jobname\_xref.cut} and inputs it back in. Child files can input this % file to get the labels assigned for them by the parent document. % \begin{macrocode} +\let\attachNamesEnv\@empty \newenvironment{attachmentNames}{% - \newwrite \aeb@attachments@xref - \immediate\openout \aeb@attachments@xref \jobname_xref.cut - \let\verbatim@out\aeb@attachments@xref + \newwrite \aeb@attachments@xref + \immediate\openout \aeb@attachments@xref \jobname_xref.cut + \let\verbatim@out\aeb@attachments@xref % \end{macrocode} %\changes{v1.7l}{2015/08/07}{Set \cs{ifHandleDblQuotes} to true} % (2015/08/07) Set \cs{ifHandleDblQuotes} to true, added a group. % \begin{macrocode} - \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} + \immediate\write\verbatim@out{\string\begingroup + \string\HandleDblQuotestrue^^J% + \string\def\string\attachNamesEnv{attachmentNames}}% + \verbatimwrite}{% + \endverbatimwrite + \immediate\write\verbatim@out{\string\endgroup}% + \immediate\closeout \aeb@attachments@xref + \aftergroup\aeb@Input@xref} \def\aeb@Input@xref{\InputIfFileExists{\jobname_xref.cut}{}{}} % \end{macrocode} % \end{environment} diff --git a/texmf-dist/source/latex/aeb-pro/aeb_pro.ins b/texmf-dist/source/latex/aeb-pro/aeb_pro.ins index 51ec6ecc..ae721ae4 100644 --- a/texmf-dist/source/latex/aeb-pro/aeb_pro.ins +++ b/texmf-dist/source/latex/aeb-pro/aeb_pro.ins @@ -3,7 +3,7 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 1999-2010 D. P. Story +%% Copyright 1999-2018 D. P. Story %% %% This file is part of the AcroTeX eDucation Bundle (AeB). %% ------------------------------------------- @@ -17,7 +17,7 @@ %% %% --------------- start of docstrip commands ------------------ %% -\def\filedate{2013/04/01} +\def\filedate{2018/02/17} \def\batchfile{aeb_pro.ins} \input docstrip @@ -51,7 +51,7 @@ \file{btnnanime.def}{\from{aeb_pro.dtx}{copyright,btnanime}} \file{ocganime.def}{\from{aeb_pro.dtx}{copyright,ocganime}} \file{create_icon.def}{\from{aeb_pro.dtx}{copyright,createicon}} - \file{unicodes.def}{\from{aeb_pro.dtx}{copyright,unicode}} + \file{linkto.def}{\from{aeb_pro.dtx}{copyright,unicode}} % \file{fsprodef.js}{\from{aeb_pro.dtx}{copyright,fsdefjs}} % commented out beginning with 2016/07/26 v2.2 } diff --git a/texmf-dist/source/latex/aeb-pro/doc/aebpro_man.tex b/texmf-dist/source/latex/aeb-pro/doc/aebpro_man.tex index 9799084e..0c2218fd 100644 --- a/texmf-dist/source/latex/aeb-pro/doc/aebpro_man.tex +++ b/texmf-dist/source/latex/aeb-pro/doc/aebpro_man.tex @@ -36,7 +36,7 @@ email={dpstory@acrotex.net}, subject={Documentation for {\AEBP} from AcroTeX}, talksite={\url{www.acrotex.net}}, - version={v2.8a, 2017/03/08}, + version={v2.9b, 2018/02/17}, Keywords={XMP, E4X, Adobe Acrobat, JavaScript}, copyrightStatus=True, copyrightNotice={Copyright (C) \the\year, D. P. Story}, @@ -3169,9 +3169,10 @@ a text field using unicode characters. The technique uses a combination of a recently introduced command \Com{labelName} and a new command \Com{unicodeStr}. \settowidth{\aebdimen}{\ttfamily\string\labelName\darg{\meta{label}}\darg{\meta{string}}}% -\begin{dCmd}[commandchars={!()}]{\aebdimen+2\fboxsep+2\fboxrule} -\labelName{!meta(label)}{!meta(string)} -\unicodeStr{!meta(label)} +\begin{dCmd}[commandchars={!@^}]{\aebdimen+2\fboxsep+2\fboxrule} +\labelName{!meta@label^}{!meta@string^} +\defUniStr{!meta@label^}{!meta@string^} +\unicodeStr(!meta@label^) \end{dCmd} \PD The parameter \meta{label} is a {\LaTeX}-type of label name, and \meta{string} @@ -3195,20 +3196,21 @@ before the creation of the text field. Then we can define a text field with this value as its initial value and its default value like so,\labelName{myCoolIV}{\u0022\u20AC|e^\u007B\u005Cln(17)\u007D|$\u0022} \begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] - \textField[\textSize{10}\textFont{MyriadPro-Regular} - \uDV{\unicodeStr(myCoolIV)} - \uV{\unicodeStr(myCoolIV)} - ]{myCoolIV}{1.5in}{12bp} +\textField[\textSize{10}\textFont{MyriadPro-Regular} + \DV{\unicodeStr(myCoolIV)}\V{\unicodeStr(myCoolIV)} +]{myCoolIV}{1.5in}{12bp} \end{Verbatim} -\par\smallskip The result is the field \textField[\textSize{10}\textFont{MyriadPro-Regular} - \uDV{\unicodeStr(myCoolIV)}\uV{\unicodeStr(myCoolIV)}]{myCoolIV}{1.5in}{12bp} + \DV{\unicodeStr(myCoolIV)}\V{\unicodeStr(myCoolIV)}]{myCoolIV}{1.5in}{12bp} \pushButton[\textSize{10}\textFont{MyriadPro-Regular}\CA{Reset}\A{\JS{this.resetForm(["myCoolIV"])}}]{reset}{}{12bp} -The technique uses special keys as optional arguments of -the command \cs{textField} (defined in the eforms package). The keys \cs{uDV} and \cs{uV} signal -to the eforms package that the string is given in unicode. +For version~2.9 of \pkg{aeb\_pro}, the package \pkg{forms16be} is included +when the option \opt{linktoattachments} is specified. The package gives +support to initializing form fields, as just described. In that package, +\cs{defUniStr} is defined and may be used instead of \cs{labelName}. See the +documentation and sample files of \pkg{forms16be} for more information on the +topic of initializing fields using unicode. \exPDFSrc{aebpro_ex8} The support document \texttt{aebpro\_ex8} is a short tutorial on these topics, including additional examples on creating a button and combo box that @@ -3301,6 +3303,13 @@ provides help to the document consumer. \exPDFSrc{aebpro_ex4} These topics are illustrated in the support file \texttt{aebpro\_ex4}. +\exAeBBlogPDF{tag=rollovers} Additional examples of \emph{rollover animation} using \cs{texHelp} can be found +at the \mlhref{\urlAcroTeXBlog}{{\AcroTeX} Blog} web site. + + +%See also \url{http://www.acrotex.net/blog/?p=1359} +%and \url{http://www.acrotex.net/blog/?p=1363} +%\url{http://www.acrotex.net/blog/?tag=rollovers} \subsection{Using the form field tool tip feature} diff --git a/texmf-dist/source/latex/aeb-pro/extras/robot_man.pdf b/texmf-dist/source/latex/aeb-pro/extras/robot_man.pdf new file mode 100644 index 00000000..79fe1bcd Binary files /dev/null and b/texmf-dist/source/latex/aeb-pro/extras/robot_man.pdf differ diff --git a/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty index 5bf819ed..76c534b4 100644 --- a/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty +++ b/texmf-dist/tex/latex/aeb-pro/aeb_pro.sty @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[1997/12/01] \ProvidesPackage{aeb_pro} - [2017/03/08 v2.8a aeb_pro: A support package (dps)] + [2018/02/17 v2.9b aeb_pro: A support package (dps)] \RequirePackage{ifpdf}[2006/02/20] \RequirePackage{ifxetex}[2006/08/21] \RequirePackage{xkeyval} @@ -93,13 +93,15 @@ \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.}}} +\def\@aeb@InputUnicodes{\InputIfFileExists{linkto.def}% + {\PackageInfo{aeb_pro}{Inputting code for the linktoattachments + option}}{\PackageWarning{aeb_pro}{Cannot find linkto.def. + Reinstall or refresh your file name database, as needed.}}} \let\aeb@InputUnicodes\@empty -\DeclareOptionX{linktoattachments}{% - \let\aeb@InputUnicodes\@aeb@InputUnicodes} +\DeclareOptionX{linktoattachments}{% dps23 + \let\aeb@InputUnicodes\@aeb@InputUnicodes +} +\def\ap@RequireUnicode{\RequirePackage{forms16be}} % dps23 \let\aeb@childofInput\@empty \let\aeb@childof\@empty \DeclareOptionX{childof}{\def\aeb@childof{#1}\def\aeb@childofInput{% @@ -164,10 +166,10 @@ \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 +\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, @@ -293,15 +295,20 @@ \RequirePackage{comment} \RequirePackage{calc} \RequirePackage{eso-pic} +\ifx\aeb@InputUnicodes\@empty\else\expandafter +\ap@RequireUnicode\fi% dps23 \ifpdfmarkup\else\if\aebp@uselayers1 \excludecomment{printRollover}% \excludecomment{rollover}% \fi\fi \def\aeb@IWVO{\immediate\write\verbatim@out} \newsavebox{\aebsavehelp} +\definecolor{webblue}{rgb}{0,0,.8} +\newcommand{\pdfHelpIndicatorColor}{webblue} \newcommand{\pdfHelpIndicator}[1]{#1\thinspace${}^{\mbox {\footnotesize\negthinspace\ding{109}}% - \raisebox{.225ex}{\llap{\color{webblue}\tiny?\hspace{1.3ex}}}}$} + \raisebox{.225ex}{\llap{\color{\pdfHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} \def\pdfHelpCnt{0} \newcommand{\pdfHelp}{\@ifstar{{\count0=\pdfHelpCnt\relax \advance\count0by1\relax\xdef\pdfHelpCnt{\the\count0 }}% diff --git a/texmf-dist/tex/latex/aeb-pro/aeblayers.def b/texmf-dist/tex/latex/aeb-pro/aeblayers.def index ba716796..d879db39 100644 --- a/texmf-dist/tex/latex/aeb-pro/aeblayers.def +++ b/texmf-dist/tex/latex/aeb-pro/aeblayers.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% @@ -75,9 +75,11 @@ function getLayerState(name) { return ( oLayer != null ) ? oLayer.state : null; } \end{insDLJS} +\newcommand{\texHelpIndicatorColor}{webblue} \newcommand{\texHelpIndicator}[1]{#1\thinspace${}^{\mbox {\footnotesize\negthinspace\ding{109}}\raisebox{.225ex} - {\llap{\color{webblue}\tiny?\hspace{1.3ex}}}}$} + {\llap{\color{\texHelpIndicatorColor}% + \tiny?\hspace{1.3ex}}}}$} \newcommand{\addJStexHelpEnter}[1]{\def\aebp@addJStexHelpEnter{\r#1}} \newcommand{\addJStexHelpExit}[1]{\def\aebp@addJStexHelpExit{\r#1}} \newcommand{\resetaddJStexHelp}{% @@ -85,12 +87,15 @@ function getLayerState(name) { \let\aebp@addJStexHelpExit\@empty } \resetaddJStexHelp -\newcommand{\texHelp}[2]{% +\newif\iftexhelptoggleOff \texhelptoggleOfftrue +\newcommand{\texHelp}{\@ifstar{\texhelptoggleOfffalse\texHelp@i} + {\texhelptoggleOfftrue\texHelp@i}} +\newcommand{\texHelp@i}[2]{% \let\rollormargstring\texorpdfstring \sbox{\aebsavehelp}{\texHelpIndicator{#2}}% \makebox[0pt][l]{\pushButton[\S{S}\BG{}\BC{}\H{N} \AA{\AAMouseEnter{\JS{toggleHelp("#1");\aebp@addJStexHelpEnter}}% - \AAMouseExit{\JS{toggleHelp("#1");\aebp@addJStexHelpExit}}}]{#1}% + \AAMouseExit{\JS{\iftexhelptoggleOff toggleHelp("#1");\fi\aebp@addJStexHelpExit}}}]{#1}% {\wd\aebsavehelp}{\ht\aebsavehelp+\dp\aebsavehelp}}% \usebox{\aebsavehelp}\resetaddJStexHelp \let\rollormargstring\@gobbletwo diff --git a/texmf-dist/tex/latex/aeb-pro/aebpro.def b/texmf-dist/tex/latex/aeb-pro/aebpro.def index a94a39a8..21e4be9b 100644 --- a/texmf-dist/tex/latex/aeb-pro/aebpro.def +++ b/texmf-dist/tex/latex/aeb-pro/aebpro.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/aeb-pro/anime_support.def b/texmf-dist/tex/latex/aeb-pro/anime_support.def index 7fe42aae..2a2646f0 100644 --- a/texmf-dist/tex/latex/aeb-pro/anime_support.def +++ b/texmf-dist/tex/latex/aeb-pro/anime_support.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/aeb-pro/btnnanime.def b/texmf-dist/tex/latex/aeb-pro/btnnanime.def index 6ad8a889..c98c9fae 100644 --- a/texmf-dist/tex/latex/aeb-pro/btnnanime.def +++ b/texmf-dist/tex/latex/aeb-pro/btnnanime.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/aeb-pro/create_icon.def b/texmf-dist/tex/latex/aeb-pro/create_icon.def index 2803e09f..acdfb6e0 100644 --- a/texmf-dist/tex/latex/aeb-pro/create_icon.def +++ b/texmf-dist/tex/latex/aeb-pro/create_icon.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/aeb-pro/linkto.def b/texmf-dist/tex/latex/aeb-pro/linkto.def new file mode 100644 index 00000000..a54d9508 --- /dev/null +++ b/texmf-dist/tex/latex/aeb-pro/linkto.def @@ -0,0 +1,264 @@ +%% +%% This is file `linkto.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aeb_pro.dtx (with options: `copyright,unicode') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aeb_pro.sty package, %% +%% Copyright (C) 2006--2018 D. P. Story %% +%% dpstory@acrotex.net %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1.2 of %% +%% the License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\define@key{ahref}{page}[0]{\def\ahref@page{#1}} +\def\ahref@page{0} +\def\ap@fslash{/} +\def\@isfirstslash#1#2\@nil{\def\arg@i{#1}\ifx\ap@fslash\arg@i + \else\edef\ahref@view@keyvalue{/\ahref@view@keyvalue}\fi} +\define@key{ahref}{view}[/Fit]{\edef\ahref@view@keyvalue{#1}% + \expandafter\@isfirstslash\ahref@view@keyvalue\@nil +} +\def\ahref@view@keyvalue{/Fit} +\define@key{ahref}{dest}[]{\def\ahref@dest{#1}} +\let\ahref@dest\@empty +\define@choicekey{ahref}{open}[\val\nr]{userpref,new,existing} +{% + \ifcase\nr\relax + \let\ahref@open@keyvalue\@empty\or + \def\ahref@open@keyvalue{/NewWindow true }\or + \def\ahref@open@keyvalue{/NewWindow false }\fi +}{} +\let\ahref@open@keyvalue\@empty +\define@choicekey{ahref}{border}[\val\nr]{visible,invisible} +{% + \ifcase\nr\relax + \def\ahref@border{0 0 1}% + \def\ahef@invisible@border{1}\or + \def\ahref@border{0 0 0}% W = 0 also? + \let\ahef@invisible@border\@empty\fi +}{} +\define@choicekey{ahref}{highlight}[\val\nr]{none,invert,outline,insert} +{% + \ifcase\nr\relax + \let\ahref@highlight\@empty\or + \def\ahref@highlight{/H/I}\or + \def\ahref@highlight{/H/O}\or + \def\ahref@highlight{/H/P}\fi +}{} +\define@key{ahref}{bordercolor}[]{\def\ap@argi{#1}\ifx\ap@argi\@empty + \let\ahref@bordercolor\@empty\else + \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} + {\ahref@bordercolor}{}{}} + {\edef\ahref@bordercolor{#1}}\fi +} % PDF color +\let\ahref@bordercolor\@empty +\define@choicekey{ahref}{linestyle}[\val\nr]{solid,dashed,underlined} +{% + \ifcase\nr\relax + \def\ahref@linestyle@keyvalue{/S/S}\or + \def\ahref@linestyle@keyvalue{/S/D}\or % Dashed [0 0 1[3.0]] + \def\ahref@linestyle@keyvalue{/S/U}\fi +} +\def\ahref@dashedlinetyle{/S/D} +\define@choicekey{ahref}{linewidth}[\val\nr]{thin,medium,thick} +{% + \ifcase\nr\relax + \def\ahref@linewidth{1}\or + \def\ahref@linewidth{2}\or + \def\ahref@linewidth{3}\fi +} +\define@choicekey{ahref}{goto}[\val\nr]{p2c,c2p,c2c} +{% + \ifcase\nr\relax + \global\let\targetDictionary\targetDictionary@pc\or + \global\let\targetDictionary\targetDictionary@cp\or + \global\let\targetDictionary\targetDictionary@cc\fi +}{} +\define@choicekey{ahref}{launch}[\val\nr]{save,view,viewnosave} + {\edef\ahref@launch@type{\nr}}{} +\def\ahref@launch@type{0}% +\define@key{ahref}{preset}[]{\def\ahref@preset{#1}} +\let\ahref@preset\@mpty +\def\ahypertxtcolor#1{\def\ahrefcolor{#1}} +\def\ahrefcolor{red} +\define@key{ahref}{textcolor}[]{\def\ahrefcolor{#1}} +\def\targetDictionary@pc#1{/T</R/C>>} +\def\targetDictionary@cp#1{/T<>} +\def\targetDictionary@cc#1{% +/T</R/C>>>>} +\def\factory@ahyperref@defaults{goto=p2c,page,dest,open=userpref,view,% + border=invisible,highlight=invert,linestyle=solid,linewidth=thin,% + bordercolor,textcolor=red,preset} +\newcommand{\setahyperDefaults}[1]{\def\aeb@setahyperrefDefaults{#1}} +\let\aeb@setahyperrefDefaults\@empty +\newcommand{\resetahyperDefaults}{% + \let\aeb@setahyperrefDefaults\@empty} +\def\aeb@initahref#1{% + \edef\expand@setkeys{% + \noexpand\setkeys{ahref}{\factory@ahyperref@defaults}}% + \expand@setkeys + \ifx\aeb@setahyperrefDefaults\@empty\else + \edef\expand@setkeys{\noexpand\setkeys{ahref}% + [dest,goto,page,preset]{\aeb@setahyperrefDefaults}}% + \expand@setkeys + \fi + \setkeys{ahref}{#1}% + \ifx\ahref@preset\@empty\else + \edef\expand@setkeys{\noexpand + \setkeys{ahref}{\ahref@preset}}\expand@setkeys\fi + \let\ahref@dasharray\@empty + \ifx\ahref@linestyle@keyvalue\ahref@dashedlinetyle + \def\aeb@border@parameters{0 0 \ahref@linewidth[3.0]}% + \def\ahref@dasharray{/D[3.0]}% + \else + \edef\aeb@border@parameters{\ahref@border}% + \fi + \ifx\ahef@invisible@border\@empty\def\ahref@linewidth{0}\fi + \def\ahref@BS@Dict{/BS<<% + \ahref@dasharray\ahref@linestyle@keyvalue/W \ahref@linewidth>> + \ifx\ahref@bordercolor\@empty\else + /C[\ahref@bordercolor]\fi\ahref@highlight}% +} +\newcommand{\ahyperref}[3][]{\begingroup + \dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahref@dest\@empty + \def\ahref@dest@keyvalue{% + /D[\ahref@page\space\ahref@view@keyvalue]}% + \else + \edef\ahref@dest@keyvalue{/D(\labelRef{\ahref@dest})}% + \fi + \aeb@ahref@setlink{#2}{#3}% +} +\newcommand{\ahyperlink}[3][]{\begingroup + \dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahref@dest\@empty + \def\ahref@dest@keyvalue{% + /D[\ahref@page\space\ahref@view@keyvalue]}% + \else + \def\ahref@dest@keyvalue{/D(\ahref@dest)}% + \fi + \aeb@ahref@setlink{#2}{#3}% +} +\def\aeb@ahref@setlink#1#2{% + \ifx\ahrefcolor\@empty + \@eqlinktxtcolor{}\let\ahypercolor\@empty\else + \def\ahypercolor{\textcolor{\ahrefcolor}}\fi + \setLink[\Border{\aeb@border@parameters}% + \rawPDF{\ahref@BS@Dict}% + \A{\ahref@dest@keyvalue/S/GoToE% + \ahref@open@keyvalue\targetDictionary{#1}}]{\ahypercolor{#2}}% + \endgroup +} +\newcommand{\ahyperextract}[3][]{\begingroup\dl@preProcDefns + \def\u{\string\\u}% + \aeb@initahref{#1}% + \ifx\ahrefcolor\@empty + \@eqlinktxtcolor{}\let\ahypercolor\@empty\else + \def\ahypercolor{\textcolor{\ahrefcolor}}\fi + \setLink[\Border{\aeb@border@parameters}% + \rawPDF{\ahref@BS@Dict}% + \A{\JS{this.exportDataObject({cName: "#2",% +nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% + \endgroup +} +\begingroup\catcode`\"=\active \gdef\DQ{\string\"}% + \gdef\@handledblquotes{\catcode`\"=\active\def"{\DQ}}% + \toks0=\expandafter{\DLspecialDefs\@handledblquotes}% + \xdef\DLspecialDefs{\the\toks0}% +\endgroup +\newif\ifHandleDblQuotes \HandleDblQuotesfalse +\def\sanitize@attach{\ifHandleDblQuotes\@handledblquotes\fi% +\@makeother\#\@makeother\$\@makeother\%\@makeother~} +{\obeyspaces\gdef\getdscrptCont#1{\gdef\aebp@description{#1}% +\aeb@labelName}% +\gdef\getdscrptStrCont#1{\gdef\aebp@description{#1}% +\aeb@labelNamestar}}% +\let\aeb@isFromAutoLabelNum\aebp@Zero +\def\attachmentNamesEnv{attachmentNames} % dps23 +\def\labelName{\ifx\attachNamesEnv\attachmentNamesEnv % dps23 + \def\ap@next{\labelName@Env}\else\def\ap@next{\defUniStr}\fi\ap@next} +\def\labelName@Env#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@Zero %dps23 + \@for\x:=ABCDEFabcdef\do{\@makeother\x}% + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} +\def\labelName@a#1{\bgroup\let\aeb@isFromAutoLabelNum\aebp@One + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@i}{}} +\def\labelName@i{\obeyspaces\sanitize@attach\getdscrptCont}% +\def\labelName@star#1{\bgroup\@for\x:=ABCDEFabcdef\do{\@makeother\x}% + \def\aebp@labelname{#1}\@ifnextchar\bgroup{\labelName@star@i}{}}% +\def\labelName@star@i{\obeyspaces\sanitize@attach\getdscrptStrCont}% +\newcommand{\autolabelNum}{% + \@ifstar{\aeb@autoLabelNumstar}{\aeb@autoLabelNum}} +\newcommand\aeb@autoLabelNum[2][]{\def\alnargi{#1}% + \def\@thisattachnum{#2}% + \ifx\alnargi\@empty + \def\aeb@next{% + \labelName@a{attach#2}{AeB\space Attachment\space #2}}% + \else + \def\aeb@next{% + \labelName@a{#1}{AeB\space Attachment\space #2}}% + \fi + \aeb@next% +} +\newcommand{\aeb@autoLabelNumstar}[2][]{% + \def\alnargi{#1}\gdef\@thisattachnum{#2}% + \ifx\alnargi\@empty\def\aeb@next{\labelName@star{attach#2}}\else + \def\aeb@next{\labelName@star{#1}}\fi + \aeb@next% +} +\def\aeb@labelName{% + \if\aeb@isFromAutoLabelNum\aebp@One + \global\csarg\let + {aeb@aDescript@attach\@thisattachnum}\aebp@description + \global\csarg\let + {aeb@aName@attach\@thisattachnum}\aebp@labelname + \else + \global\csarg\let + {aeb@aDescript@\aebp@labelname}\aebp@description + \global\csarg\let + {aeb@aName@\aebp@labelname}\aebp@labelname\fi\egroup} +\def\aeb@labelNamestar{% + \global\csarg\let + {aeb@aDescript@attach\@thisattachnum}\aebp@description + \global\csarg\let{aeb@aName@attach\@thisattachnum}\aebp@labelname + \global\csarg\let{aeb@aDescript@\aebp@labelname}\aebp@description + \global\csarg\let{aeb@aName@\aebp@labelname}\aebp@labelname\egroup} +\@ifpackageloaded{exerquiz}{} +{% + \def\verbatimwrite{\@bsphack + \let\do\@makeother\dospecials + \catcode`\^^M\active\catcode`\^^I=12% + \def\verbatim@processline{% + \immediate\write\verbatim@out + {\the\verbatim@line}}% + \verbatim@start} + \def\endverbatimwrite{\@esphack} +} +\let\attachNamesEnv\@empty +\newenvironment{attachmentNames}{% + \newwrite \aeb@attachments@xref + \immediate\openout \aeb@attachments@xref \jobname_xref.cut + \let\verbatim@out\aeb@attachments@xref + \immediate\write\verbatim@out{\string\begingroup + \string\HandleDblQuotestrue^^J% + \string\def\string\attachNamesEnv{attachmentNames}}% + \verbatimwrite}{% + \endverbatimwrite + \immediate\write\verbatim@out{\string\endgroup}% + \immediate\closeout \aeb@attachments@xref + \aftergroup\aeb@Input@xref} +\def\aeb@Input@xref{\InputIfFileExists{\jobname_xref.cut}{}{}} +\endinput +%% +%% End of file `linkto.def'. diff --git a/texmf-dist/tex/latex/aeb-pro/ocganime.def b/texmf-dist/tex/latex/aeb-pro/ocganime.def index 3545c775..554d70ab 100644 --- a/texmf-dist/tex/latex/aeb-pro/ocganime.def +++ b/texmf-dist/tex/latex/aeb-pro/ocganime.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% aeb_pro.sty package, %% -%% Copyright (C) 2006--2017 D. P. Story %% +%% Copyright (C) 2006--2018 D. P. Story %% %% dpstory@acrotex.net %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/aeb-pro/unicodes.def b/texmf-dist/tex/latex/aeb-pro/unicodes.def deleted file mode 100644 index 2aa091f7..00000000 --- a/texmf-dist/tex/latex/aeb-pro/unicodes.def +++ /dev/null @@ -1,380 +0,0 @@ -%% -%% This is file `unicodes.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% aeb_pro.dtx (with options: `copyright,unicode') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% aeb_pro.sty package, %% -%% Copyright (C) 2006--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. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\define@key{ahref}{page}[0]{\def\ahref@page{#1}} -\def\ahref@page{0} -\def\ap@fslash{/} -\def\@isfirstslash#1#2\@nil{\def\arg@i{#1}\ifx\ap@fslash\arg@i - \else\edef\ahref@view@keyvalue{/\ahref@view@keyvalue}\fi} -\define@key{ahref}{view}[/Fit]{\edef\ahref@view@keyvalue{#1}% - \expandafter\@isfirstslash\ahref@view@keyvalue\@nil -} -\def\ahref@view@keyvalue{/Fit} -\define@key{ahref}{dest}[]{\def\ahref@dest{#1}} -\let\ahref@dest\@empty -\define@choicekey{ahref}{open}[\val\nr]{userpref,new,existing} -{% - \ifcase\nr\relax - \let\ahref@open@keyvalue\@empty\or - \def\ahref@open@keyvalue{/NewWindow true }\or - \def\ahref@open@keyvalue{/NewWindow false }\fi -}{} -\let\ahref@open@keyvalue\@empty -\define@choicekey{ahref}{border}[\val\nr]{visible,invisible} -{% - \ifcase\nr\relax - \def\ahref@border{0 0 1}% - \def\ahef@invisible@border{1}\or - \def\ahref@border{0 0 0}% W = 0 also? - \let\ahef@invisible@border\@empty\fi -}{} -\define@choicekey{ahref}{highlight}[\val\nr]{none,invert,outline,insert} -{% - \ifcase\nr\relax - \let\ahref@highlight\@empty\or - \def\ahref@highlight{/H/I}\or - \def\ahref@highlight{/H/O}\or - \def\ahref@highlight{/H/P}\fi -}{} -\define@key{ahref}{bordercolor}[]{\def\ap@argi{#1}\ifx\ap@argi\@empty - \let\ahref@bordercolor\@empty\else - \HyColor@IfXcolor{\HyColor@XZeroOneThreeFour{#1} - {\ahref@bordercolor}{}{}} - {\edef\ahref@bordercolor{#1}}\fi -} % PDF color -\let\ahref@bordercolor\@empty -\define@choicekey{ahref}{linestyle}[\val\nr]{solid,dashed,underlined} -{% - \ifcase\nr\relax - \def\ahref@linestyle@keyvalue{/S/S}\or - \def\ahref@linestyle@keyvalue{/S/D}\or % Dashed [0 0 1[3.0]] - \def\ahref@linestyle@keyvalue{/S/U}\fi -} -\def\ahref@dashedlinetyle{/S/D} -\define@choicekey{ahref}{linewidth}[\val\nr]{thin,medium,thick} -{% - \ifcase\nr\relax - \def\ahref@linewidth{1}\or - \def\ahref@linewidth{2}\or - \def\ahref@linewidth{3}\fi -} -\define@choicekey{ahref}{goto}[\val\nr]{p2c,c2p,c2c} -{% - \ifcase\nr\relax - \global\let\targetDictionary\targetDictionary@pc\or - \global\let\targetDictionary\targetDictionary@cp\or - \global\let\targetDictionary\targetDictionary@cc\fi -}{} -\define@choicekey{ahref}{launch}[\val\nr]{save,view,viewnosave} - {\edef\ahref@launch@type{\nr}}{} -\def\ahref@launch@type{0}% -\define@key{ahref}{preset}[]{\def\ahref@preset{#1}} -\let\ahref@preset\@mpty -\def\ahypertxtcolor#1{\def\ahrefcolor{#1}} -\def\ahrefcolor{red} -\define@key{ahref}{textcolor}[]{\def\ahrefcolor{#1}} -\def\targetDictionary@pc#1{% -/T</R/C>>} -\def\targetDictionary@cp#1{/T<>} -\def\targetDictionary@cc#1{% -/T</R/C>>>>} -\def\factory@ahyperref@defaults{goto=p2c,page,dest,open=userpref,view,% - border=invisible,highlight=invert,linestyle=solid,linewidth=thin,% - bordercolor,textcolor=red,preset} -\newcommand{\setahyperDefaults}[1]{\def\aeb@setahyperrefDefaults{#1}} -\let\aeb@setahyperrefDefaults\@empty -\newcommand{\resetahyperDefaults}{% - \let\aeb@setahyperrefDefaults\@empty} -\def\aeb@initahref#1{% - \edef\expand@setkeys{% - \noexpand\setkeys{ahref}{\factory@ahyperref@defaults}}% - \expand@setkeys - \ifx\aeb@setahyperrefDefaults\@empty\else - \edef\expand@setkeys{\noexpand\setkeys{ahref}% - [dest,goto,page,preset]{\aeb@setahyperrefDefaults}}% - \expand@setkeys - \fi - \setkeys{ahref}{#1}% - \ifx\ahref@preset\@empty\else - \edef\expand@setkeys{% - \noexpand\setkeys{ahref}{\ahref@preset}}\expand@setkeys\fi - \let\ahref@dasharray\@empty - \ifx\ahref@linestyle@keyvalue\ahref@dashedlinetyle - \def\aeb@border@parameters{0 0 \ahref@linewidth[3.0]}% - \def\ahref@dasharray{/D[3.0]}% - \else - \edef\aeb@border@parameters{\ahref@border}% - \fi - \ifx\ahef@invisible@border\@empty\def\ahref@linewidth{0}\fi - \def\ahref@BS@Dict{/BS<<% - \ahref@dasharray\ahref@linestyle@keyvalue/W \ahref@linewidth>> - \ifx\ahref@bordercolor\@empty\else - /C[\ahref@bordercolor]\fi\ahref@highlight}% -} -\newcommand{\ahyperref}[3][]{% - \begingroup - \dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahref@dest\@empty - \def\ahref@dest@keyvalue{% - /D[\ahref@page\space\ahref@view@keyvalue]}% - \else - \edef\ahref@dest@keyvalue{/D(\labelRef{\ahref@dest})}% - \fi - \aeb@ahref@setlink{#2}{#3}% -} -\newcommand{\ahyperlink}[3][]{% - \begingroup - \dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahref@dest\@empty - \def\ahref@dest@keyvalue{% - /D[\ahref@page\space\ahref@view@keyvalue]}% - \else - \def\ahref@dest@keyvalue{/D(\ahref@dest)}% - \fi - \aeb@ahref@setlink{#2}{#3}% -} -\def\aeb@ahref@setlink#1#2{% - \ifx\ahrefcolor\@empty - \@eqlinktxtcolor{}\let\ahypercolor\@empty\else - \def\ahypercolor{\textcolor{\ahrefcolor}}\fi - \setLink[\Border{\aeb@border@parameters}% - \rawPDF{\ahref@BS@Dict}% - \A{\ahref@dest@keyvalue/S/GoToE% - \ahref@open@keyvalue\targetDictionary{#1}}]{\ahypercolor{#2}}% - \endgroup -} -\newcommand{\ahyperextract}[3][] -{% - \begingroup\dl@preProcDefns - \def\u{\string\\u}% - \aeb@initahref{#1}% - \ifx\ahrefcolor\@empty - \@eqlinktxtcolor{}\let\ahypercolor\@empty\else - \def\ahypercolor{\textcolor{\ahrefcolor}}\fi - \setLink[\Border{\aeb@border@parameters}% - \rawPDF{\ahref@BS@Dict}% - \A{\JS{this.exportDataObject({cName: "#2",% -nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}% - \endgroup -} -\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'. -- cgit v1.2.3