summaryrefslogtreecommitdiff
path: root/texmf-dist/tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2018-09-13 10:30:12 +0900
committerNorbert Preining <norbert@preining.info>2018-09-13 10:30:12 +0900
commit540647baf7d7dbdd6a7c355f920fcf90bd296c65 (patch)
treeeb933cbdb22a0fa4ae9a7044f6d9047bc85d7d54 /texmf-dist/tex
parent26f4947f509c2440ce28e625133a15f6a2446920 (diff)
aeb-mlink update
Diffstat (limited to 'texmf-dist/tex')
-rw-r--r--texmf-dist/tex/latex/aeb-mlink/aeb-mlink.sty57
-rw-r--r--texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty1798
2 files changed, 956 insertions, 899 deletions
diff --git a/texmf-dist/tex/latex/aeb-mlink/aeb-mlink.sty b/texmf-dist/tex/latex/aeb-mlink/aeb-mlink.sty
index 9064bb26..e827b392 100644
--- a/texmf-dist/tex/latex/aeb-mlink/aeb-mlink.sty
+++ b/texmf-dist/tex/latex/aeb-mlink/aeb-mlink.sty
@@ -1,28 +1,29 @@
-%%
-%% This is file `aeb-mlink.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% aeb_mlink.dtx (with options: `copyright,altpkgname')
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% aeb_mlink.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 of the %%
-%% License, or (at your option) any later version. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{aeb-mlink}
- [2018/04/26 v1.0 AeB MLink Alt-name (dps)]
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{aeb_mlink}}
-\ProcessOptions
-\RequirePackage{aeb_mlink}[2018/03/22]
-\endinput
-%%
-%% End of file `aeb-mlink.sty'.
+%%
+%% This is file `aeb-mlink.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% aeb_mlink.dtx (with options: `copyright,altpkgname')
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% aeb_mlink.sty package, %%
+%% Copyright (C) 2006--2018 D. P. Story %%
+%% dpstory@acrotex.net %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of %%
+%% the License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{xkeyval}
+\ProvidesPackage{aeb-mlink}
+ [2018/04/26 v1.0 AeB MLink Alt-name (dps)]
+\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{aeb_mlink}}
+\ProcessOptionsX
+\RequirePackage{aeb_mlink}[2018/08/18]
+\endinput
+%%
+%% End of file `aeb-mlink.sty'.
diff --git a/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty b/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty
index 479b2cc8..73f8c6b2 100644
--- a/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty
+++ b/texmf-dist/tex/latex/aeb-mlink/aeb_mlink.sty
@@ -1,871 +1,927 @@
-%%
-%% 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, %%
-%% 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 of the %%
-%% License, or (at your option) any later version. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{aeb_mlink}
- [2018/04/26 v2.3 AeB MLink (dps)]
-\RequirePackage{xkeyval}
-\RequirePackage{ifpdf}[2006/02/20]
-\RequirePackage{ifxetex}[2006/08/21]
-\newif\if@ml@dvips \@ml@dvipstrue
-\def\mlcsarg#1#2{\expandafter#1\csname#2\endcsname}
-\DeclareOptionX{dvipsone}{\def\eq@drivernum{0}\@ml@dvipsfalse
- \PassOptionsToPackage{dvipsone}{eforms}
- \PassOptionsToPackage{dvipsone}{hyperref}
-}
-\DeclareOptionX{dvips}{\def\eq@drivernum{0}\@ml@dvipstrue
- \PassOptionsToPackage{dvips}{eforms}
- \PassOptionsToPackage{dvips}{hyperref}
-}
-\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{eforms}}
-\newcount\mldblevel \mldblevel=0
-\define@key{aeb_mlink.sty}{dblevel}[0]{\mldblevel=#1 }
-\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
- \let\ExecuteOptions@SAVE\ExecuteOptions
- \let\ExecuteOptions\ExecuteOptionsX
- \InputIfFileExists{web.cfg}{}
- {\@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{dvips}}
- {\ExecuteOptionsX{dvipsone}}}%
- \let\ExecuteOptions\ExecuteOptions@SAVE
-\fi\fi
-\ProcessOptionsX
-\RequirePackage{hyperref}
-\RequirePackage{refcount}
-\RequirePackage{eforms}[2018/03/22]
-\RequirePackage{soul}
-\def\ps@mark{[\space}
-\ifnum\mldblevel>0
- \def\mlpgMsg{(\string\n Beginning of page: ) pf
- PhysicalPage 20 string cvs
- pf(\string\n)pf}\else
- \def\mlpgMsg{}\fi
-\def\pgmonitoring{\if@ml@dvips
- dup /PhysicalPage exch 1 add def
- /PhysicalPage PhysicalPage def^^J\fi
- \mlpgMsg
-}
-\def\smallRectTF{\ifoldstylequads false\else
- \iffixmlinks true\else false\fi\fi\space
- \ifSmallRect true\else false\fi\space and}
-\def\mllnkcontainer#1{bCreateLink { xoMsgB {
- \smallRectTF\space mlRectFix^^J%
- #1}if}{\the\aeb@mLinkCnt\space mlIsBldMsg}ifelse}
-\def\pboxRect{mlRect }
-\if@ml@dvips
-\def\mlDict{SDict}
-\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^^J% % sp to dots
- /PhysicalPage 0 def^^J%
- /PageHeight {vsize} def^^J%
- /PDFtoTeX {PDFtoDvips} def^^J%
- /pf{print flush}def^^J%
- /bop-hook{ \pgmonitoring\space } def
-end}
-
-\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
-\def\mlDict{dvidict}
-\special{!/TeXtoPDF {65536 div mag 1000 div mul} def
- /PDFtoTeX {65536 mul mag 1000 div div} def^^J%
- /pf{print flush}def^^J%
- /bphook{ \pgmonitoring\space } def^^J%
-}
-\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
-\newif\ifmllinktotalchanged\mllinktotalchangedfalse
-\newif\ifSmallRect \SmallRecttrue
-\AtEndDocument{\wrtmlinktot@l\ckchngmlinktot@l\wrt@linksnotformed}
-\def\wrt@linksnotformed{\iflinknotformed
- \PackageWarningNoLine{aeb_mlinks}{Some link calculations are not
- complete.\MessageBreak
- DO NOT CONVERT TO PDF at this time. Compile at \MessageBreak
- least twice more}\fi}
-\def\wrtmlinktot@l{\immediate\write\@auxout{\string\gdef
- \string\mlinkstotal{\the\aeb@mLinkCnt}}}
-\def\ckchngmlinktot@l{\@ifundefined{mlinkstotal}{}
- {\ml@mlinktot@l@changed}}
-\def\ml@mlinktot@l@changed{%
- \ifnum\mlinkstotal=\the\aeb@mLinkCnt\relax\else
- \PackageWarningNoLine{aeb_mlink}{The number of links has
- changed. Compile again\MessageBreak until this message
- does not appear}\immediate
- \write\@auxout{\string\mllinktotalchangedtrue}\fi
-}
-\def\ml@mllinktotalchanged{\ifmllinktotalchanged
- \PackageWarningNoLine{aeb_mlink}
- {The number of links has changed, continue\MessageBreak
- to compile}\fi}
-\AtBeginDocument{\ml@mllinktotalchanged}
-\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}%
-}
-\newif\ifoldstylequads \oldstylequadsfalse
-\def\OldStyleBoxesOn{\mlfixOff\oldstylequadstrue}
-\def\OldStyleBoxesOff{\oldstylequadsfalse}
-\@onlypreamble\OldStyleBoxesOn
-\@onlypreamble\OldStyleBoxesOff
-\let\mlh@preambleCmdInsert\relax
-\def\mlcs#1{\texttt{\@backslashchar#1}}
-\bgroup\@makeother\%
-\gdef\CMT#1{ %\space #1}\egroup
-\def\mldbModeOn{\def\mldb##1##2{##2}}
-\def\mldbModeOff{\def\mldb##1##2{}}
-\def\mldb#1#2{\ifnum#1<\mldblevel#2\fi}
-\def\ml@adj@x{2}\def\ml@adj@y{2}
-\AtBeginDvi{\special{!%
-/bCreateLink true def
-/mlIsBld 17 def
-/mlIsBldMsg {
- /lnkCnt exch def
- (\string\n!! mLink)pf
- lnkCnt 20 string cvs pf
- ( is not completely formed,
- compile again!!\string\n)pf
-} def
-/xoMsgB true def^^J%
-/xoMsg {^^J%
- /lnkCnt exch def^^J%
- /Indx exch def^^J%
- /nSyllable Indx 8 div def^^J% dpsa08
- (!!------------------------------------------------------------------%
- \string\n Warning:\string\n
- The text of mLink)pf
- lnkCnt 20 string cvs pf
- ( has crossed a page boundary from page )pf
- PhysicalPage 1 sub 10 string cvs pf
- ( to ) pf PhysicalPage 10 string cvs pf
- (.\string\n Cross page links are not supported by the
- PDF Specification)pf
- (.\string\n This link is not constructed,
- please fix it.\string\n) pf
- (Break point is after syllable number )pf
- nSyllable cvi 20 string cvs pf (.\string\n)pf
- (Use the \string\\mlcrackat{)pf
- nSyllable cvi 20 string cvs pf
- (} option with this link.\string\n)pf
- (!!------------------------------------------------------------------%
- \string\n)pf^^J%
-} def^^J%
-/quadpointsfixup {^^J%
- /ary exch def^^J%
- /quadL exch def^^J%
- /lnkCnt exch def^^J%
-\mldb0{(Processing mLink)pf^^J}%
-\mldb0{lnkCnt 20 string cvs pf (: OK\string\n) pf^^J}%
-quadL 0 eq {
-(Problems with this link, length=0,
- will skip the creation of this link)pf^^J%
-}{
-/gOffset 0 def^^J%
-/gY ary\space 1 gOffset add get def^^J%
-\mldb1{(gY is ) pf gY 20 string cvs print^^J}%
-\mldb1{flush (\string\n) pf^^J}%
-/gN 0 def^^J%
-/gMrk 10 array def^^J% limitation
-gMrk 0 0 put^^J%
-/gMrkL 1 gOffset add def^^J%
-\mldb2{(Begin first for\string\n) pf^^J}%
-0 8 quadL 8 sub {^^J%
- /gIndx exch def^^J%
-\mldb2{(Outside gt if with gIndx=) pf^^J}%
-\mldb2{gIndx 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
- /getEntry ary\space 1 gOffset add get def^^J%
-\mldb2{(getEntry=) pf getEntry 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
- gY getEntry sub abs 2 gt {^^J%
-\mldb2{(Inside gt if\string\n) pf^^J}%
- gMrk gMrkL gIndx put^^J%
- /gMrkL gMrkL 1 add def^^J%
- /gY getEntry def^^J%
-\mldb2{(Updating gY to )pf gY 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
-\mldb2{(gMrkL=)pf gMrkL 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
- } if^^J%
- /gOffset gOffset 8 add def^^J%
-} for^^J%
-\mldb2{(end first for\string\n) pf^^J}%
- /gAryL 8 20 mul def^^J% limitation
-\mldb2{(gAryL=) pf gAryL 20 string cvs pf^^J}%
-\mldb2{(\string\n)pf^^J}%
- /gFixup 8 gMrkL mul array def^^J%
- /gOffset 0 def^^J%
-\mldb2{(for loop: gMrkL=)pf gMrkL 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
-0 1 gMrkL 1 sub {^^J%
-\mldb2{(After gAry\string\n) pf^^J}%
-\mldb2{(Top of for loop\string\n) pf^^J}%
- /gIndx exch def^^J%
-\mldb2{(gIndx=)pf gIndx 20 string cvs pf^^J}%
-\mldb2{(\string\n)pf^^J}%
-\mldb2{(gMrk=)pf gMrk gIndx get 20 string cvs pf^^J}%
-\mldb2{(\string\n) pf^^J}%
-\mldb2{(mLinkFxup<num> length = )^^J}%
-\mldb2{pf ary\space length 20 string cvs^^J}%
-\mldb2{pf (\string\n) pf^^J}%
-gIndx 1 add gMrkL eq {^^J%
- /gCount ary\space length gMrk gIndx get sub def^^J%
-}{^^J%
- /gCount gMrk gIndx 1 add get gMrk gIndx get sub def^^J%
-} ifelse^^J%
-/gAry gAryL array def^^J%
-\mldb2{(gCount=)pf gCount 20 string cvs pf^^J}%
-\mldb2{(\string\n)pf^^J}%
-/sliceOfLinkfxup gCount array def^^J%
-sliceOfLinkfxup 0 ary gMrk gIndx get^^J%
- gCount getinterval putinterval^^J%
- gAry 0 sliceOfLinkfxup putinterval^^J%
-\mldb1{(Listing elements of gFixup\string\n) pf^^J}%
-\mldb1{gAry 0 get 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry 1 get 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry gCount 1 sub 5 sub get
- 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry gCount 1 sub 4 sub get
- 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry gCount 1 sub 3 sub get
- 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry gCount 1 sub 2 sub get
- 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry 6 get 20 string cvs pf (\string\n)pf^^J}%
-\mldb1{gAry 7 get 20 string cvs pf (\string\n)pf^^J}%
- gFixup gOffset [^^J%
- gAry 0 get ^^J% x1 ll
- gAry 1 get^^J% y1 ll
- gAry gCount 1 sub 5 sub get^^J% x2 lr
- gAry gCount 1 sub 4 sub get^^J% y2 lr
- gAry gCount 1 sub 3 sub get^^J% x3 ur
- gAry gCount 1 sub 2 sub get^^J% y3 ur
- gAry 6 get^^J% x4 ul
- gAry 7 get^^J% y4 ul
- ] putinterval^^J%
- /gOffset gOffset 8 add def^^J%
- } for^^J%
-\mldb2{(End of second for\string\n) pf^^J}%
- } ifelse
- } def^^J%
-/smallquadpointsfixup {^^J%
-/gIndx exch def^^J%
-/ary exch def^^J%
-/lnkCnt exch def^^J%
-/quadL exch def^^J%
-/gSFup 8 array def^^J%
- gSFup 0 ary 0 gIndx add get
- gIndx 0 eq {\ml@adj@x\space sub} if put^^J% x1
- gSFup 1 ary 1 gIndx add get put^^J% y1
- gSFup 2 ary 2 gIndx add get put^^J% x2
- gSFup 3 ary 3 gIndx add get put^^J% y2
- gSFup 4 ary 4 gIndx add get put^^J% x3
- gSFup 5 ary 5 gIndx add get put^^J%
- gSFup 6 ary 6 gIndx add get
- gIndx 0 eq {\ml@adj@x\space sub} if put^^J% x4
- gSFup 7 ary 7 gIndx add get put^^J%
- ary gIndx gSFup putinterval^^J%
-} def^^J%
-/mlRectFix {^^J%
-/ifRectFix exch def^^J%
-ifRectFix {
- /nL gFixup length 8 sub def^^J% number of lines
- /xMin gFixup 0 get def^^J%
- 0 8 nL {^^J%
- /Indx exch def^^J%
- gFixup Indx get xMin lt {/xMin gFixup Indx get def}if } for^^J%
- /xMin xMin 2 sub def^^J%
- /xMax gFixup 2 get def^^J%
- 2 8 nL 2 add {^^J%
- /Indx exch def^^J%
- gFixup Indx get xMax gt {/xMax gFixup Indx get def}if } for^^J%
- /xMax xMax 2 add def^^J%
- /yMin gFixup 1 get def^^J%
- 1 8 nL 1 add {^^J%
- /Indx exch def^^J%
- gFixup Indx get yMin lt {/yMin gFixup Indx get def}if } for^^J%
- /yMin yMin 4 sub def^^J%
- /yMax gFixup 5 get def^^J%
- 5 8 nL 5 add{^^J%
- /Indx exch def^^J%
- gFixup Indx get yMax gt {/yMax gFixup Indx get def}if } for^^J%
- /yMax yMax 2 add def^^J%
- /mlRect {/Rect [^^J%
- xMin 72 sub PDFtoTeX^^J%
- PageHeight 72 sub yMax sub PDFtoTeX^^J%
- xMax 72 sub PDFtoTeX^^J%
- PageHeight yMin sub 72 sub PDFtoTeX ]^^J%
- }def^^J%
-}{^^J%
- /mlRect{/Rect [ \par@@Rect ] }def^^J%
-}ifelse^^J%
-ifRectFix {
-\mldb1{(/Rect [)pf^^J%
-xMin 20 string cvs pf( )pf^^J%
-yMax 20 string cvs pf( )pf^^J%
-xMax 20 string cvs pf( )pf^^J%
-yMin 20 string cvs pf(]\string\n)pf^^J}%
-} if^^J%
-} def
-}}
-\newif\ifmlmarks\mlmarksfalse
-\def\mlMarksOn{\mlmarkstrue}
-\def\mlMarksOff{\mlmarksfalse}
-\def\ml@MrkLnk#1{\ifmlmarks\bgroup\ifdim\baselineskip=0pt
- \setbox\z@\hbox{T}\def\ml@raiseamt{\ht\z@+.4pt}\else
- \def\ml@raiseamt{.6\baselineskip}\fi\smash{\rlap{\normalcolor\bfseries
- \raisebox{\ml@raiseamt}{\tiny\strut{L#1}}}}\egroup\fi}
-\newif\iflinknotformed \linknotformedfalse
-\def\ml@underlinded{U}
-\@ifundefined{mlhypertext}{\newcommand}{\renewcommand}%
-{\mlhypertext}[2][]{\begingroup
- \toks@=\expandafter{#2}%
- \edef\ml@HytextArg{{\the\toks@}}%
- \global\aeb@arrayIndx=\z@ % dpsa08
- \def\ml@setlink##1{\setLinkPbox{%
- \QuadPoints{mLink##1}#1}}%
- \expandafter\processAppArgs\set@LinkPboxDefaults
- \presets{\ml@nocolor@defaults}\S{S}\W{0}#1\end\@nil
- \ifx\eq@S@value\ml@underlinded
- \let\itsunderline\ef@YES\else\let\itsunderline\ef@NO\fi
- \ifx\eq@mlignore\ef@YES
- \global\advance\aeb@mLinkCnt\@ne\relax
- \def\ml@next{\mlhypertext@i{#1}}\else
- \ifx\eq@mlcrackat\@empty
- \global\advance\aeb@mLinkCnt\@ne\relax
- \def\ml@next{\mlhypertext@i{#1}}%
- \else
- \edef\temp@crackAt{\noexpand
- \crackAt{\eq@mlcrackat}{\the\toks@}}\temp@crackAt
- \def\ml@next{\mlhypertext[#1\mlignore{}]{\the\mlfrstoftwo}%
- \eq@mlcrackinsat\penalty-50
- \mlhypertext[#1\mlignore{}]{\the\mlsndoftwo}\aftergroup
- \normalcolor\endgroup}%
- \fi\fi
- \ml@next
-}
-\def\mlhypertext@i#1{%
- \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{\global
- \linknotformedtrue\def\lngth{17}}
- {\edef\lngth{\@nameuse{mLinkLngth\the\aeb@mLinkCnt}}}%
- \ml@start@link{\the\aeb@mLinkCnt}{\lngth}% Step 1
- \def\mlh@preambleCmdInsert{%
- \ml@MrkLnk{\the\aeb@mLinkCnt}\ml@earlyExecProps{#1}}%
- \def\mlh@postambleCmd{\endgroup}%
- \expandafter\aeb@mlh\ml@HytextArg
- \ml@finish@link{\the\aeb@mLinkCnt}{\lngth}%
- \ml@setlink{\the\aeb@mLinkCnt}%
- \ifoldstylequads\else
- \iffixmlinks\literalps@out{restore}\fi\fi
- \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{%
- \immediate\write\@auxout{\string\mlcsarg
- \string\gdef{mLinkLngth\the\aeb@mLinkCnt}{17}}%
- }{\immediate\write\@auxout{\string\mlcsarg
- \string\gdef{mLinkLngth\the\aeb@mLinkCnt}%
- {\the\aeb@arrayIndx}}}\endgroup
-}
-\def\mlh@setQuadSyllable#1#2#3#4{%
- \setbox\aeb@bbox=\hbox{\ml@strut#4}%
- {%
- \setbox\@tempboxa\hbox{\ml@strut}%
- \ifx\itsunderline\ef@YES\@tempdima1bp\relax\else
- \@tempdima\dp\@tempboxa \ifdim\@tempdima>2bp
- \advance\@tempdima-2bp\fi
- \fi
- \dp\aeb@bbox\@tempdima
- \@tempdima\ht\@tempboxa \advance\@tempdima\dp\aeb@bbox
- \advance\@tempdima1bp
- \ht\aeb@bbox\@tempdima\def\x{\the\count\z@}%
- \count\z@=\ht\aeb@bbox\xdef\aeb@bbox@ht{\x}%
- \count\z@=\wd\aeb@bbox\xdef\aeb@bbox@wd{\x}%
- \count\z@=\dp\aeb@bbox\xdef\aeb@bbox@dp{\x}%
- }%
- \ifoldstylequads
- \literalps@out{%
- bCreateLink {^^J%
- \mlDict\space/mLinkFxup#3\space known {^^J%
- \ps@mark{mLink#3}
- \the\aeb@arrayIndx\space [\setQuadBox]
- \space /PUTINTERVAL pdfmark}{^^J%
- xoMsgB {
- /xoMsgB false def
- \the\aeb@arrayIndx\space
- #3\space
- xoMsg % dpsa08
- } if^^J% xoMsgB
- } ifelse } if
- }%
- \else
- \literalps@out{%
- bCreateLink {^^J%
- \mlDict\space/mLinkFxup#3\space known {^^J%
- mLinkFxup#3\space
- #1\space[\setQuadBox] putinterval^^J%
- #2\space %
- #3\space
- mLinkFxup#3\space
- #1\space
- smallquadpointsfixup }{^^J%
- xoMsgB {
- /xoMsgB false def
- #1\space
- #3\space
- xoMsg % dpsa08
- } if^^J% xoMsgB
- } ifelse } if
- }%
- \fi
- \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{\getrefbykeydefault{#1}{page}{??}}
-\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
- \ifx\@pdfstartview\@empty
- \def\theView{[0 /Fit]}\else
- \def\theView{[0 \@pdfstartview]}\fi
- \@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@urlbuildi
-\newbox\ml@urlbuildii
-\def\ml@SOUL@doword{%
- \global\setbox\ml@urlbuildi\hbox{}%
- \global\setbox\ml@urlbuildii\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
- \ml@interface@analyze
- \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
-}
-\def\ml@interface@analyze{%
- \global\advance\syllableCnt\@ne % dpsa11
- \setbox\@ne\hbox{\unhbox\@ne}%
- \ifx\eq@mlcrackat\@empty
- \ml@bld@quadchunks{\the\aeb@mLinkCnt}
- {\ml@qlngthchunki}{\ml@urlbuildi}%
- \else
- \ifnum\syllableCnt=\revCrackAt\relax
- \aeb@arrayIndx=\z@
- \ml@start@link{\the\aeb@mLinkCnt}{\ml@qlngthchunki}%
- \ml@bld@quadchunks{\the\aeb@mLinkCnt}
- {\ml@qlngthchunki}{\ml@urlbuildi}%
- \else
- \ifnum\syllableCnt>\revCrackAt\relax
- \ml@bld@quadchunks{\the\aeb@mLinkCnt}
- {\ml@qlngthchunki}{\ml@urlbuildi}%
- \else
- \ifnum\syllableCnt=\@ne
- \aeb@arrayIndx=\z@
- \ml@start@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
- \ml@bld@quadchunks{\aeb@mLinkCnt@}
- {\ml@qlngthchunkii}{\ml@urlbuildii}%
- \else
- \ml@bld@quadchunks{\aeb@mLinkCnt@}
- {\ml@qlngthchunkii}{\ml@urlbuildii}%
- \fi
- \fi
- \fi
- \fi
-}
-\def\ml@bld@quadchunks#1#2#3{{%
- \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}
- {\edef\@indx{\the\aeb@arrayIndx}}
- {\@tempcnta#2\relax
- \advance\@tempcnta-8\relax
- \advance\@tempcnta-\aeb@arrayIndx
- \def\@indx{\the\@tempcnta}%
- }%
- \global\setbox#3=\hbox{%
- \mlh@setQuadSyllable{\@indx}{#2}{#1}{\unhcopy\@ne}%
- \hbox{\unhcopy\@ne}\penalty0\unhcopy#3}%hbox
-}}
-\newcommand{\mlurl}{\begingroup\@makeother\~\relax% \def~{\string~}%
- \ef@sanitize@toks\mlurl@}
-\newcommand{\mlurl@}[2][]{\@ifundefined{ef@thislinkcolor}
- {\let\ef@thislinkcolor\normalcolor}{}\expandafter
- \def\expandafter\ef@thislinkcolor@SAVE
- \expandafter{\ef@thislinkcolor}%
- \def\ml@setlink##1{\setLinkPbox{\A{\URI{#2}}%
- \QuadPoints{mLink##1}#1}}%
- \expandafter\processAppArgs\set@LinkPboxDefaults
- \presets{\ml@nocolor@defaults}\S{S}\W{0}#1\end\@nil
- \ifx\eq@S@value\ml@underlinded
- \let\itsunderline\ef@YES\else\let\itsunderline\ef@NO\fi
- \global\aeb@arrayIndx=0\relax
- \global\syllableCnt=0\relax
- \global\advance\aeb@mLinkCnt\@ne\relax
- \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{%
- \global\linknotformedtrue\def\lngth{17}%
- \def\ml@qlngthchunki{17}}
- {\@tempcnta\@nameuse{mLinkLngth\the\aeb@mLinkCnt}\relax
- \edef\lngth{\the\@tempcnta}%\multiply\@tempcnta8\relax
- \edef\ml@qlngthchunki{\the\@tempcnta}}%
- \@ifundefined{mLinkSyCnt\the\aeb@mLinkCnt}
- {\def\MAXCNT{0}\def\ml@lngthchunki{0}\def\ml@lngthchunkii{0}%
- \def\ml@qlngthchunki{0}\def\ml@qlngthchunkii{0}\def\revCrackAt{0}}
- {\edef\MAXCNT{\@nameuse{mLinkSyCnt\the\aeb@mLinkCnt}}%
- \ifx\eq@mlcrackat\@empty\else
- \@tempcnta\MAXCNT\relax\advance\@tempcnta-\eq@mlcrackat\relax
- \edef\ml@lngthchunki{\eq@mlcrackat}%
- \edef\ml@lngthchunkii{\the\@tempcnta}%
- \@tempcnta\ml@lngthchunki\relax\multiply\@tempcnta8\relax
- \edef\ml@qlngthchunki{\the\@tempcnta}%
- \@tempcnta\ml@lngthchunkii\relax\multiply\@tempcnta8\relax
- \edef\ml@qlngthchunkii{\the\@tempcnta}%
- \@tempcnta\MAXCNT\relax
- \advance\@tempcnta-\eq@mlcrackat\relax
- \advance\@tempcnta\@ne
- \edef\revCrackAt{\the\@tempcnta}%
- \fi}%
- \@tempcnta\aeb@mLinkCnt\advance\@tempcnta\@ne
- \edef\aeb@mLinkCnt@{\the\@tempcnta}%
- \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
- \ifx\eq@mlcrackat\@empty\ml@start@link{\the\aeb@mLinkCnt}{\lngth}\fi
- \def\mlh@preambleCmdInsert{\ml@MrkLnk{\the\aeb@mLinkCnt}%
- \ml@earlyExecProps{#1}}%
- \def\mlh@postambleCmd{%
- \expandafter
- \def\expandafter\ef@thislinkcolor
- \expandafter{\ef@thislinkcolor}}%
- \aeb@mlh\ml@url\ef@colorthislink\unhcopy\ml@urlbuildi
- \expandafter\gdef\expandafter\ef@thislinkcolor
- \expandafter{\ef@thislinkcolor@SAVE}%
- \immediate\write\@auxout{\string\mlcsarg\string
- \gdef{mLinkSyCnt\the\aeb@mLinkCnt}{\the\syllableCnt}}% dpsa11
- \immediate\write\@auxout{\string\mlcsarg
- \string\gdef{mLinkLngth\the\aeb@mLinkCnt}{\the\aeb@arrayIndx}}%
- \ifx\eq@mlcrackat\@empty
- \ml@finish@link{\the\aeb@mLinkCnt}{\lngth}%
- \ml@setlink{\the\aeb@mLinkCnt}%
- \iffixmlinks\literalps@out{restore}\fi
- \else
- \ml@finish@link{\the\aeb@mLinkCnt}{\ml@qlngthchunki}%
- \ml@setlink{\the\aeb@mLinkCnt}%
- \iffixmlinks\literalps@out{restore}\fi
- \eq@mlcrackinsat\penalty-50
- \ml@start@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
- \penalty0\@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{}
- {\ml@MrkLnk{\aeb@mLinkCnt@}}\unhcopy\ml@urlbuildii
- \ml@finish@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
- \ml@setlink{\aeb@mLinkCnt@}\iffixmlinks
- \literalps@out{restore}\fi
- \global\advance\aeb@mLinkCnt\@ne
- \fi\aftergroup\normalcolor\endgroup
-}
-\def\ml@start@link#1#2{% Step 1
- \literalps@out{%
- /xoMsgB true def^^J%
- \ps@mark/_objdef {mLink#1}%
- /type /array /OBJ pdfmark^^J%
- \ifoldstylequads
- /mLinkFxup#1\space0 array def
- \else
- /bCreateLink mlIsBld #2\space eq not def^^J%
- bCreateLink{ /mLinkFxup#1\space
- #2\space array def }if
- \fi
- }%
-}
-\def\ml@finish@link#1#2{% Step 4 and 5
- \ifoldstylequads\else
- \ifnum\aeb@arrayIndx=0\relax
- \PackageWarning{aeb_mlink}{%
- Problem with mLink\the\aeb@mLinkCnt,\MessageBreak
- Will skip the creation of this link}\fi
- \literalps@out{%
- \iffixmlinks
- \ifnum\aeb@arrayIndx>0
- save^^J%
- bCreateLink {^^J%
- \mlDict\space/mLinkFxup#1\space known {^^J%
- #1\space
- #2\space
- mLinkFxup#1\space
- quadpointsfixup^^J%
- \ps@mark{mLink#1} 0 gFixup
- /PUTINTERVAL pdfmark^^J%
- }if }if
- \fi
- \else
- bCreateLink {^^J%
- \mlDict\space/mLinkFxup#1\space known {^^J%
- \ps@mark{mLink#1} 0 mLinkFxup#1
- /PUTINTERVAL pdfmark^^J%
- }if }if
- \fi}%
-\fi}
-\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\aeb@arrayIndx}{\lngth}%
- {\the\aeb@mLinkCnt}{\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{\the\aeb@arrayIndx}{\lngth}%
- {\the\aeb@mLinkCnt}{\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@}
-\newtoks\mlfrstoftwo \mlfrstoftwo={}
-\newtoks\mlsndoftwo \mlsndoftwo={}
-\newcount\syllableCnt \syllableCnt=0
-\def\SOUL@ckhsetup{\SOUL@setup
- \def\SOUL@everysyllable{\global\advance\syllableCnt\@ne
- \ifnum\syllableCnt=\mlcr@ckAt\relax
- \edef\x{\the\mlfrstoftwo\the\SOUL@syllable\eq@mlhyph}%
- \global\mlfrstoftwo=\expandafter{\x}\else
- \ifnum\syllableCnt>\mlcr@ckAt\relax
- \edef\x{\the\mlsndoftwo\the\SOUL@syllable}%
- \global\mlsndoftwo=\expandafter{\x}\else
- \edef\x{\the\mlfrstoftwo\the\SOUL@syllable}%
- \global\mlfrstoftwo=\expandafter{\x}\fi\fi
- }%
- \def\SOUL@everyspace##1{%
- \ifnum\syllableCnt<\mlcr@ckAt\relax
- \edef\x{\the\mlfrstoftwo}%
- \global\mlfrstoftwo=\expandafter{\x##1 }\else
- \edef\x{\the\mlsndoftwo}%
- \ifnum\syllableCnt=\mlcr@ckAt\relax
- \global\mlsndoftwo=\expandafter{\x##1}\else
- \global\mlsndoftwo=\expandafter{\x##1 }\fi\fi
- }%
- \def\SOUL@everyexhyphen##1{\global
- \ifnum\syllableCnt>\mlcr@ckAt\relax
- \edef\x{\the\mlsndoftwo}\global
- \mlsndoftwo=\expandafter{\x##1}\else
- \edef\x{\the\mlfrstoftwo}\global
- \mlfrstoftwo=\expandafter{\x##1}\fi
- }%
-}
-\DeclareRobustCommand*\crackAt[1]{\def\mlcr@ckAt{#1}%
- \mlfrstoftwo={}\mlsndoftwo={}\syllableCnt=0
- \SOUL@ckhsetup\SOUL@}
-\endinput
-%%
-%% End of file `aeb_mlink.sty'.
+%%
+%% 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, %%
+%% Copyright (C) 2006--2018 D. P. Story %%
+%% dpstory@acrotex.net %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of %%
+%% the License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{aeb_mlink}
+ [2018/08/18 v2.3.4 AeB MLink (dps)]
+\RequirePackage{xkeyval}
+\RequirePackage{ifpdf}[2006/02/20]
+\RequirePackage{ifxetex}[2006/08/21]
+\newif\if@ml@dvips \@ml@dvipstrue
+\def\mlcsarg#1#2{\expandafter#1\csname#2\endcsname}
+\DeclareOptionX{dvipsone}{\def\eq@drivernum{0}\@ml@dvipsfalse
+ \PassOptionsToPackage{dvipsone}{eforms}
+ \PassOptionsToPackage{dvipsone}{hyperref}
+}
+\DeclareOptionX{dvips}{\def\eq@drivernum{0}\@ml@dvipstrue
+ \PassOptionsToPackage{dvips}{eforms}
+ \PassOptionsToPackage{dvips}{hyperref}
+}
+\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{eforms}}
+\@ifundefined{mldblevel}{\newcount\mldblevel
+ \mldblevel=0 }{}
+\define@key{aeb_mlink.sty}{dblevel}[0]{\mldblevel=#1 }
+\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
+ \let\ExecuteOptions@SAVE\ExecuteOptions
+ \let\ExecuteOptions\ExecuteOptionsX
+ \InputIfFileExists{web.cfg}{}
+ {\@ifundefined{l@tex@@@@driver}{\ExecuteOptionsX{dvips}}
+ {\ExecuteOptionsX{dvipsone}}}%
+ \let\ExecuteOptions\ExecuteOptions@SAVE
+\fi\fi
+\ProcessOptionsX
+\RequirePackage{hyperref}
+\RequirePackage{refcount}
+\RequirePackage{eforms}[2018/08/16]
+\RequirePackage{soul}
+\def\ps@mark{[\space}
+\ifnum\mldblevel>0
+ \def\mlpgMsg{(\string\n Beginning of page: ) pf
+ PhysicalPage 20 string cvs
+ pf(\string\n)pf}\else
+ \def\mlpgMsg{}\fi
+\def\pgmonitoring{\if@ml@dvips
+ dup /PhysicalPage exch 1 add def
+ /PhysicalPage PhysicalPage def^^J\fi
+ \mlpgMsg
+}
+\def\smallRectTF{\ifoldstylequads false\else
+ \iffixmlinks true\else false\fi\fi\space
+ \ifSmallRect true\else false\fi\space and}
+\def\ml@@nnotName{mLink} % dps
+\def\mllnkcontainer#1{bCreateLink { xoMsgB {
+ \smallRectTF\space mlRectFix^^J%
+ #1}if}{(\ml@@nnotName\the\aeb@mLinkCnt) mlIsBldMsg}ifelse}
+\def\pboxRect{mlRect }
+\if@ml@dvips
+ \def\mlDict{SDict}
+ \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^^J% % sp to dots
+ /PhysicalPage 0 def^^J%
+ /PageHeight {vsize} def^^J%
+ /PDFtoTeX {PDFtoDvips} def^^J%
+ /pf{print flush}def^^J%
+ /bop-hook{ \pgmonitoring\space } def
+ end}
+ \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
+ \def\mlDict{dvidict}
+ \special{!/TeXtoPDF {65536 div mag 1000 div mul} def
+ /PDFtoTeX {65536 mul mag 1000 div div} def^^J%
+ /pf{print flush}def^^J%
+ /bphook{ \pgmonitoring\space } def^^J%
+ }
+ \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
+\newcount\syllableCnt \syllableCnt=0
+\newif\ifmllinktotalchanged\mllinktotalchangedfalse
+\newif\ifSmallRect \SmallRecttrue
+\AtEndDocument{\wrtmlinktot@l\ckchngmlinktot@l\wrt@linksnotformed}
+\def\wrt@linksnotformed{\iflinknotformed
+ \PackageWarningNoLine{aeb_mlink}{Some link calculations are not
+ complete.\MessageBreak
+ DO NOT CONVERT TO PDF at this time. Compile at \MessageBreak
+ least twice more}\fi}
+\def\wrtmlinktot@l{\immediate\write\@auxout{\string\gdef
+ \string\mlinkstotal{\the\aeb@mLinkCnt}}}
+\def\ckchngmlinktot@l{\@ifundefined{mlinkstotal}{}
+ {\ml@mlinktot@l@changed}}
+\def\ml@mlinktot@l@changed{%
+ \ifnum\mlinkstotal=\the\aeb@mLinkCnt\relax\else
+ \PackageWarningNoLine{aeb_mlink}{The number of links has
+ changed. Compile again\MessageBreak until this message
+ does not appear}\immediate
+ \write\@auxout{\string\mllinktotalchangedtrue}\fi
+}
+\def\ml@mllinktotalchanged{\ifmllinktotalchanged
+ \PackageWarningNoLine{aeb_mlink}
+ {The number of links has changed, continue\MessageBreak
+ to compile}\fi}
+\AtBeginDocument{\ml@mllinktotalchanged}
+\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}%
+}
+\newif\ifoldstylequads \oldstylequadsfalse
+\def\OldStyleBoxesOn{\mlfixOff\oldstylequadstrue}
+\def\OldStyleBoxesOff{\oldstylequadsfalse}
+\@onlypreamble\OldStyleBoxesOn
+\@onlypreamble\OldStyleBoxesOff
+\let\mlh@preambleCmdInsert\relax
+\def\mlcs#1{\texttt{\@backslashchar#1}}
+\bgroup\@makeother\%
+\gdef\CMT#1{ %\space #1}\egroup
+\def\mldbModeOn{\def\mldb##1##2{##2}}
+\def\mldbModeOff{\def\mldb##1##2{}}
+\def\mldb#1#2{\ifnum#1<\mldblevel#2\fi}
+\def\ml@adj@x{2}\def\ml@adj@y{2}
+\def\mlMaxNSylls{30}
+\def\removelastspace{\hskip-\fontdimen2\font}
+\AtBeginDvi{\special{!%
+/bCreateLink true def
+/mlIsBld 17 def^^J%
+/mlIsBldMsg {^^J%
+ /sName exch def^^J%
+ (\string\n!! )pf
+ sName 20 string cvs pf
+ ( is not completely formed,
+ compile again!!\string\n)pf^^J%
+} def^^J%
+/xoMsgB true def^^J%
+/xoMsg {^^J%
+ /Indx exch def^^J%
+ /sName exch def^^J%
+ /nSyllable Indx 8 div def^^J% dpsa08
+ (!!------------------------------------------------------------------%
+ \string\n Warning:\string\n
+ The text of )pf
+ sName 20 string cvs pf
+ ( has crossed a page boundary from page )pf
+ PhysicalPage 1 sub 10 string cvs pf
+ ( to ) pf PhysicalPage 10 string cvs pf
+ sName 0 1 getinterval (m) eq {
+ (.\string\n Cross page links are not supported by the
+ PDF Specification)pf
+ (.\string\n This link is not constructed,
+ please fix it.\string\n)pf
+ (Break point is after syllable number )pf
+ nSyllable cvi 20 string cvs pf (.\string\n)pf
+ (Use the \string\\mlcrackat{)pf
+ nSyllable cvi 20 string cvs pf
+ (} option with this link.\string\n)pf
+ }{
+ (.\string\n Cross page annotations are not supported by the
+ PDF Specification)pf
+ (.\string\n This annotation is not constructed,
+ please fix it.\string\n)pf
+ (Break point is after syllable number )pf
+ nSyllable cvi 20 string cvs pf (.\string\n)pf
+ (Use the mlcrackat=)pf
+ nSyllable cvi 20 string cvs pf
+ ( option with this annotation.\string\n)pf
+ } ifelse
+ (!!------------------------------------------------------------------%
+ \string\n)pf^^J%
+} def^^J%
+/quadpointsfixup {^^J%
+ /ary exch def^^J%
+ /quadL exch def^^J%
+ /sName exch def^^J%
+\mldb0{(Processing )pf sName pf (: OK\string\n)pf^^J}%
+quadL 0 eq {
+(Problems with this link, length=0,
+ will skip the creation of this link)pf^^J%
+}{
+/gOffset 0 def^^J%
+/gY ary\space 1 gOffset add get def^^J%
+\mldb1{(gY is ) pf gY 20 string cvs print^^J}%
+\mldb1{flush (\string\n) pf^^J}%
+/gN 0 def^^J%
+/gMrk 10 array def^^J% limitation
+gMrk 0 0 put^^J%
+/gMrkL 1 gOffset add def^^J%
+\mldb2{(Begin first for\string\n) pf^^J}%
+0 8 quadL 8 sub {^^J%
+ /gIndx exch def^^J%
+\mldb2{(Outside gt if with gIndx=) pf^^J}%
+\mldb2{gIndx 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+ /getEntry ary\space 1 gOffset add get def^^J%
+\mldb2{(getEntry=) pf getEntry 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+ gY getEntry sub abs 2 gt {^^J%
+\mldb2{(Inside gt if\string\n) pf^^J}%
+ gMrk gMrkL gIndx put^^J%
+ /gMrkL gMrkL 1 add def^^J%
+ /gY getEntry def^^J%
+\mldb2{(Updating gY to )pf gY 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+\mldb2{(gMrkL=)pf gMrkL 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+ } if^^J%
+ /gOffset gOffset 8 add def^^J%
+} for^^J%
+\mldb2{(end first for\string\n) pf^^J}%
+ /gAryL 8 \mlMaxNSylls\space mul def^^J% limitation
+\mldb2{(gAryL=) pf gAryL 20 string cvs pf^^J}%
+\mldb2{(\string\n)pf^^J}%
+ /gFixup 8 gMrkL mul array def^^J% links
+ /aFixup 8 gMrkL mul array def^^J% text markup annotations
+ /gOffset 0 def^^J%
+\mldb2{(for loop: gMrkL=)pf gMrkL 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+0 1 gMrkL 1 sub {^^J%
+\mldb2{(After gAry\string\n) pf^^J}%
+\mldb2{(Top of for loop\string\n) pf^^J}%
+ /gIndx exch def^^J%
+\mldb2{(gIndx=)pf gIndx 20 string cvs pf^^J}%
+\mldb2{(\string\n)pf^^J}%
+\mldb2{(gMrk=)pf gMrk gIndx get 20 string cvs pf^^J}%
+\mldb2{(\string\n) pf^^J}%
+\mldb2{(mLinkFxup<num> length = )^^J}%
+\mldb2{pf ary\space length 20 string cvs^^J}%
+\mldb2{pf (\string\n) pf^^J}%
+gIndx 1 add gMrkL eq {^^J%
+ /gCount ary\space length gMrk gIndx get sub def^^J%
+}{^^J%
+ /gCount gMrk gIndx 1 add get gMrk gIndx get sub def^^J%
+} ifelse^^J%
+/gAry gAryL array def^^J%
+\mldb2{(gCount=)pf gCount 20 string cvs pf^^J}%
+\mldb2{(\string\n)pf^^J}%
+/sliceOfLinkfxup gCount array def^^J%
+sliceOfLinkfxup 0 ary gMrk gIndx get^^J%
+ gCount getinterval putinterval^^J%
+ gAry 0 sliceOfLinkfxup putinterval^^J%
+\mldb1{(Listing elements of gFixup\string\n) pf^^J}%
+\mldb1{gAry 0 get 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry 1 get 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry gCount 1 sub 5 sub get
+ 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry gCount 1 sub 4 sub get
+ 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry gCount 1 sub 3 sub get
+ 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry gCount 1 sub 2 sub get
+ 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry 6 get 20 string cvs pf (\string\n)pf^^J}%
+\mldb1{gAry 7 get 20 string cvs pf (\string\n)pf^^J}%
+ gFixup gOffset [^^J%
+ gAry 0 get ^^J% x1 ll 1
+ gAry 1 get^^J% y1 ll 1
+ gAry gCount 1 sub 5 sub get^^J% x2 lr 2
+ gAry gCount 1 sub 4 sub get^^J% y2 lr 2
+ gAry gCount 1 sub 3 sub get^^J% x3 ur 3
+ gAry gCount 1 sub 2 sub get^^J% y3 ur 3
+ gAry 6 get^^J% x4 ul 4
+ gAry 7 get^^J% y4 ul 4
+ ] putinterval^^J%
+ aFixup gOffset [^^J%
+ gAry 6 get gOffset 0 eq {\ml@adj@x\space add}if^^J% x4 ul 4
+ gAry 7 get^^J% y4 ul 4
+ gAry gCount 1 sub 3 sub get^^J% x3 ur 3
+ gAry gCount 1 sub 2 sub get^^J% y3 ur 3
+ gAry 0 get gOffset 0 eq {\ml@adj@x\space add}if^^J% x1 ll 1
+ gAry 1 get 1 sub^^J% y1 ll 1
+ gAry gCount 1 sub 5 sub get^^J% x2 lr 2
+ gAry gCount 1 sub 4 sub get 1 sub^^J% y2 lr 2
+ ] putinterval^^J%
+ /gOffset gOffset 8 add def^^J%
+ } for^^J%
+\mldb2{(End of second for\string\n) pf^^J}%
+ } ifelse
+} def^^J%
+/smallquadpointsfixup {^^J%
+/gIndx exch def^^J%
+/ary exch def^^J%
+/lnkCnt exch def^^J%
+/quadL exch def^^J%
+/gSFup 8 array def^^J%
+ gSFup 0 ary 0 gIndx add get
+ gIndx 0 eq {\ml@adj@x\space sub} if put^^J% x1
+ gSFup 1 ary 1 gIndx add get put^^J% y1
+ gSFup 2 ary 2 gIndx add get put^^J% x2
+ gSFup 3 ary 3 gIndx add get put^^J% y2
+ gSFup 4 ary 4 gIndx add get put^^J% x3
+ gSFup 5 ary 5 gIndx add get put^^J%
+ gSFup 6 ary 6 gIndx add get
+ gIndx 0 eq {\ml@adj@x\space sub} if put^^J% x4
+ gSFup 7 ary 7 gIndx add get put^^J%
+ ary gIndx gSFup putinterval^^J%
+} def^^J%
+/mlRectFix {^^J%
+/ifRectFix exch def^^J%
+ifRectFix {
+ /nL gFixup length 8 sub def^^J% number of lines
+ /xMin gFixup 0 get def^^J%
+ 0 8 nL {^^J%
+ /Indx exch def^^J%
+ gFixup Indx get xMin lt {/xMin gFixup Indx get def}if } for^^J%
+ /xMin xMin 2 sub def^^J%
+ /xMax gFixup 2 get def^^J%
+ 2 8 nL 2 add {^^J%
+ /Indx exch def^^J%
+ gFixup Indx get xMax gt {/xMax gFixup Indx get def}if } for^^J%
+ /xMax xMax 2 add def^^J%
+ /yMin gFixup 1 get def^^J%
+ 1 8 nL 1 add {^^J%
+ /Indx exch def^^J%
+ gFixup Indx get yMin lt {/yMin gFixup Indx get def}if } for^^J%
+ /yMin yMin 4 sub def^^J%
+ /yMax gFixup 5 get def^^J%
+ 5 8 nL 5 add{^^J%
+ /Indx exch def^^J%
+ gFixup Indx get yMax gt {/yMax gFixup Indx get def}if } for^^J%
+ /yMax yMax 2 add def^^J%
+ /mlRect {/Rect [^^J%
+ xMin 72 sub PDFtoTeX^^J%
+ PageHeight 72 sub yMax sub PDFtoTeX^^J%
+ xMax 72 sub PDFtoTeX^^J%
+ PageHeight yMin sub 72 sub PDFtoTeX ]^^J%
+ }def^^J%
+}{^^J%
+ /mlRect{/Rect [ \par@@Rect ] }def^^J%
+}ifelse^^J%
+ifRectFix {
+\mldb1{(/Rect [)pf^^J%
+xMin 20 string cvs pf( )pf^^J%
+yMax 20 string cvs pf( )pf^^J%
+xMax 20 string cvs pf( )pf^^J%
+yMin 20 string cvs pf(]\string\n)pf^^J}%
+} if^^J%
+} def
+}}
+\newif\ifmlmarks\mlmarksfalse
+\def\mlMarksOn{\mlmarkstrue}
+\def\mlMarksOff{\mlmarksfalse}
+\def\MrkLnkLtr{L}
+\def\ml@MrkLnk#1{\ifmlmarks\bgroup\ifdim\baselineskip=0pt
+ \setbox\z@\hbox{T}\gdef\ml@raiseamt{\ht\z@+.4pt}\else
+ \gdef\ml@raiseamt{.6\baselineskip}\fi\smash{\rlap{\normalfont\normalcolor\bfseries
+ \raisebox{\ml@raiseamt}{\tiny\strut{\MrkLnkLtr#1}}}}\egroup\fi}
+\newif\iflinknotformed \linknotformedfalse
+\newif\ifcr@ckit \cr@ckitfalse
+\def\ml@underlinded{U}
+\@ifundefined{mlhypertext}{\newcommand}{\renewcommand}%
+{\mlhypertext}[2][]{\hglue0pt\begingroup
+ \global\ml@displaytrue
+ \toks@=\expandafter{#2}%
+ \edef\ml@HytextArg{{\the\toks@}}%
+ \global\aeb@arrayIndx=\z@
+ \def\ml@setlink##1{\setLinkPbox{%
+ \QuadPoints{mLink##1}#1}}%
+ \expandafter\processAppArgs\set@LinkPboxDefaults
+ \presets{\ml@nocolor@defaults}\S{S}\W{0}#1\end\@nil
+ \ifx\eq@S@value\ml@underlinded
+ \let\itsunderline\ef@YES\else\let\itsunderline\ef@NO\fi
+ \ifx\eq@mlignore\ef@YES
+ \global\advance\aeb@mLinkCnt\@ne\relax
+ \def\ml@next{\mlhypertext@i{#1}}\else
+ \ifx\eq@mlcrackat\@empty
+ \global\advance\aeb@mLinkCnt\@ne\relax
+ \def\ml@next{\mlhypertext@i{#1}}%
+ \else % \eq@mlcrackat not \@empty
+ \def\ml@next{\global\ml@displaytrue\let\ml@space\space
+ \mlhypertext[#1\mlignore{0}]{#2}\eq@mlcrackinsat
+ \penalty-100 \cr@ckittrue
+ \global\ml@displayfalse\let\ml@space\space
+ \mlhypertext[#1\mlignore{1}]{#2}\aftergroup
+ \normalcolor\endgroup}%
+ \fi
+ \fi
+ \ml@next
+}
+\def\mlhypertext@i#1{%
+ \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{\global
+ \linknotformedtrue\def\ml@lngth{17}}
+ {\edef\ml@lngth{\@nameuse{mLinkLngth\the\aeb@mLinkCnt}}}%
+ \ml@start@link{\the\aeb@mLinkCnt}{\ml@lngth}% Step 1
+ \def\mlh@preambleCmdInsert{%
+ \ml@MrkLnk{\the\aeb@mLinkCnt}\ml@earlyExecProps{#1}}%
+ \def\mlh@postambleCmd{\endgroup}%
+ \expandafter\aeb@mlh\ml@HytextArg
+ \ml@finish@link{\the\aeb@mLinkCnt}{\ml@lngth}%
+ \ml@setlink{\the\aeb@mLinkCnt}%
+ \ifoldstylequads\else
+ \iffixmlinks\literalps@out{restore}\fi\fi
+ \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{%
+ \immediate\write\@auxout{\string\mlcsarg
+ \string\gdef{mLinkLngth\the\aeb@mLinkCnt}{17}}%
+ }{\immediate\write\@auxout{\string\mlcsarg
+ \string\gdef{mLinkLngth\the\aeb@mLinkCnt}%
+ {\the\aeb@arrayIndx}}}\endgroup
+}
+\def\mlh@setQuadSyllable#1#2#3#4{%
+ \setbox\aeb@bbox=\hbox{\ml@strut#4}%
+ {%
+ \setbox\@tempboxa\hbox{\ml@strut}%
+ \ifx\itsunderline\ef@YES\@tempdima1bp\relax\else
+ \@tempdima\dp\@tempboxa \ifdim\@tempdima>2bp
+ \advance\@tempdima-2bp\fi
+ \fi
+ \ifx\isstrikeout\ef@YES\advance\@tempdima-2bp\fi
+ \dp\aeb@bbox\@tempdima
+ \@tempdima\ht\@tempboxa \advance\@tempdima\dp\aeb@bbox
+ \advance\@tempdima1bp
+ \ht\aeb@bbox\@tempdima\def\x{\the\count\z@}%
+ \count\z@=\ht\aeb@bbox\xdef\aeb@bbox@ht{\x}%
+ \count\z@=\wd\aeb@bbox\xdef\aeb@bbox@wd{\x}%
+ \count\z@=\dp\aeb@bbox\xdef\aeb@bbox@dp{\x}%
+ }%
+ \ifoldstylequads
+ \literalps@out{%
+ bCreateLink {^^J%
+ \mlDict\space/mLinkFxup#3\space known {^^J%
+ \ps@mark{mLink#3}
+ \the\aeb@arrayIndx\space [\setQuadBox]
+ \space /PUTINTERVAL pdfmark}{^^J%
+ xoMsgB {
+ /xoMsgB false def
+ (\ml@@nnotName\the\aeb@arrayIndx)
+ #3\space
+ xoMsg % dpsa08
+ } if^^J% xoMsgB
+ } ifelse } if
+ }%
+ \else
+ \literalps@out{%
+ bCreateLink {^^J%
+ \mlDict\space/mLinkFxup#3\space known {^^J%
+ mLinkFxup#3\space
+ #1\space[\setQuadBox] putinterval^^J%
+ #2\space %
+ #3\space
+ mLinkFxup#3\space
+ #1\space
+ smallquadpointsfixup }{^^J%
+ xoMsgB {
+ /xoMsgB false def
+ (\ml@@nnotName#3)
+ #1\space
+ xoMsg % dpsa08
+ } if^^J% xoMsgB
+ } ifelse } if
+ }%
+ \fi
+ \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{\getrefbykeydefault{#1}{page}{??}}
+\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
+ \ifx\@pdfstartview\@empty
+ \def\theView{[0 /Fit]}\else
+ \def\theView{[0 \@pdfstartview]}\fi
+ \@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@urlbuildi
+\newbox\ml@urlbuildii
+\def\ml@SOUL@doword{%
+ \global\setbox\ml@urlbuildi\hbox{}%
+ \global\setbox\ml@urlbuildii\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
+ \ml@interface@analyze
+ \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
+}}
+\newif\ifml@display \ml@displaytrue
+\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
+}
+\def\ml@interface@analyze{%
+ \global\advance\syllableCnt\@ne % dpsa11
+ \setbox\@ne\hbox{\unhbox\@ne}%
+ \ifx\eq@mlcrackat\@empty
+ \ml@bld@quadchunks{\the\aeb@mLinkCnt}
+ {\ml@qlngthchunki}{\ml@urlbuildi}%
+ \else
+ \ifnum\syllableCnt=\revCrackAt\relax
+ \aeb@arrayIndx=\z@
+ \ml@start@link{\the\aeb@mLinkCnt}{\ml@qlngthchunki}%
+ \ml@bld@quadchunks{\the\aeb@mLinkCnt}
+ {\ml@qlngthchunki}{\ml@urlbuildi}%
+ \else
+ \ifnum\syllableCnt>\revCrackAt\relax
+ \ml@bld@quadchunks{\the\aeb@mLinkCnt}
+ {\ml@qlngthchunki}{\ml@urlbuildi}%
+ \else
+ \ifnum\syllableCnt=\@ne
+ \aeb@arrayIndx=\z@
+ \ml@start@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
+ \ml@bld@quadchunks{\aeb@mLinkCnt@}
+ {\ml@qlngthchunkii}{\ml@urlbuildii}%
+ \else
+ \ml@bld@quadchunks{\aeb@mLinkCnt@}
+ {\ml@qlngthchunkii}{\ml@urlbuildii}%
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\def\ml@bld@quadchunks#1#2#3{{%
+ \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}
+ {\edef\@indx{\the\aeb@arrayIndx}}
+ {\@tempcnta#2\relax
+ \advance\@tempcnta-8\relax
+ \advance\@tempcnta-\aeb@arrayIndx
+ \def\@indx{\the\@tempcnta}%
+ }%
+ \@tempcntb=\@indx \divide\@tempcntb by 8
+ \advance\@tempcntb by 1
+\ifx#3\ml@urlbuildii \advance\@tempcntb by \eq@mlcrackat\relax\fi
+ \global\setbox#3=\hbox{%
+ \mlh@setQuadSyllable{\@indx}{#2}{#1}{\unhcopy\@ne}%
+ \hbox{\unhcopy\@ne}\relax\ml@typeset@@syl{\@tempcntb}\penalty0\unhcopy#3}%hbox
+}}
+\newcommand{\mlurl}{\begingroup\@makeother\~\relax% \def~{\string~}%
+ \ef@sanitize@toks\mlurl@}
+\newcommand{\mlurl@}[2][]{\@ifundefined{ef@thislinkcolor}
+ {\let\ef@thislinkcolor\normalcolor}{}\expandafter
+ \def\expandafter\ef@thislinkcolor@SAVE
+ \expandafter{\ef@thislinkcolor}%
+ \def\ml@setlink##1{\setLinkPbox{\A{\URI{#2}}%
+ \QuadPoints{mLink##1}#1}}%
+ \expandafter\processAppArgs\set@LinkPboxDefaults
+ \presets{\ml@nocolor@defaults}\S{S}\W{0}#1\end\@nil
+ \ifx\eq@S@value\ml@underlinded
+ \let\itsunderline\ef@YES\else\let\itsunderline\ef@NO\fi
+ \global\aeb@arrayIndx=0\relax
+ \global\syllableCnt=0\relax
+ \global\advance\aeb@mLinkCnt\@ne\relax
+ \@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{%
+ \global\linknotformedtrue\def\ml@lngth{17}%
+ \def\ml@qlngthchunki{17}}
+ {\@tempcnta\@nameuse{mLinkLngth\the\aeb@mLinkCnt}\relax
+ \edef\ml@lngth{\the\@tempcnta}%\multiply\@tempcnta8\relax
+ \edef\ml@qlngthchunki{\the\@tempcnta}}%
+ \@ifundefined{mLinkSyCnt\the\aeb@mLinkCnt}
+ {\def\mlM@XCNT{0}\def\ml@lngthchunki{0}\def\ml@lngthchunkii{0}%
+ \def\ml@qlngthchunki{0}\def\ml@qlngthchunkii{0}\def\revCrackAt{0}}
+ {\edef\mlM@XCNT{\@nameuse{mLinkSyCnt\the\aeb@mLinkCnt}}%
+ \ifx\eq@mlcrackat\@empty\else
+ \@tempcnta\mlM@XCNT\relax\advance\@tempcnta-\eq@mlcrackat\relax
+ \edef\ml@lngthchunki{\eq@mlcrackat}%
+ \edef\ml@lngthchunkii{\the\@tempcnta}%
+ \@tempcnta\ml@lngthchunki\relax\multiply\@tempcnta8\relax
+ \edef\ml@qlngthchunki{\the\@tempcnta}%
+ \@tempcnta\ml@lngthchunkii\relax\multiply\@tempcnta8\relax
+ \edef\ml@qlngthchunkii{\the\@tempcnta}%
+ \@tempcnta\mlM@XCNT\relax
+ \advance\@tempcnta-\eq@mlcrackat\relax
+ \advance\@tempcnta\@ne
+ \edef\revCrackAt{\the\@tempcnta}%
+ \fi}%
+ \@tempcnta\aeb@mLinkCnt\advance\@tempcnta\@ne
+ \edef\aeb@mLinkCnt@{\the\@tempcnta}%
+ \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
+ \ifx\eq@mlcrackat\@empty
+ \ml@start@link{\the\aeb@mLinkCnt}{\ml@lngth}\fi
+ \def\mlh@preambleCmdInsert{\ml@MrkLnk{\the\aeb@mLinkCnt}%
+ \ml@earlyExecProps{#1}}%
+ \def\mlh@postambleCmd{%
+ \expandafter
+ \def\expandafter\ef@thislinkcolor
+ \expandafter{\ef@thislinkcolor}}%
+ \aeb@mlh\ml@url\ef@colorthislink\unhcopy\ml@urlbuildi
+ \expandafter\gdef\expandafter\ef@thislinkcolor
+ \expandafter{\ef@thislinkcolor@SAVE}%
+ \immediate\write\@auxout{\string\mlcsarg\string
+ \gdef{mLinkSyCnt\the\aeb@mLinkCnt}{\the\syllableCnt}}% dpsa11
+ \immediate\write\@auxout{\string\mlcsarg
+ \string\gdef{mLinkLngth\the\aeb@mLinkCnt}{\the\aeb@arrayIndx}}%
+ \ifx\eq@mlcrackat\@empty
+ \ml@finish@link{\the\aeb@mLinkCnt}{\ml@lngth}%
+ \ml@setlink{\the\aeb@mLinkCnt}%
+ \iffixmlinks\literalps@out{restore}\fi
+ \else
+ \ml@finish@link{\the\aeb@mLinkCnt}{\ml@qlngthchunki}%
+ \ml@setlink{\the\aeb@mLinkCnt}%
+ \iffixmlinks\literalps@out{restore}\fi
+ \eq@mlcrackinsat\penalty-100
+ \ml@start@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
+ \penalty0\@ifundefined{mLinkLngth\the\aeb@mLinkCnt}{}
+ {\ml@MrkLnk{\aeb@mLinkCnt@}}\unhcopy\ml@urlbuildii
+ \ml@finish@link{\aeb@mLinkCnt@}{\ml@qlngthchunkii}%
+ \ml@setlink{\aeb@mLinkCnt@}\iffixmlinks
+ \literalps@out{restore}\fi
+ \global\advance\aeb@mLinkCnt\@ne
+ \fi\aftergroup\normalcolor\endgroup
+}
+\def\ml@start@link#1#2{% Step 1
+ \literalps@out{%
+ /xoMsgB true def^^J%
+ \ps@mark/_objdef {mLink#1}%
+ /type /array /OBJ pdfmark^^J%
+ \ifoldstylequads
+ /mLinkFxup#1\space0 array def
+ \else
+ /bCreateLink mlIsBld #2\space eq not def^^J%
+ bCreateLink{ /mLinkFxup#1\space
+ #2\space array def }if
+ \fi
+ }%
+}
+\def\FixupProc{gFixup}
+\def\ml@finish@link#1#2{% Step 4 and 5
+ \ifoldstylequads\else
+ \ifnum\aeb@arrayIndx=0\relax
+ \PackageWarning{aeb_mlink}{%
+ Problem with mLink\the\aeb@mLinkCnt, Will skip the \MessageBreak
+ creation of this link}\fi
+ \literalps@out{%
+ \iffixmlinks
+ \ifnum\aeb@arrayIndx>0
+ save^^J%
+ bCreateLink {^^J%
+ \mlDict\space/mLinkFxup#1\space known {^^J%
+ (\ml@@nnotName#1)
+ #2\space
+ mLinkFxup#1\space
+ quadpointsfixup^^J%
+ \ps@mark{mLink#1} 0 \FixupProc\space
+ /PUTINTERVAL pdfmark^^J%
+ }if }if
+ \fi
+ \else
+ bCreateLink {^^J%
+ \mlDict\space/mLinkFxup#1\space known {^^J%
+ \ps@mark{mLink#1} 0 mLinkFxup#1
+ /PUTINTERVAL pdfmark^^J%
+ }if }if
+ \fi}%
+\fi}
+\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{% dpsaug16
+ \global\advance\syllableCnt\@ne
+ \ifx\eq@mlcrackat\@empty
+ \expandafter\SOUL@mlheverysyllable@i
+ \else
+ \expandafter\SOUL@mleverysyllable@ii
+ \fi
+}
+\let\eq@@mlhyph\@empty
+\def\ml@typset@syl#1{\raisebox{\ml@raiseamt}
+ {\smash{\normalfont\normalcolor\tiny\strut\llap{\the#1}}}}
+\def\turnSyllbCntOn{\mlMarksOn\let\ml@typeset@@syl\ml@typset@syl}
+\def\turnSyllbCntOff{\let\ml@typeset@@syl\@gobble}
+\turnSyllbCntOff
+\def\SOUL@mlheverysyllable@i{%
+ \mlh@setQuadSyllable{\the\aeb@arrayIndx}{\ml@lngth}%
+ {\the\aeb@mLinkCnt}{\the\SOUL@syllable\eq@@mlhyph}%
+ \the\SOUL@syllable %\SOUL@setkern\SOUL@charkern
+ \ml@typeset@@syl{\syllableCnt}\eq@@mlhyph
+}%
+\def\SOUL@mleverysyllable@ii{%
+ \ifnum\eq@mlchunk=0\relax
+ \ifnum\syllableCnt>\eq@mlcrackat\relax
+ \global\ml@displayfalse
+ \else
+ \global\ml@displaytrue
+ \ifnum\syllableCnt=\eq@mlcrackat\relax
+ \let\eq@@mlhyph\eq@mlhyph
+ \global\let\ml@space\relax
+ \else
+ \let\eq@@mlhyph\@empty
+ \global\let\ml@space\space
+ \fi
+ \SOUL@mlheverysyllable@i
+ \fi
+ \else
+ \ifnum\syllableCnt>\eq@mlcrackat\relax
+ \global\ml@displaytrue
+ \SOUL@mlheverysyllable@i
+ \else
+ \global\ml@displayfalse
+ \fi
+ \fi
+ \ml@dynamicsetup
+}
+\let\ml@space\space
+\def\SOUL@mlheveryspace#1{%
+ #1\ml@space\global\let\ml@space\space
+}
+\def\SOUL@mlheveryhyphen{%
+ \discretionary{%
+ \unkern
+ \SOUL@setkern\SOUL@hyphkern
+ \SOUL@sethyphenchar
+ }{}{}%
+}
+\def\SOUL@mlheveryexhyphen#1{\global\advance\syllableCnt\@ne
+ \mlh@setQuadSyllable{\the\aeb@arrayIndx}{\ml@lngth}%
+ {\the\aeb@mLinkCnt}{\SOUL@setkern\SOUL@hyphkern#1}%
+ \SOUL@setkern\SOUL@hyphkern\hbox{#1}%
+ \discretionary{}{}{%
+ \SOUL@setkern\SOUL@charkern
+ }%
+}
+\def\mlh@postambleCmd{\relax}
+\def\ml@dynamicsetup{%dpsaug16
+ \ifml@display
+ \global\let\SOUL@everyspace\SOUL@mlheveryspace
+ \global\let\SOUL@everyexhyphen\SOUL@mlheveryexhyphen
+ \else
+ \gdef\SOUL@everyspace##1{}%
+ \gdef\SOUL@everyexhyphen##1{}%
+ \fi
+}
+\def\SOUL@mlhpostamble{\mlh@postambleCmd}
+\def\SOUL@mlhsetup{\SOUL@setup
+ \let\SOUL@preamble\SOUL@mlhpreamble
+ \let\SOUL@everysyllable\SOUL@mlheverysyllable
+ \ml@dynamicsetup
+ \let\SOUL@everyhyphen\SOUL@mlheveryhyphen
+ \def\SOUL@postamble{\SOUL@mlhpostamble}%
+}
+\DeclareRobustCommand*\aeb@mlh{\syllableCnt=0
+ \SOUL@mlhsetup\SOUL@}
+\endinput
+%%
+%% End of file `aeb_mlink.sty'.