From 26f4947f509c2440ce28e625133a15f6a2446920 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Sep 2018 10:28:30 +0900 Subject: update acrotex --- texmf-dist/tex/latex/acrotex/eforms.sty | 2752 ++++++++++++++++--------------- 1 file changed, 1378 insertions(+), 1374 deletions(-) (limited to 'texmf-dist/tex/latex/acrotex/eforms.sty') diff --git a/texmf-dist/tex/latex/acrotex/eforms.sty b/texmf-dist/tex/latex/acrotex/eforms.sty index 2e1fea4d..fd54f4fe 100644 --- a/texmf-dist/tex/latex/acrotex/eforms.sty +++ b/texmf-dist/tex/latex/acrotex/eforms.sty @@ -1,1374 +1,1378 @@ -%% -%% This is file `eforms.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% eforms.dtx (with options: `copyright,package') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% eForms package, %% -%% Copyright (C) 2002-2018 D. P. Story %% -%% dpstory@uakron.edu %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1 of the %% -%% License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{eforms} - [2018/03/22 v2.9.19 Provides general eforms support (dps)] -\RequirePackage{ifpdf}[2006/02/20] -\RequirePackage{ifxetex}[2006/08/21] -\RequirePackage{ifluatex} -\RequirePackage{calc} -\let\ef@driver\@empty -\DeclareOption{dvipsone}{\def\eq@drivernum{0}% - \def\eq@drivername{0}\def\ef@driver{dvipsone}% - \PassOptionsToPackage{dvipsone}{insdljs}% - \PassOptionsToPackage{dvipsone}{hyperref}% -} -\def\eq@drivername{2} -\DeclareOption{dvips}{\def\eq@drivernum{0}% - \def\eq@drivername{1}\def\ef@driver{dvips}% - \PassOptionsToPackage{dvips}{insdljs}% - \PassOptionsToPackage{dvips}{hyperref}% -} -\DeclareOption{pdftex}{% - \def\eq@drivernum{1}\def\eq@driver{pdftex}% - \def\eq@drivercode{epdftex.def}\def\ef@driver{pdftex}% -} -\DeclareOption{luatex}{% - \def\eq@drivernum{1}\def\eq@driver{luatex}% - \def\eq@drivercode{epdftex.def}\def\ef@driver{luatex}% -} -\DeclareOption{dvipdfm}{% - \def\eq@drivernum{2}\def\eq@driver{dvipdfm}% - \def\eq@drivercode{edvipdfm.def}\def\ef@driver{dvipdfm}% - \PassOptionsToPackage{dvipdfm}{insdljs} - \PassOptionsToPackage{dvipdfm}{hyperref} -} -\DeclareOption{dvipdfmx}{% - \def\eq@drivernum{2}\def\eq@driver{dvipdfmx}% - \def\eq@drivercode{edvipdfm.def}\def\ef@driver{dvipdfmx}% - \PassOptionsToPackage{dvipdfmx}{insdljs} - \PassOptionsToPackage{dvipdfmx}{hyperref} -} -\DeclareOption{xetex}{% - \def\eq@drivernum{2}\def\eq@driver{xetex}% - \def\eq@drivercode{edvipdfm.def}\def\ef@driver{xetex}% -} -\DeclareOption{textures}{% - \def\eq@drivernum{3}\def\eq@driver{textures}% - \def\eq@drivercode{epdfmark.def}\def\ef@driver{textures}% - \PassOptionsToPackage{textures}{insdljs}% - \PassOptionsToPackage{textures}{hyperref} -} -\def\eq@driver{dvipsone/dvips} -\def\eq@drivercode{epdfmark.def} -\DeclareOption{preview}{\previewtrue} -\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{insdljs}} -\@ifundefined{ifpreview}{\newif\ifpreview \previewfalse}{} -\providecommand{\previewOn}{\previewtrue} -\providecommand{\previewOff}{\previewfalse} -\DeclareOption{useui}{\AtEndOfPackage{\ef@InputUIeForms}} -\def\ef@InputUIeForms{\InputIfFileExists{uieforms.def}% - {\PackageInfo{eforms}{Inputting code for useui option}}% - {\PackageInfo{eforms}{Cannot find uieforms.def.\MessageBreak - Reinstall or refresh your file name database.}}} -\DeclareOption{setcorder}{\def\inputCalcOrderJS{% - \InputIfFileExists{setcorder.def}% - {\PackageInfo{eforms}{Inputting code for setcorder option}}% - {\PackageWarning{eforms}{Cannot find setcorder.def.\MessageBreak - Reinstall or refresh your file name database.}}}} -\let\inputCalcOrderJS\relax -\@ifpackageloaded{web}{% - \ExecuteOptions{\eq@driver@name}% -}{% - \@ifpackageloaded{exerquiz}{% - \ExecuteOptions{\eq@driver}% - }{% - \ifluatex\ExecuteOptions{luatex}\else - \ifpdf\ExecuteOptions{pdftex}\else - \ifxetex\ExecuteOptions{xetex}\else - \@ifundefined{l@tex@@@@driver}{\ExecuteOptions{dvips}} - {\ExecuteOptions{dvipsone}}\fi\fi\fi - }% -} -\ProcessOptions -\ifx\ef@driver\@empty - \PackageError{eforms}% - {You have not specified dvips, dvipsone, pdftex,\MessageBreak - dvipdfm, dvipdfmx, or xetex in the option list of\MessageBreak - the eforms package} - {Place one of the drivers dvips, dvipsone, pdftex, dvipdfm, - dvipdfmx, or xetex - \MessageBreak in the option list of the eforms package.}% -}{} -\fi -\newlength\eflength -\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse -\ifpdf\else\ifxetex\else\pdfmarkuptrue\fi\fi -\RequirePackage{hyperref} -\ifxetex\else\ifpdf\pdflinkmargin1bp\relax\else - \g@addto@macro\Hy@FirstPageHook{% - \headerps@out{/HyperBorder {1.00375 PDFToDvips} def}} -\fi\fi -\RequirePackage{insdljs}[2017/01/03] % incl conv-xkv -\@ifpackageloaded{exerquiz}{}{% - \AtBeginDocument{\Form} - \AtEndDocument{\csname endForm\endcsname} -} -\@ifpackageloaded{aeb_pro}{}{% - \newcommand{\taggedPDF}{% - \ifnum\eq@drivernum=0\relax - \literalps@out{[{Catalog} <<% - /MarkInfo<>% - >> /PUT pdfmark}\fi}% -} -\let\ef@YES=y \let\ef@NO=n -\let\ef@One=1 \let\ef@Zero=0 -\ifnum\eq@drivername<2 -\let\to@usepdfmark\ef@One -\RequirePackage[structure]{taborder}\else -\let\to@usepdfmark\ef@Zero -\RequirePackage{taborder} -\fi -\@ifundefined{eq@tmpbox}{\newsavebox{\eq@tmpbox}}{} -\@ifundefined{eq@tmpdima}{\newdimen\eq@tmpdima}{} -\@ifundefined{eq@tmpdimb}{\newdimen\eq@tmpdimb}{} -\newlength\ef@dimena -\newtoks\ef@scratchtoks -\newif\ifmakeXasPD \makeXasPDtrue % 12/22 -\newif\ifmakePDasX \makePDasXfalse -\def\makeXasPDOn{\makeXasPDtrue\makePDasXfalse} -\def\makeXasPDOff{\makeXasPDfalse} -\def\makePDasXOn{\makePDasXtrue\makeXasPDfalse} -\def\makePDasXOff{\makePDasXfalse} -\providecommand\ckboxColor[1]{\def\@rgi{#1}\ifx\@rgi\@empty - \let\ckbox@Color\relax\else - \def\ckbox@Color{\color{#1}}\fi}\let\ckbox@Color\relax -\def\ef@Bbox#1#2{\hbox{\ifpreview - \setlength\fboxrule{0.4pt}\setlength\fboxsep{0pt}% - \@tempdima=#1\advance\@tempdima by-\fboxrule - \@tempdimb=#2\advance\@tempdimb by-\fboxrule \ckbox@Color - \fbox{\parbox[b][\@tempdimb][c]{\@tempdima}{\hfill\vfill}}\else - \parbox[b][#2][c]{#1}{\hfill\vfill}\fi}% -} -\let\Bbox\ef@Bbox -\let\ef@passedArgs\@empty -\def\processAppArgs#1#2{% - \ifx\end#1% if #1=\end, #2=\@nil. - \let\ef@next\relax - \else - \ifx#1\@empty - \def\ef@next{\processAppArgs}% - \else - \@getCmdName{\ui}\edef\arg@ui{\@CmdName}% - \@getCmdName{#1}% - \ifx\arg@ui\@CmdName - \@ifundefined{@equi}{\PackageError{eforms}% - {The user interface '\string\ui' is not defined!% - \MessageBreak Use the useui option of eforms - and try again}{I said, use the useui option of - eforms and try again!}}{}% - \def\ef@next{\setkeys{eforms}{#2}% - \processAppArgs\presets{\ef@passedArgs}}% - \else - \@getCmdName{\Ff}\edef\arg@Ff{\@CmdName}% - \@getCmdName{#1}% - \ifx\arg@Ff\@CmdName % if \Ff, let's add arguments - \ifx\eq@Ff\@empty\def\eq@FfValue{0}\else - \expandafter\getFfValue\eq@Ff\@nil\fi - \@tempcnta=\eq@FfValue - \def\eq@arg{#2}% - \ifx\eq@arg\@empty\else - \advance\@tempcnta by#2\fi - \edef\eq@Ff{/Ff \the\@tempcnta}% - \def\ef@next{\processAppArgs}% - \else - \@getCmdName{\F}\edef\arg@F{\@CmdName}% - \@getCmdName{#1}% - \ifx\arg@F\@CmdName % if \Ff, let's add arguments - \ifx\eq@F\@empty\def\eq@FValue{0}\else - \expandafter\getFValue\eq@F\@nil\fi - \@tempcnta=\eq@FValue - \def\eq@arg{#2}% - \ifx\eq@arg\@empty\else - \advance\@tempcnta by#2\fi - \edef\eq@F{/F \the\@tempcnta}% - \def\ef@next{\processAppArgs}% - \else - \@getCmdName{\presets}% - \edef\arg@presets{\@CmdName}\@getCmdName{#1}% - \ifx\arg@presets\@CmdName - \def\ef@next{\expandafter\processAppArgs#2}% - \else - \csname @eq% - \expandafter\@gobble\string#1\endcsname{#2}% - \def\ef@next{\processAppArgs}% - \fi - \fi - \fi - \fi - \fi - \fi - \ef@next -} -\def\@processEvery{\edef\eqtemp{}\toks0={}\@@processEvery} -\def\@@processEvery#1{% - \ifx#1\end\def\ef@next{\the\toks0 }% - \else - \edef\eqtemp{\the\toks0 }% - \toks0=\expandafter{\eqtemp - \expandafter\processAppArgs#1\end\@nil}% - \def\ef@next{\@@processEvery}% - \fi - \ef@next -} -\newdimen\eqcenterWidget -\def\centerWidget#1{% - \ifeq@inlineCenter - \eqcenterWidget=#1\relax - \eqcenterWidget=.5\eqcenterWidget - \ifnum\eq@textSize=0\relax - \dimen@=-\eq@textSizeDefault bp\else - \dimen@=-\eq@textSize bp\fi - \dimen@=0.9167\dimen@ % 11/12 - \dimen@=.5\dimen@ - \advance\dimen@\eq@W@value bp - \ifx\eq@S\@empty\else - \def\eq@S@cmp{B}% - \ifx\eq@S@value\eq@S@cmp - \advance\dimen@ by \eq@W@value bp - \else - \def\eq@S@cmp{I}% - \ifx\eq@S@value\eq@S@cmp - \advance\dimen@ by \eq@W@value bp - \else\advance\dimen@ by 1bp - \fi\fi\fi - \advance\eqcenterWidget by \dimen@ - \else - \eqcenterWidget=#1\relax - \eqcenterWidget=.5\eqcenterWidget - \advance\eqcenterWidget by -4bp - \fi -} -\def\@eqF#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@F\@empty\else\def\eq@F{/F #1}\fi}\def\eq@F{} -\def\@eqBS#1{% - \let\eq@BS=0\relax - \ifx\eq@W\@empty\else\let\eq@BS=1\fi - \ifx\eq@S\@empty\else\let\eq@BS=1\fi - \ifx\eq@D\@empty\else\let\eq@BS=1\fi - \edef\link@BS{\if\eq@BS1/BS<<\eq@W\eq@S\eq@D>>\fi}% - \ifx\eq@W\@empty\let\link@BS\@empty\fi -}\def\link@BS{} -\def\@eqpresets#1{#1}% -\def\@eqW#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@W\@empty\def\eq@W@value{0}\else - \def\eq@W@value{#1}\def\eq@W{/W #1}\fi - \xdef\g@eq@W@value@bp{\eq@W@value bp}} -\def\eq@W{}\def\eq@W@value{0} -\def\g@eq@W@valu@bp{0bp} % dps 12/22 -\def\@eqS#1{\def\eq@S@value{#1}\ifx\eq@S@value\@empty - \let\eq@S\@empty\else - \def\eq@S{/S/#1}\def\eq@temp{D}% - \ifx\eq@S@value\eq@temp - \ifx\eq@D\@empty\def\eq@D{/D [3]}\fi - \fi\fi}\def\eq@S{} -\def\@eqD#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@D\@empty\else - \def\eq@D{/D [#1]}\fi}\def\eq@D{} -\def\@eqBorder#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Border\@empty\else\def\eq@Border{/Border [#1]}\fi}% -\def\eq@Border{/Border [0 0 0]} -\def\@eqAP#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AP\@empty\else\def\eq@AP{/AP<<#1>>}\fi}% - \let\eq@AP\@empty - \def\@eqOn#1{\def\eq@On{/#1}}\def\eq@On{/Yes} -\def\@eqAS#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AS\@empty\else\ifpdfmarkup\def\eq@AS{/AS(#1) cvn }\else - \def\eq@AS{/AS/#1}\fi\fi}\def\eq@AS{} -\def\ef@gobbleToendmarker#1\ef@endmarker{} -\let\ef@endmarker\relax -\def\ef@end{\end}\def\ef@true{true} -\def\ef@rPage#1{\@tempcnta=#1\relax\advance\@tempcnta-1 - \edef\rPage##1{\the\@tempcnta}} -\long\def\ef@searchrPage#1\rPage#2#3\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\rPage{#2}\fi} -\def\ef@searchmlLink#1\mlLink#2#3\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\let\ef@mlLink\ef@Zero\else - \ifx\ef@argii\ef@true\let\ef@mlLink\ef@One\else - \let\ef@mlLink\ef@Zero\fi\fi} -\def\ef@searchGoToR#1/GoToR#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@filecolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@searchURI#1/URI#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@urlcolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@searchCmdURI#1\URI#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@urlcolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@searchNamed#1/Named#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@menucolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@searchCmdNamed#1\Named#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@menucolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@searchLaunch#1/Launch#2\@nil{\def\ef@argii{#2}% - \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% - \def\ef@thislinkcolor{\@runcolor}\fi - \expandafter\ef@gobbleToendmarker\fi} -\def\ef@preprocessA#1{% - \let\rPage\relax\edef\ef@argi{#1}% - \ifx\annot@type\annot@type@link - \expandafter\ef@searchGoToR\ef@argi/GoToR\end\@nil - \expandafter\ef@searchURI\ef@argi/URI\end\@nil - \expandafter\ef@searchCmdURI\ef@argi\URI\end\@nil - \expandafter\ef@searchNamed\ef@argi/Named\end\@nil - \expandafter\ef@searchCmdNamed\ef@argi\Named\end\@nil - \expandafter\ef@searchLaunch\ef@argi/Launch\end\@nil - \ef@endmarker\fi - \let\rPage\ef@rPage - \expandafter\ef@searchrPage\ef@argi\rPage\end\@nil -} -\def\@eqA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@A\@empty\else\ef@preprocessA{#1}% - \def\eq@A{/A <<#1>>}\fi}\def\eq@A{} -\def\@eqmlLink#1{\def\eq@arg{#1}\ifx\eq@arg\ef@true - \let\ef@mlLink\ef@One\else\let\ef@mlLink\ef@Zero\fi} -\def\@eqLock#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Lock\@empty\else\def\eq@Lock{/Lock <<#1>>}\fi} - \def\eq@Lock{} -\newif\ifisCalculate\isCalculatefalse -\def\ef@searchCalc#1\AACalculate#2\@nil{% - \ifx#2\end\else\aftergroup\isCalculatetrue\fi -} -\def\@eqAA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty\let\eq@AA\@empty - \else\begingroup\ef@searchCalc#1\AACalculate\end\@nil\endgroup - \def\eq@AA{/AA <<#1>>}\fi} -\def\eq@AA{/AA <<\eq@AAmouseup\eq@AAmousedown\eq@AAmouseenter% - \eq@AAmouseexit\eq@AAonfocus\eq@AAonblur\eq@AAformat% - \eq@AAkeystroke\eq@AAvalidate\eq@AAcalculate\eq@AApageopen% - \eq@AApageclose\eq@AApagevisible\eq@AApageinvisible>>} -\def\@eqAAmouseup#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAmouseup\@empty\else\def\eq@AAmouseup{/U<<\JS{#1}>>}\fi} -\let\eq@AAmouseup\@empty -\def\@eqAAmousedown#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAmousedown\@empty\else - \def\eq@AAmousedown{/D<<\JS{#1}>>}\fi} -\let\eq@AAmousedown\@empty -\def\@eqAAmouseenter#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAmouseenter\@empty\else - \def\eq@AAmouseenter{/E<<\JS{#1}>>}\fi} -\let\eq@AAmouseenter\@empty -\def\@eqAAmouseexit#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAmouseexit\@empty\else - \def\eq@AAmouseexit{/X<<\JS{#1}>>}\fi} -\let\eq@AAmouseexit\@empty -\def\@eqAAonfocus#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAonfocus\@empty\else - \def\eq@AAonfocus{/Fo<<\JS{#1}>>}\fi} -\def\@eqAAmousefocus{\@eqAAonfocus} -\let\eq@AAonfocus\@empty -\def\@eqAAonblur#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAonblur\@empty\else - \def\eq@AAonblur{/Bl<<\JS{#1}>>}\fi} -\def\@eqAAmouseblur{\def\@eqAAonblur} -\let\eq@AAonblur\@empty -\def\@eqAAformat#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAformat\@empty\else - \def\eq@AAformat{/F<<\JS{#1}>>}\fi} -\let\eq@AAformat\@empty -\def\@eqAAkeystroke#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAkeystroke\@empty\else - \def\eq@AAkeystroke{/K<<\JS{#1}>>}\fi} -\let\eq@AAkeystroke\@empty -\def\@eqAAvalidate#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAvalidate\@empty\else - \def\eq@AAvalidate{/V<<\JS{#1}>>}\fi} -\let\eq@AAvalidate\@empty -\def\@eqAAcalculate#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AAcalculate\@empty\else\isCalculatetrue - \def\eq@AAcalculate{/C<<\JS{#1}>>}\fi} -\let\eq@AAcalculate\@empty -\def\@eqAApageopen#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AApageopen\@empty\else - \def\eq@AApageopen{/PO<<\JS{#1}>>}\fi} -\let\eq@AApageopen\@empty -\def\@eqAApageclose#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AApageclose\@empty\else - \def\eq@AApageclose{/PC<<\JS{#1}>>}\fi} -\let\eq@AApageclose\@empty -\def\@eqAApagevisible#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AApagevisible\@empty\else - \def\eq@AApagevisible{/PV<<\JS{#1}>>}\fi} -\let\eq@AApagevisible\@empty -\def\@eqAApageinvisible#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AApageinvisible\@empty\else - \def\eq@AApageinvisible{/PI<<\JS{#1}>>}\fi} -\let\eq@AApageinvisible\@empty -\def\@eqDA#1{\def\eq@DA{#1}} -\def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% -\def\@eqtextFont#1{\def\eq@textFont{/#1}} -\def\eq@textFont{/Helv} -\def\@eqtextSize#1{\def\eq@textSize{#1}} -\def\eq@textSizeDefault{9} -\edef\eq@textSize{\eq@textSizeDefault} -\def\eq@RV@Body{} -\def\eq@RV@endBody{} -\def\@eqRV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@RV\@empty\else\def\eq@RV{/RV(\eq@RV@Body#1% - \eq@RV@endBody)\fi}}\def\eq@RV{} -\def\@eqDS#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@DS\@empty\else\def\eq@DS{/DS(#1)\fi}}\def\eq@DS{} -\def\@eqtextColor#1{\ef@parsePDFColor{#1}% - \HyColor@IfXcolor{% - \expandafter\HyColor@FieldColor% - \expandafter{\ef@colorSpec@out}{\eq@textColor}{}{}% - }{\edef\eq@textColor{\ef@colorSpec@out}}% -} -\def\eq@textColor{0 g} -\def\@eqQ#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Q\@empty\else\def\eq@Q{/Q #1}\fi}\def\eq@Q{} -\def\ef@isunicode#1\unicodeStr#2\@nil{\def\argi{#1}% - \ifx\argi\@empty\def\ifbool@ef{iftrue}\else - \def\ifbool@ef{iffalse}\fi} -\def\@eqDV#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equDV{#1}\else - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@DV\@empty\else - \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% - \edef\eq@DV{/DV(\ef@uni@temp)}\makespecialJS\fi\fi}\def\eq@DV{} -\def\ef@pdfCRLFTABDefns{% - \def\r{\textCR}\def\t{\textHT}\def\n{\textLF}} -\def\@eqnuDV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@DV\@empty\else\def\eq@DV{/DV(#1)}\fi} -\def\@equDV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@DV\@empty\else\def\eq@DV{/DV<#1>}\fi} -\def\@eqV#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equV{#1}\else - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@V\@empty\else - \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% - \edef\eq@V{/V(\ef@uni@temp)}\makespecialJS\fi\fi}\def\eq@V{} -\def\@eqnuV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@V\@empty\else\def\eq@V{/V(#1)}\fi} -\def\@equV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@V\@empty\else\def\eq@V{/V<#1>}\fi}% -\def\@eqTU#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equTU{#1}\else - \def\eq@arg{#1}\let\r@save\r\let\r\textCR - \ifx\eq@arg\@empty\let\eq@TU\@empty\else - \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% - \edef\eq@TU{/TU(\ef@uni@temp)}\makespecialJS\fi\fi - \let\r\r@save}\def\eq@TU{} -\def\@equTU#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@TU\@empty\else\def\eq@TU{/TU<#1>}\fi} -\def\@eqFf#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Ff\@empty\else\def\eq@Ff{/Ff #1}\fi} - \def\eq@Ff{} -\def\@eqMaxLen#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@MaxLen\@empty\else\def\eq@MaxLen{/MaxLen #1}\fi}% - \def\eq@MaxLen{} -\def\@eqH#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@H\@empty\else\def\eq@H{/H/#1}\fi}\def\eq@H{} -\def\@eqMK#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@MK\@empty\else\def\eq@MK{/MK << #1 >> }\fi}% - \def\eq@MK{} - \let\@vertRotate=0 - \def\@eqR#1{\def\eq@R@value{#1}\ifx\eq@R@value\@empty - \let\eq@R\@empty\else - \@tempcnta=\eq@R@value\relax - \ifnum\@tempcnta<0 \@tempcnta=-\@tempcnta\fi - \ifnum\@tempcnta=0 \else\ifnum\@tempcnta=180 \else - \let\@vertRotate=1\fi\fi - \def\eq@R{/R #1}\fi} - \def\eq@R{} - \def\@eqBC#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@BC\@empty\else % 2010/07/23 - \expandafter\ef@isitnamed\eq@arg\ef@nil - \ifx\ef@latex@color\ef@y\expandafter - \HyColor@XZeroOneThreeFour\expandafter{\eq@arg}{\eq@BC}{}{}% - \edef\eq@BC{/BC [\eq@BC]}\else - \def\eq@BC{/BC [#1]}\fi - \fi} - \def\eq@BC{} - \def\@eqBG#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@BG\@empty\else % 2010/07/23 - \expandafter\ef@isitnamed\eq@arg\ef@nil - \ifx\ef@latex@color\ef@y\expandafter - \HyColor@XZeroOneThreeFour\expandafter{\eq@arg}{\eq@BG}{}{}% - \edef\eq@BG{/BG [\eq@BG]}\else - \def\eq@BG{/BG [#1]}\fi - \fi} - \def\eq@BG{} - \def\@eqCA#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equCA{#1}\else - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@CA\@empty\let\ef@kvCA\@empty - \else\ef@pdfCRLFTABDefns - \pdfstringdef\ef@uni@temp{#1}% - \def\eq@CA{#1}\edef\ef@kvCA{/CA(\ef@uni@temp)}% - \makespecialJS\fi\fi} - \def\eq@CA{}\def\ef@kvCA{} - \def\@equCA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@CA\@empty\let\ef@kvCA\@empty - \else\def\eq@CA{#1}\def\ef@kvCA{/CA<#1>}\fi} - \def\@eqRC#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equRC{#1}\else - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@RC\@empty\let\ef@kvRC\@empty - \else\ef@pdfCRLFTABDefns - \pdfstringdef\ef@uni@temp{#1}% - \def\eq@RC{#1}\edef\ef@kvRC{/RC(\ef@uni@temp)}% - \makespecialJS\fi\fi} - \def\eq@RC{}\def\ef@kvRC{} - \def\@equRC#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@RC\@empty\let\ef@kvRC\@empty - \else\def\eq@RC{#1}\def\ef@kvRC{/RC<#1>}\fi} - \def\@eqAC#1{\ef@isunicode#1\unicodeStr\@nil - \expandafter\csname\ifbool@ef\endcsname\@equAC{#1}\else - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AC\@empty\let\ef@kvAC\@empty - \else\ef@pdfCRLFTABDefns - \pdfstringdef\ef@uni@temp{#1}% - \def\eq@AC{#1}\edef\ef@kvAC{/AC(\ef@uni@temp)}% - \makespecialJS\fi\fi} - \def\eq@AC{}\def\ef@kvAC{} - \def\@equAC#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@AC\@empty\let\ef@kvAC\@empty - \else\def\eq@AC{#1}\def\ef@kvAC{/AC<#1>}\fi} -\def\eq@define@IconMK{\def\eq@IconMK{\eq@I\eq@RI\eq@IX\eq@TP - /IF<<\eq@SW\eq@ST\eq@PA\eq@FB>>}} -\let\eq@IconMK\@empty -\ifpdf\def\eq@relRef#1{0 0 R}\else %{#1\space 0 R} - \ifxetex\def\eq@relRef#1{#1}\else - \def\eq@relRef#1{{#1}}\fi\fi -\def\ef@null{null} -\def\@eqI#1{\ifx\annot@type\annot@type@button - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@I\@empty\else - \def\eq@I{/I \eq@relRef{#1}}% - \ifpdf\ifx\eq@arg\ef@null - \def\eq@I{/I 0 0 R}\fi\fi - \eq@define@IconMK\fi\fi} -\def\eq@I{} -\def\@eqRI#1{\ifx\annot@type\annot@type@button - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@RI\@empty\else - \def\eq@RI{/RI \eq@relRef{#1}}% - \ifpdf\ifx\eq@arg\ef@null - \def\eq@RI{/RI 0 0 R}\fi\fi - \eq@define@IconMK\fi\fi} -\def\eq@RI{} -\def\@eqIX#1{\ifx\annot@type\annot@type@button - \def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@IX\@empty\else - \def\eq@IX{/IX \eq@relRef{#1}}% - \ifpdf\ifx\eq@arg\ef@null - \def\eq@IX{/IX 0 0 R}\fi\fi - \eq@define@IconMK\fi\fi} -\def\eq@IX{} -\def\@eqTP#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@TP\@empty\else\def\eq@TP{/TP #1}\fi} -\def\eq@TP{/TP 0} % default 0 -\def\@eqSW#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@SW\@empty\else\def\eq@SW{/SW/#1}\fi} -\def\eq@SW{/SW/A} % the default, always scale -\def\@eqST#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@ST\@empty\else\def\eq@ST{/S/#1}\fi} -\def\eq@ST{/S/P} % the default, proportional scaling -\def\@eqPA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@PA\@empty\else\def\eq@PA{/A [#1]}\fi} -\def\eq@PA{/A [0.5 0.5]} % the default -\def\@eqFB#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@PA\@empty\else\def\eq@FB{/FB #1}\fi} -\def\eq@FB{/FB false} % the default -\def\@eqmkIns#1{\def\eq@mkIns{#1}}\def\eq@mkIns{} -\def\@eqOpt#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Opt\@empty\else\def\eq@Opt{/Opt [#1]}\fi} - \def\eq@Opt{} -\def\@eqTI#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@TI\@empty\else\def\eq@TI{/TI #1}\fi} - \def\eq@TI{} -\def\@eqrawPDF#1{\def\eq@rawPDF{#1}}\def\eq@rawPDF{} -\def\@eqQuadPoints#1{\def\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@QuadPoints\@empty\else - \def\eq@QuadPoints{/QuadPoints {#1}}\fi} -\def\eq@QuadPoints{} -\def\@eqColor#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty - \let\eq@Color\@empty\else - \HyColor@XZeroOneThreeFour{#1}{\eq@Color}{}{}% - \edef\eq@Color{/C[\eq@Color]}\fi} -\def\eq@Color{} -\def\@eqlinktxtcolor#1{% - \def\ef@argi{#1}\ifHy@colorlinks - \ifx\ef@argi\@empty\let\ef@colorthislink\normalcolor\else - \let\ef@linktxtcolor@set=1\def\ef@thislinkcolor{#1}\fi\fi -}\let\ef@linktxtcolor@set=0 -\def\@eqrectH#1{\def\eq@rectH{#1}\ifx\eq@rectH\@empty\else - \setlength\eflength\eq@rectH\edef\eq@rectH{\the\eflength}\fi} -\def\@eqrectW#1{\def\eq@rectW{#1}\ifx\eq@rectW\@empty\else - \setlength\eflength\eq@rectW\edef\eq@rectW{\the\eflength}\fi} -\def\@eqobjdef#1{\def\ef@arg{#1}\ifx\ef@arg\@empty - \let\eq@objdef\@empty\else\def\eq@objdefName{#1}% - \def\eq@objdef{/_objdef {#1}}\fi -} -\let\eq@objdef\@empty -\def\@eqtaborder#1{\def\ef@arg{#1}\ifx\ef@arg\@empty - \let\eq@taborder\@empty\else - \def\eq@taborder{#1}\fi -} -\let\eq@taborder\@empty -\def\ef@y{y}\def\ef@n{n} -\def\@eqautoCenter#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y - \let\autoCenter\ef@y\else\ifx\ef@arg\ef@n - \let\autoCenter\ef@n\else\let\autoCenter\ef@y - \PackageWarning{eforms}{The value of '#1' is not a - supported value\MessageBreak for \string\autoCenter.\MessageBreak - Using the default of 'y'}% - \fi\fi} -\let\autoCenter\ef@y -\newif\ifeq@inlineCenter \eq@inlineCenterfalse -\let\inlineCenter=n -\def\@eqinline#1{\eq@inlineCenterfalse - \def\ef@arg{#1}\ifx\ef@arg\ef@y - \let\inlineCenter\ef@y\eq@inlineCentertrue\else - \ifx\ef@arg\ef@n\let\inlineCenter\ef@n\else\let\inlineCenter\ef@n - \PackageWarning{eforms}{The value of '#1' is not a - supported value\MessageBreak for \string\inline.\MessageBreak - Using the default of 'n'}% - \fi\fi} -\def\@eqsymbolchoice#1{\expandafter\ifx\csname eq@#1\endcsname\relax - \typeout{exerquiz: `#1' is not an acceptable option - for \string\symbolechoice, inserting default, `check'.} - \edef\symbol@choice{\eq@check}\else - \edef\symbol@choice{\csname eq@#1\endcsname}\fi -} -\newif\iffixmlinks \fixmlinkstrue -\def\mlfixOn{\fixmlinkstrue} -\def\mlfixOff{\fixmlinksfalse} -\def\@eqmlfix#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y - \mlfixOn\else\ifx\ef@arg\ef@n - \mlfixOff\else\mlfixOn - \PackageWarning{eforms}{The value of '#1' is not a - supported value\MessageBreak for \string\mlfix.\MessageBreak - Using the default of 'y'}% - \fi\fi} -\newbox\mlstrutbox -\def\@eqmlstrut#1{\setbox\mlstrutbox\hbox{#1}% - \def\ml@strut{\vrule \@height\ht\mlstrutbox - \@depth\dp\mlstrutbox - \@width\z@\relax}} -\def\ml@strut{\relax\ifmmode\copy\mlstrutbox\else - \unhbox\mlstrutbox\fi} -\@eqmlstrut{\strut} -\def\@eqmlcrackat#1{\def\eq@mlcrackat{#1}} -\let\eq@mlcrackat\@empty -\def\@eqmlhyph#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y - \def\eq@mlhyph{-}\else\ifx\ef@arg\ef@n - \let\eq@mlhyph\@empty\else\let\eq@mlhyph\@empty - \PackageWarning{eforms}{The value of '#1' is not a - supported value\MessageBreak for \string\mlhyph.\MessageBreak - Using the default of 'n'}\fi\fi} -\let\eq@mlhyph\@empty -\def\@eqmlignore#1{\let\eq@mlignore\ef@YES} -\let\eq@mlignore\ef@NO -\def\@eqmlcrackinsat#1{\def\eq@mlcrackinsat{#1}} -\let\eq@mlcrackinsat\@empty -\def\eq@protect#1{\let#1\@empty} -\begingroup\catcode`\#=12 \catcode`*=6 - \ifpdfmarkup - \gdef\ef@Hx*1*2{\@nameuse{efHex*1*2}}\else - \gdef\ef@Hx*1*2{\@nameuse{efHex*1*2}}\fi -\endgroup -\def\efHxError{\PackageError{eforms}{The glyph is not supported}{}} -\def\HGERROR{efHxError} -\ifpdfmarkup - \def\HexGlyph#1#2{\def\arg@ii{#2}\ifx\arg@ii\HGERROR - \global\@namedef{efHex#1}{\csname#2\endcsname}\else - \global\@namedef{efHex#1}{\expandafter - \string\csname#2\endcsname}\fi} -\else - \begingroup\catcode`\#=12 \catcode`*=6 - \gdef\HexGlyph*1*2{\def\arg@ii{*2}\ifx\arg@ii\HGERROR - \global\@namedef{efHex*1}{\csname*2\endcsname}\else - \global\@namedef{efHex*1}{#*1}\fi} - \endgroup -\fi -\def\ef@inputPDFHEX{\InputIfFileExists{pdfdochex.def} - {\PackageInfo{eforms}{Inputting pdfdochex.def}}{}} -\AtEndOfPackage{\ef@inputPDFHEX} -\def\ef@semicolon{;} -\def\ef@stripsemi#1;\@nil{\def\ef@colorSpec@out{#1}} -\def\ef@isitnamed{\let\ef@latex@color\ef@y - \@ifnextchar[{\ef@gobbletonil}{% - \@tfor\mytok:=.0123456789\do{% - \if\mytok\@let@token - \let\ef@latex@color\ef@n - \@break@tfor\fi}\ef@gobbletonil}} -\def\ef@gobbletonil#1\ef@nil{} -\def\ef@parsePDFColor#1{\edef\ef@color@arg{#1}\ef@parsePDFColori} -\def\ef@parsePDFColori{% - \expandafter\ef@@parsePDFColor\ef@color@arg; ; ; ; ; ;\\} -\def\ef@@parsePDFColor#1 #2 #3 #4 #5 #6\\{% - \def\argii{#2}\def\ef@cmp{g;}% - \ifx\argii\ef@cmp - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \def\ef@colorSpec@out{#1 g}\else - \def\ef@colorSpec@out{[gray]{#1}}% - \fi - \else\ifx\argii\ef@semicolon - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \ef@isitnamed#1\ef@nil - \ifx\ef@latex@color\ef@n - \ef@stripsemi#1\@nil - \edef\ef@colorSpec@out{\ef@colorSpec@out\space g}% - \else - \ef@stripsemi#1\@nil - \PackageWarning{eforms}{Color specification - `\ef@colorSpec@out' not supported\MessageBreak - without xcolor, using a black color} - \def\ef@colorSpec@out{0 g}% - \fi - \else % xcolor - \ef@isitnamed#1\ef@nil - \ifx\ef@latex@color\ef@n - \ef@stripsemi#1\@nil - \edef\ef@colorSpec@out{[gray]{\ef@colorSpec@out}}% - \else - \ef@stripsemi#1\@nil - \edef\ef@colorSpec@out{\ef@colorSpec@out}% - \fi - \fi - \else % not semicolon - \def\argiv{#4}\def\ef@cmp{rg;}% - \ifx\argiv\ef@cmp - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \def\ef@colorSpec@out{#1 #2 #3 rg}\else - \def\ef@colorSpec@out{[rgb]{#1,#2,#3}}\fi - \else\ifx\argiv\ef@semicolon - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \ef@stripsemi#1 #2 #3\@nil - \edef\ef@colorSpec@out{\ef@colorSpec@out\space rg}\else - \ef@stripsemi#3\@nil - \edef\ef@colorSpec@out{[rgb]{#1,#2,\ef@colorSpec@out}}\fi - \else - \def\argv{#5}\edef\ef@cmp{k;} - \ifx\argv\ef@cmp - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \def\ef@colorSpec@out{#1 #2 #3 #4 k}\else - \def\ef@colorSpec@out{[cmyk]{#1,#2,#3,#4}}\fi - \else - \ifx\argv\ef@semicolon - \ef@stripsemi#1 #2 #3 #4\@nil - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \edef\ef@colorSpec@out{\ef@colorSpec@out\space k}\else - \ef@stripsemi#4\@nil - \edef\ef@colorSpec@out{% - [cmyk]{#1,#2,#3,\ef@colorSpec@out}}\fi - \else\ef@parseColor@iv - \fi\fi\fi\fi\fi\fi -} -\def\ef@parseColor@iv{\PackageError{AeB}{% - The number of arguments - is incorrect.\MessageBreak I was expecting - 1, 3, or 4 components of color}{Specify the correct number of - components for the color space.}} -\def\calcOrder#1{\let\efCalcOrder\@gobble - \@for\coi:=#1\do{\edef\efCalcOrder{\efCalcOrder,"\coi"}}% - \edef\efCalcOrder{[\efCalcOrder]}} -\@onlypreamble\calcOrder -\def\efCalcOrder{[]} -\def\eq@check{4} -\def\eq@circle{l} -\def\eq@cross{8} -\def\eq@diamond{u} -\def\eq@square{n} -\def\eq@star{H} -\let\symbolchoice\@eqsymbolchoice -\symbolchoice{check} -\providecommand{\JS}[1]{/S/JavaScript/JS(#1)} -\newcommand{\URI}[1]{/S/URI/URI(#1)} -\providecommand{\Named}[1]{/S/Named/N/#1} -\newcommand{\Next}[1]{/Next<<#1>>} -\providecommand{\toggleAttachmentsPanel}[2]{% - \setLink[\Border{0 0 0}\A{\Named{ShowHideFileAttachment}}] - {\textcolor{#1}{#2}}}% -\newcommand{\AAMouseUp}[1]{/U<<#1>>} -\newcommand{\AAMouseDown}[1]{/D<<#1>>} -\newcommand{\AAMouseEnter}[1]{/E<<#1>>} -\newcommand{\AAMouseExit}[1]{/X<<#1>>} -\newcommand{\AAOnFocus}[1]{/Fo<<#1>>} -\newcommand{\AAOnBlur}[1]{/Bl<<#1>>} -\newcommand{\AAFormat}[1]{/F<<\JS{#1}>>} -\newcommand{\AAKeystroke}[1]{/K<<\JS{#1}>>} -\newcommand{\AAValidate}[1]{/V<<\JS{#1}>>} -\newcommand{\AACalculate}[1]{/C<<\JS{#1}>>} -\newcommand{\AAPageOpen}[1]{/PO<<\JS{#1}>>} -\newcommand{\AAPageClose}[1]{/PC<<\JS{#1}>>} -\newcommand{\AAPageVisible}[1]{/PV<<\JS{#1}>>} -\newcommand{\AAPageInvisible}[1]{/PI<<\JS{#1}>>} -\newcommand{\definePath}[1]{\def\ef@ctrlName{#1}% - \hyper@normalise\ef@definePath} -\def\ef@definePath#1{\expandafter\xdef\ef@ctrlName{#1}} -\def\FHidden{2} % bit 2: hidden field -\def\FPrint{4} % bit 3: print (we set this bit by default) -\def\FNoPrint{-4} % bit 3: -print (this clears the bit) -\def\FNoView{32} % bit 6: no view -\def\FLock{128} % bit 8: locked field (PDF 1.4) -\def\FfReadOnly{1} % all -\def\FfRequired{2} % all -\def\FfNoExport{4} % all -\def\FfMultiline{4096} % text -\def\FfPassword{8192} % text -\def\FfNoToggleToOff{16384} % radio -\def\FfRadio{32768} % radio -\def\FfPushButton{65536} % Push button -\def\FfCombo{131072} % choice -\def\FfEdit{262144} % combo -\def\FfSort{524288} % choice -\def\FfFileSelect{1048576} % text (PDF 1.4) -\def\FfMultiSelect{2097152} % choice (PDF 1.4) -\def\FfDoNotSpellCheck{4194304} % text, combo (PDF 1.4) -\def\FfDoNotScroll{8388608} % text (PDF 1.4) -\def\FfComb{16777216} % text (PDF 1.5) -\def\FfRadiosInUnison{33554432} % radio (PDF 1.5) -\def\FfCommitOnSelChange{67108864} % choice (PDF 1.5) -\def\FfRichText{33554432} % radio (PDF 1.5) -\def\getFfValue/Ff#1\@nil{\def\eq@FfValue{#1}} -\def\getFValue/F#1\@nil{\def\eq@FValue{#1}} -\def\@getCmdName#1{\edef\@CmdName{\expandafter\@gobble\string#1}} -\newcommand{\everyTextField}[1]{\def\every@TextField{#1}} -\def\every@TextField{} -\newcommand{\everySigField}[1]{\def\every@sigField{#1}} -\def\every@sigField{} -\newcommand{\everyCheckBox}[1]{\def\every@CheckBox{#1}} -\def\every@CheckBox{} -\newcommand{\everyRadioButton}[1]{\def\every@RadioButton{#1}} -\def\every@RadioButton{} -\newcommand{\everyButtonField}[1]{\def\every@ButtonField{#1}} -\def\every@ButtonField{} -\newcommand{\everyPushButton}[1]{\def\every@PushButton{#1}} -\def\every@PushButton{} -\newcommand{\everyListBox}[1]{\def\every@listBox{#1}} -\newcommand{\everyComboBox}[1]{\def\every@comboBox{#1}} -\def\every@listBox{}\def\every@comboBox{} -\newcommand{\everyLink}[1]{\def\every@Link{#1}} -\def\every@Link{} -\def\ef@adjrectWH#1{\dimen@ii#1\relax - \ifx\eq@rectW\@empty\else - \eflength\eq@rectW\relax - \advance\eflength\dimen@ii - \edef\eq@rectW{\the\eflength}% - \eflength\eq@rectH\relax - \advance\eflength\dimen@ii - \edef\eq@rectH{\the\eflength}% - \fi -} -\def\ef@djXPD{\ifxetex\ifmakeXasPD\ef@adjrectWH{2bp}\fi - \else\ifmakePDasX\ef@adjrectWH{-2bp}\fi\fi} -\def\ef@btnspcr{} -\def\eq@setButtonProps#1#2{% - \makeJSspecials - \processAppArgs#2\end\@nil % set widget properties - \ifx\eq@BC\@empty\@eqW{}\else - \if\eq@W@value0\let\eq@BC\@empty\fi\fi - \Hy@pdfstringfalse - \ifx\eq@rectW\@empty - \ifnum\eq@textSize=0 \else - \dimen@=\eq@textSize bp - \dimen@1.00375\dimen@ - \edef\eq@textSize@pt{\strip@pt\dimen@}% - \fontsize{\eq@textSize@pt}{0}\selectfont - \fi - \dimen@\eq@W@value bp - \def\eq@S@B{B}\ifx\eq@S@value\eq@S@B - \def\eq@btn@sp{\hbox to2\dimen@{\hfill}}% - \else - \def\eq@btn@sp{\hbox to\dimen@{\hfill}}% - \fi - \expandafter\def\expandafter - \ef@btnspcr\expandafter{\ef@btnspcr\eq@btn@sp}% - \sbox{\eq@tmpbox}{\ef@btnspcr\eq@CA\ef@btnspcr}% - \eq@tmpdima=\wd\eq@tmpbox - \sbox{\eq@tmpbox}{\ef@btnspcr\eq@RC\ef@btnspcr}% - \ifdim\eq@tmpdima>\wd\eq@tmpbox\else - \eq@tmpdima=\wd\eq@tmpbox\fi% - \sbox{\eq@tmpbox}{\ef@btnspcr\eq@AC\ef@btnspcr}% - \ifdim\eq@tmpdima>\wd\eq@tmpbox\else - \eq@tmpdima=\wd\eq@tmpbox\fi - \ifmakePDasX\advance\eq@tmpdima2bp\fi - \wd\eq@tmpbox=\eq@tmpdima - \else - \wd\eq@tmpbox=\eq@rectW - \fi - \ef@djXPD#1% dps 12/22 -} -\def\eq@setWidgetProps#1#2{% - \makeJSspecials - \processAppArgs#2\end\@nil % set widget properties - \ifx\annot@type@link\annot@type\else - \ifx\eq@BC\@empty\@eqW{}\else - \if\eq@W@value0\let\eq@BC\@empty\fi\fi - \fi - \ef@djXPD#1% dps 12/22 -} -\def\ef@sanitize@toks{\@makeother\~\@makeother\#\@makeother\&% - \@makeother\"\@makeother\_} -\newcommand\efKern[2]{\ifxetex\kern#2\else\kern#1\fi} -\newcommand\olBdry{\bgroup\ifxetex % dps 12/22 - \@tempdima-\g@eq@W@value@bp\relax - \edef\@mtkern{\the\@tempdima}\else - \@tempdima2bp\relax\advance\@tempdima-\g@eq@W@value@bp\relax % 12/26 - \edef\@mtkern{\the\@tempdima}\fi\kern\@mtkern\egroup -} -\newcommand\cgBdry[1][0bp]{\bgroup\def\ef@rgi{#1}\ifx\ef@rgi\@empty - \def\ef@rgi{0bp}\fi\setlength{\@tempdima}{\ef@rgi}% - \ifxetex\else\addtolength{\@tempdima}{2bp}\fi - \kern\@tempdima\egroup\ignorespaces} -\newcommand{\efSupprIndent}{\ef@scratchtoks=\expandafter{\the\everypar}% - \everypar{{\setbox\z@\lastbox}\clubpenalty\@M - \everypar=\expandafter{\the\ef@scratchtoks}}} -\newcommand\volBdry{\bgroup\parskip0pt\relax\@@par\nointerlineskip - \olBdry\egroup\efSupprIndent} -\newcommand\vcgBdry{\@ifstar{\edef\ef@offset{\the\parskip}\vcgBdry@i} - {\def\ef@offset{0pt}\vcgBdry@i}} -\newcommand\vcgBdry@i[1][0bp]{\bgroup - \setlength{\ef@dimena}{#1-\ef@offset}\parskip0pt\relax - \par\nointerlineskip\cgBdry[\ef@dimena]% - \egroup\ignorespaces\efSupprIndent} -\def\common@choiceCode{% - /Subtype/Widget - /T (\Fld@name) - /FT/Ch - \eq@Ff - \eq@F - \eq@TU - \eq@TI - /BS << \eq@W\eq@S >> - /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> - /DA (\eq@DA) - /Opt [\eq@Opt] - \eq@DV\eq@V - \eq@A\eq@AA - \eq@rawPDF -} -\def\eqf@setDimens#1#2{\@eqrectW{#1}\@eqrectH{#2}} -\let\ef@@nil\relax -\def\@gobbleto@@nil#1\ef@@nil{}% -\long\def\g@addto@macrogobble#1#2{\g@addto@macro{#1}{#2}\@gobbleto@@nil} -\def\passthruCLOpts{*} -\def\ef@pdfstrCLOpt{\Hy@unicodefalse\def\eq@Opt{}\ef@pdfstrCLOpti} -\def\ef@pdfstrCLOpti{\@ifnextchar\ef@@nil{\@gobble}{\ef@pdfstrCLOptia}} -\def\ef@pdfstrCLOptia{\@ifnextchar[{\expandafter - \ef@pdfstrOptWBii\@gobble}{\ef@pdfstrCLOptb}} -\def\ef@pdfstrCLOptb{\@ifstar{\g@addto@macrogobble\eq@Opt} - {\ef@pdfstrOptWPi}} -\def\ef@pdfstrOptWBii{% - \@ifnextchar({\ef@pdfstrOptWBiia}{\PackageError{eforms} - {Left parenthesis expected here}{}}% -} -\def\ef@pdfstrOptWBiia(#1){% - \g@addto@macro\eq@Opt{[(}% - \pdfstringdef\@optTokstemp{#1}% - \expandafter\g@addto@macro\expandafter\eq@Opt - \expandafter{\@optTokstemp}% - \@ifnextchar({\ef@pdfstrOptWBiib}{\PackageError{eforms} - {Left parenthesis expected here}{}}% -} -\def\ef@pdfstrOptWBiib(#1){% - \g@addto@macro\eq@Opt{)(}% - \pdfstringdef\@optTokstemp{#1}% - \expandafter\g@addto@macro\expandafter\eq@Opt - \expandafter{\@optTokstemp}% - \g@addto@macro\eq@Opt{)]}% - \expandafter\ef@pdfstrCLOpti\@gobble -} -\def\ef@pdfstrOptWPi{\@ifnextchar\ef@@nil{\@gobble}{\ef@pdfstrOptWPii}} -\def\ef@pdfstrOptWPii(#1){% - \g@addto@macro\eq@Opt{(}% - \pdfstringdef\@optTokstemp{#1}% - \expandafter\g@addto@macro\expandafter\eq@Opt - \expandafter{\@optTokstemp}% - \g@addto@macro\eq@Opt{)}% - \ef@pdfstrCLOpti} -\def\annot@type@listbox{listbox} -\newcommand\list@@Box[8]{\begingroup - \edef\annot@type{\annot@type@listbox}% - \pdfstringdef\Fld@name{#2}% - \expandafter\ef@pdfstrCLOpt#5\ef@@nil - \eqf@setDimens{#3}{#4}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@processEvery#8\end\noindent#6#7{#1}% -} -\def\listBoxDefaults{% - \W{1}\S{I}\F{\FPrint}\BC{0 0 0} -} -\newcommand\listBox{\begingroup - \ef@sanitize@toks\ef@listbox -} -\newcommand{\ef@listbox}[1][]{% - \endgroup\ef@listBox[#1]% -} -\newcommand\ef@listBox[5][]{% - \mbox{\list@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps - \eq@choice@driver}{\listBoxDefaults\every@listBox}}% -} -\def\annot@type@combobox{combobox} -\newcommand\combo@@Box[8]{\begingroup - \edef\annot@type{\annot@type@combobox}% - \@eqFf{\FfCombo}\pdfstringdef\Fld@name{#2}% - \expandafter\ef@pdfstrCLOpt#5\ef@@nil - \eqf@setDimens{#3}{#4}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@processEvery#8\end\noindent#6#7{#1}% -} -\def\comboBoxDefaults{% - \W{1}\S{I}\F{\FPrint}\BC{0 0 0} -} -\newcommand\comboBox{\begingroup - \ef@sanitize@toks\ef@combobox -} -\newcommand{\ef@combobox}[1][]{% - \endgroup\ef@comboBox[#1]% -} -\newcommand\ef@comboBox[5][]{% - \mbox{\combo@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps - \eq@choice@driver}{\comboBoxDefaults\every@comboBox}}% -} -\def\common@pushButtonCode{% - /Subtype/Widget - /T (\Fld@name) - /FT/Btn - \eq@Ff - \eq@TU - \eq@H - \eq@F - /BS <<\eq@W\eq@S >> -\ifx\eq@AP\@empty - /MK <<\eq@R\eq@BC\eq@BG% - \ef@kvCA\ef@kvRC\ef@kvAC\eq@IconMK\eq@mkIns>> -\else - \eq@AP -\fi - /DA (\eq@DA) - \eq@A\eq@AA - \eq@rawPDF -} -\def\common@RadioCheckCode{% - /Subtype/Widget - /T (\Fld@name) - /FT/Btn - \eq@Ff - \eq@F - \eq@TU - /BS <<\eq@W\eq@S>> -\ifx\eq@AP\@empty - /AP<< /N <<\eq@On<<>>>> >> - \eq@MK -\else - \eq@AP -\fi - /DA (\eq@DA) - \eq@AS - \eq@DV\eq@V - \eq@A\eq@AA - \eq@rawPDF -} -\def\annot@type@button{pushbtn} -\newcommand\push@@Button[7]{\begingroup - \edef\annot@type{\annot@type@button}% - \pdfstringdef\Fld@name{#2}%\edef\Fld@name{#2}% - \makeJSspecials\ef@preProcDefns - \def\eq@Ff{/Ff \FfPushButton}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \eqf@setDimens{#3}{#4}% - \@processEvery#7\end\noindent#5#6{#1}% -} -\def\pushButtonDefaults{% - \W{1}\S{B}\F{\FPrint}\BC{0 0 0} - \H{P}\BG{.7529 .7529 .7529} -} -\newcommand\pushButton{\begingroup - \ef@sanitize@toks\ef@pushbutton -} -\newcommand{\ef@pushbutton}[1][]{% - \endgroup\ef@pushButton[#1]% -} -\newcommand\ef@pushButton[4][]{% - \mbox{\push@@Button{#1}{#2}{#3}{#4}{}{% - \eq@setButtonProps\eq@Button@driver}% - {\pushButtonDefaults\every@PushButton}}% -} -\def\annot@type@checkbox{checkbox} -\newcommand\check@@Box[8] -{% - \begingroup\let\#\ef@Hx - \edef\annot@type{\annot@type@checkbox}% - \pdfstringdef\Fld@name{#2}\@eqAS{Off}% - \def\@eqDV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty\let\eq@DV\@empty - \else\ifpdfmarkup\def\eq@DV{/DV(##1) cvn }\else - \def\eq@DV{/DV/##1}\fi\fi}% - \def\@eqV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty - \let\eq@V\@empty\else\ifpdfmarkup\def\eq@V{/V(##1) cvn }\else - \def\eq@V{/V/##1}\fi\@eqAS{##1}\fi}% - \eqf@setDimens{#3}{#4}% - \ifpdfmarkup\def\eq@On{(#5) cvn }\else - \def\eq@On{/#5}\fi\@eqtextFont{ZaDb}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@eqMK{\eq@R\eq@BC\eq@BG/CA(\symbol@choice)\eq@mkIns}% - \@processEvery#8\end\noindent#6#7{#1}% -} -\def\checkBoxDefaults{% - \F{\FPrint}\W{1}\S{S}\BC{0 0 0}% -} -\newcommand\checkBox{\begingroup - \ef@sanitize@toks\ef@checkbox -} -\newcommand{\ef@checkbox}[5][]{% - \endgroup\mbox{\check@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps - \eq@RadioCheck@driver}{\checkBoxDefaults\every@CheckBox}}% -} -\def\annot@type@radio{radiobtn} -\newcommand\radio@@Button[8]{\begingroup\let\#\ef@Hx - \edef\annot@type{\annot@type@radio}% - \pdfstringdef\Fld@name{#2}\@eqAS{Off}% - \def\@eqDV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty\let\eq@DV\@empty - \else\ifpdfmarkup\def\eq@DV{/DV(##1) cvn }\else - \def\eq@DV{/DV/##1}\fi\fi}% - \def\@eqV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty - \let\eq@V\@empty\else\ifpdfmarkup\def\eq@V{/V(##1) cvn }\else - \def\eq@V{/V/##1}\fi\@eqAS{##1}\fi}% - \eqf@setDimens{#3}{#4}% - \ifpdfmarkup\def\eq@On{(#5) cvn }\else\def\eq@On{/#5}\fi - \def\eq@Ff{/Ff \FfRadio}\@eqtextFont{ZaDb}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@eqMK{\eq@R\eq@BC\eq@BG/CA(\symbol@choice)\eq@mkIns}% - \@processEvery#8\end\noindent#6#7{#1}% -} -\def\radioButtonDefaults -{% - \W{1}\S{S}\BC{0 0 0}\F{\FPrint} -} -\newcommand\radioButton{\begingroup - \ef@sanitize@toks\ef@radiobutton -} -\newcommand{\ef@radiobutton}[5][]{\endgroup - \mbox{\radio@@Button{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps - \eq@RadioCheck@driver}{\radioButtonDefaults\every@RadioButton}}% -} -\newcommand\ef@radioButton[5][] -{% - \mbox{\radio@@Button{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps - \eq@RadioCheck@driver}{\radioButtonDefaults\every@RadioButton}}% -} -\def\common@TextFieldCode -{% - /Subtype/Widget - /T (\Fld@name) - /FT/Tx - \eq@Ff - \eq@F - \eq@Q - \eq@TU - \eq@MaxLen - /BS <<\eq@W\eq@S>> - /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> - /DA (\eq@DA) - \eq@DV\eq@V - \eq@RV\eq@DS - \eq@A\eq@AA - \eq@rawPDF -} -\def\annot@type@text{textfld} -\newcommand\text@@Field[7] -{% - \begingroup - \edef\annot@type{\annot@type@text}% - \pdfstringdef\Fld@name{#2}\def\eq@Title{#2}% - \eqf@setDimens{#3}{#4}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@processEvery#7\end\noindent#5#6{#1}% -} -\def\textFieldDefaults -{% - \F{\FPrint}\BC{0 0 0}\W{1}\S{S} -} -\newcommand\textField{\begingroup - \ef@sanitize@toks\ef@textfield -} -\newcommand{\ef@textfield}[2][]{% - \endgroup\ef@textField[#1]{#2}% -} -\newcommand\ef@textField[4][] -{% - \mbox{\text@@Field{#1}{#2}{#3}{#4}{}% - {\eq@setWidgetProps\eq@TextField}% - {\textFieldDefaults\every@TextField}}% -} -\let\eqTextField\textField -\let\calcTextField\textField -\def\common@SigFieldCode -{% - /Subtype /Widget - /T (\Fld@name) - /FT/Sig - \eq@F - \eq@TU - /BS <<\eq@W\eq@S>> - /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> - /DA (\eq@DA) - \eq@Lock - \eq@A\eq@AA - \eq@rawPDF -} -\def\annot@type@sig{sigfld} -\newcommand\sig@@Field[7]{% - \begingroup - \edef\annot@type{\annot@type@sig}% - \pdfstringdef\Fld@name{#2}\def\eq@Title{#2}% - \eqf@setDimens{#3}{#4}% - \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% - \@processEvery#7\end\noindent#5#6{#1}% -} -\def\sigFieldDefaults -{% - \F{\FPrint}\BC{}\BG{}\W{1}\S{S} -} -\newcommand\sigField{\begingroup - \ef@sanitize@toks\ef@sigfield -} -\newcommand{\ef@sigfield}[1][]{% - \endgroup\ef@sigField[#1]% -} -\newcommand\ef@sigField[4][] -{% - \mbox{\sig@@Field{#1}{#2}{#3}{#4}{}{\eq@setWidgetProps\eq@SigField}% - {\sigFieldDefaults\every@sigField}}% -} -\def\common@LinkCode -{% - \eq@A % Action - \eq@H % Highlight - \eq@Color % Border color - \link@BS % Border styles - \eq@rawPDF % everything else -} -\def\annot@type@link{link} -\newcommand\set@@Link[7] -{% - \begingroup - \makeJSspecials - \edef\annot@type{\annot@type@link}% - \ef@preProcDefns - \eqf@setDimens{#2}{#3}% - \ifx\eq@rectW\@empty\def\link@@Box{#4}\else - \def\eq@arg{#4}\ifx\eq@arg\@empty - \def\eq@content{\hfill\vfill}\else\def\eq@content{#4}\fi - \def\link@@Box{\parbox[\eq@pos][\eq@rectH][\eq@innerpos]% - {\eq@rectW}{\centering\eq@content}}% - \fi - \@processEvery#7\end\noindent#5#6{#1}% -} -\def\defaultlinkcolor{\@linkcolor} -\def\setDef@ultLinkColor{\ifHy@colorlinks - \def\ef@thislinkcolor{\defaultlinkcolor} - \def\ef@colorthislink{\color{\ef@thislinkcolor}}\else - \let\ef@colorthislink\relax\fi -} -\AtBeginDocument{\setDef@ultLinkColor} -\def\set@LinkTextDefaults{\S{S}\Border{0 0 0}} -\newcommand\setLink{\begingroup - \ef@sanitize@toks\ef@setlinktext -} -\let\setLinkText\setLink -\newcommand{\ef@setlinktext}[1][]{% - \endgroup\ef@searchmlLink#1\mlLink\end\@nil - \ifx\ef@mlLink\ef@Zero\def\ef@next{\set@LinkText[#1]}\else - \def\ef@next{\mlhypertext[#1]}\fi\ef@next -} -\newcommand\set@LinkText[2][]{% - \set@@Link{#1}{}{}{\ef@colorthislink#2}{}% - {\eq@setWidgetProps{\ef@postProcLinkProps\setLink@driver}}% - {\set@LinkTextDefaults\every@Link}% -} -\def\ef@preProcDefns{% - \def\Win##1{/Win <<##1>>}% - \def\fitpage{\dl@fitpage}\def\actualsize{\dl@actualsize}% - \def\fitwidth{\dl@fitwidth}\def\fitheight{\dl@fitheight}% - \def\fitvisible{\dl@fitvisible}\def\inheritzoom{\dl@inheritzoom}% - \let\rPage\ef@rPage - \edef\Page##1{\ifcase\eq@drivernum - {Page##1}\or - \noexpand\pdfpageref##1\space\space 0 R\or - \noexpand @page##1\fi - }% -} -\def\ef@postProcLinkProps{} -\newcommand{\mlsetLink}{\mlhypertext} -\newcommand{\mlhypertext}[2][]{\@ifundefined{mlhypertext@i} - {\PackageWarning{eforms}{The \string\mlhypertext\space command - does nothing unless\MessageBreak the aeb_mlink package is loaded}}{}% - #2} -\def\set@LinkBboxDefaults{\S{S}\Border{0 0 0}} -\newcommand{\setLinkBbox}{\begingroup - \ef@sanitize@toks\ef@linkbbox -} -\newcommand{\ef@linkbbox}[1][]{% - \endgroup\ef@setLinkBbox[#1]% -} -\newcommand{\ef@setLinkBbox}[3][]{% - \@setLinkBbox{#1}{#2}{#3}% -} -\def\@setLinkBbox#1#2#3{\@ifnextchar[{\@@setLinkBbox{#1}{#2}{#3}}% - {\@@setLinkBbox{#1}{#2}{#3}[c]}} -\def\@@setLinkBbox#1#2#3[#4]{% - \@ifnextchar[{\@@@setLinkBbox{#1}{#2}{#3}{#4}}% - {\@@@setLinkBbox{#1}{#2}{#3}{#4}[#4]}% -} -\def\@@@setLinkBbox#1#2#3#4[#5]#6{% - \def\eq@pos{#4}\def\eq@innerpos{#5}% - \set@@Link{#1}{#2}{#3}{\ef@colorthislink#6}% - {\eq@setWidgetProps\setLink@driver}{}% - {\set@LinkBboxDefaults\every@Link}% -} -\def\set@LinkPboxDefaults{\S{S}\Border{0 0 0}} -\newcommand\setLinkPbox{\begingroup - \ef@sanitize@toks\ef@linkpbox -} -\newcommand{\ef@linkpbox}[1]{% - \endgroup\ef@setLinkPbox{#1}% -} -\newcommand\ef@setLinkPbox[1]{% - \@setLinkPbox{#1\BS{}}{}{}{\hfill\vfill}% -} -\def\@setLinkPbox#1#2#3{\@ifnextchar[{\@@setLinkPbox{#1}{#2}{#3}}% - {\@@setLinkPbox{#1}{#2}{#3}[c]}} -\def\@@setLinkPbox#1#2#3[#4]{% - \@ifnextchar[{\@@@setLinkPbox{#1}{#2}{#3}{#4}}% - {\@@@setLinkPbox{#1}{#2}{#3}{#4}[#4]} -} -\def\@@@setLinkPbox#1#2#3#4[#5]#6{% - \def\eq@pos{#4}\def\eq@innerpos{#5}% - \set@@Link{#1}{#2}{#3}{#6}{\eq@setWidgetProps\setLinkPbox@driver}% - {}{\set@LinkPboxDefaults\every@Link}% -} -\input{\eq@drivercode} -\inputCalcOrderJS -\endinput -%% -%% End of file `eforms.sty'. +%% +%% This is file `eforms.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% eforms.dtx (with options: `copyright,package') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% eForms package, %% +%% Copyright (C) 2002-2018 D. P. Story %% +%% dpstory@uakron.edu %% +%% %% +%% This program can redistributed and/or modified under %% +%% the terms of the LaTeX Project Public License %% +%% Distributed from CTAN archives in directory %% +%% macros/latex/base/lppl.txt; either version 1 of the %% +%% License, or (at your option) any later version. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{eforms} + [2018/08/16 v2.9.20 Provides general eforms support (dps)] +\RequirePackage{ifpdf}[2006/02/20] +\RequirePackage{ifxetex}[2006/08/21] +\RequirePackage{ifluatex} +\RequirePackage{calc} +\let\ef@driver\@empty +\DeclareOption{dvipsone}{\def\eq@drivernum{0}% + \def\eq@drivername{0}\def\ef@driver{dvipsone}% + \def\eq@drivercode{epdfmark.def}% + \PassOptionsToPackage{dvipsone}{insdljs}% + \PassOptionsToPackage{dvipsone}{hyperref}% +} +\def\eq@drivername{2} +\DeclareOption{dvips}{\def\eq@drivernum{0}% + \def\eq@drivername{1}\def\ef@driver{dvips}% + \def\eq@drivercode{epdfmark.def}% + \PassOptionsToPackage{dvips}{insdljs}% + \PassOptionsToPackage{dvips}{hyperref}% +} +\DeclareOption{pdftex}{% + \def\eq@drivernum{1}\def\eq@driver{pdftex}% + \def\eq@drivercode{epdftex.def}\def\ef@driver{pdftex}% +} +\DeclareOption{luatex}{% + \def\eq@drivernum{1}\def\eq@driver{luatex}% + \def\eq@drivercode{epdftex.def}\def\ef@driver{luatex}% +} +\DeclareOption{dvipdfm}{% + \def\eq@drivernum{2}\def\eq@driver{dvipdfm}% + \def\eq@drivercode{edvipdfm.def}\def\ef@driver{dvipdfm}% + \PassOptionsToPackage{dvipdfm}{insdljs} + \PassOptionsToPackage{dvipdfm}{hyperref} +} +\DeclareOption{dvipdfmx}{% + \def\eq@drivernum{2}\def\eq@driver{dvipdfmx}% + \def\eq@drivercode{edvipdfm.def}\def\ef@driver{dvipdfmx}% + \PassOptionsToPackage{dvipdfmx}{insdljs} + \PassOptionsToPackage{dvipdfmx}{hyperref} +} +\DeclareOption{xetex}{% + \def\eq@drivernum{2}\def\eq@driver{xetex}% + \def\eq@drivercode{edvipdfm.def}\def\ef@driver{xetex}% +} +\DeclareOption{textures}{% + \def\eq@drivernum{3}\def\eq@driver{textures}% + \def\eq@drivercode{epdfmark.def}\def\ef@driver{textures}% + \PassOptionsToPackage{textures}{insdljs}% + \PassOptionsToPackage{textures}{hyperref} +} +\def\eq@driver{dvipsone/dvips} +\def\eq@drivercode{epdfmark.def} +\DeclareOption{preview}{\previewtrue} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{insdljs}} +\@ifundefined{ifpreview}{\newif\ifpreview\previewfalse}{} +\providecommand{\previewOn}{\previewtrue} +\providecommand{\previewOff}{\previewfalse} +\DeclareOption{useui}{\AtEndOfPackage{\ef@InputUIeForms}} +\def\ef@InputUIeForms{\InputIfFileExists{uieforms.def}% + {\PackageInfo{eforms}{Inputting code for useui option}}% + {\PackageInfo{eforms}{Cannot find uieforms.def.\MessageBreak + Reinstall or refresh your file name database.}}} +\DeclareOption{setcorder}{\def\inputCalcOrderJS{% + \InputIfFileExists{setcorder.def}% + {\PackageInfo{eforms}{Inputting code for setcorder option}}% + {\PackageWarning{eforms}{Cannot find setcorder.def.\MessageBreak + Reinstall or refresh your file name database.}}}} +\let\inputCalcOrderJS\relax +\@ifpackageloaded{web}{% + \ExecuteOptions{\eq@driver@name}% +}{% + \@ifpackageloaded{exerquiz}{% + \ExecuteOptions{\eq@driver}% + }{% + \ifluatex\ExecuteOptions{luatex}\else + \ifpdf\ExecuteOptions{pdftex}\else + \ifxetex\ExecuteOptions{xetex}\else + \@ifundefined{l@tex@@@@driver}{\ExecuteOptions{dvips}} + {\ExecuteOptions{dvipsone}}\fi\fi\fi + }% +} +\ProcessOptions +\ifx\ef@driver\@empty + \PackageError{eforms}% + {You have not specified dvips, dvipsone, pdftex,\MessageBreak + dvipdfm, dvipdfmx, or xetex in the option list of\MessageBreak + the eforms package} + {Place one of the drivers dvips, dvipsone, pdftex, dvipdfm, + dvipdfmx, or xetex + \MessageBreak in the option list of the eforms package.}% +}{} +\fi +\newlength\eflength +\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse +\ifpdf\else\ifxetex\else\pdfmarkuptrue\fi\fi +\RequirePackage{hyperref} +\ifxetex\else\ifpdf\pdflinkmargin1bp\relax\else + \g@addto@macro\Hy@FirstPageHook{% + \headerps@out{/HyperBorder {1.00375 PDFToDvips} def}} +\fi\fi +\RequirePackage{insdljs}[2017/01/03] % incl conv-xkv +\@ifpackageloaded{exerquiz}{}{% + \AtBeginDocument{\Form} + \AtEndDocument{\csname endForm\endcsname} +} +\@ifpackageloaded{aeb_pro}{}{% + \newcommand{\taggedPDF}{% + \ifnum\eq@drivernum=0\relax + \literalps@out{[{Catalog} <<% + /MarkInfo<>% + >> /PUT pdfmark}\fi}% +} +\let\ef@YES=y \let\ef@NO=n +\let\ef@One=1 \let\ef@Zero=0 +\ifnum\eq@drivername<2 +\let\to@usepdfmark\ef@One +\RequirePackage[structure]{taborder}\else +\let\to@usepdfmark\ef@Zero +\RequirePackage{taborder} +\fi +\@ifundefined{eq@tmpbox}{\newsavebox{\eq@tmpbox}}{} +\@ifundefined{eq@tmpdima}{\newdimen\eq@tmpdima}{} +\@ifundefined{eq@tmpdimb}{\newdimen\eq@tmpdimb}{} +\newlength\ef@dimena +\newtoks\ef@scratchtoks +\newif\ifmakeXasPD \makeXasPDtrue % 12/22 +\newif\ifmakePDasX \makePDasXfalse +\def\makeXasPDOn{\makeXasPDtrue\makePDasXfalse} +\def\makeXasPDOff{\makeXasPDfalse} +\def\makePDasXOn{\makePDasXtrue\makeXasPDfalse} +\def\makePDasXOff{\makePDasXfalse} +\providecommand\ckboxColor[1]{\def\@rgi{#1}\ifx\@rgi\@empty + \let\ckbox@Color\relax\else + \def\ckbox@Color{\color{#1}}\fi}\let\ckbox@Color\relax +\def\ef@Bbox#1#2{\hbox{\ifpreview + \setlength\fboxrule{0.4pt}\setlength\fboxsep{0pt}% + \@tempdima=#1\advance\@tempdima by-\fboxrule + \@tempdimb=#2\advance\@tempdimb by-\fboxrule \ckbox@Color + \fbox{\parbox[b][\@tempdimb][c]{\@tempdima}{\hfill\vfill}}\else + \parbox[b][#2][c]{#1}{\hfill\vfill}\fi}% +} +\let\Bbox\ef@Bbox +\let\ef@passedArgs\@empty +\def\processAppArgs#1#2{% + \ifx\end#1% if #1=\end, #2=\@nil. + \let\ef@next\relax + \else + \ifx#1\@empty + \def\ef@next{\processAppArgs}% + \else + \@getCmdName{\ui}\edef\arg@ui{\@CmdName}% + \@getCmdName{#1}% + \ifx\arg@ui\@CmdName + \@ifundefined{@equi}{\PackageError{eforms}% + {The user interface '\string\ui' is not defined!% + \MessageBreak Use the useui option of eforms + and try again}{I said, use the useui option of + eforms and try again!}}{}% + \def\ef@next{\setkeys{eforms}{#2}% + \processAppArgs\presets{\ef@passedArgs}}% + \else + \@getCmdName{\Ff}\edef\arg@Ff{\@CmdName}% + \@getCmdName{#1}% + \ifx\arg@Ff\@CmdName % if \Ff, let's add arguments + \ifx\eq@Ff\@empty\def\eq@FfValue{0}\else + \expandafter\getFfValue\eq@Ff\@nil\fi + \@tempcnta=\eq@FfValue + \def\eq@arg{#2}% + \ifx\eq@arg\@empty\else + \advance\@tempcnta by#2\fi + \edef\eq@Ff{/Ff \the\@tempcnta}% + \def\ef@next{\processAppArgs}% + \else + \@getCmdName{\F}\edef\arg@F{\@CmdName}% + \@getCmdName{#1}% + \ifx\arg@F\@CmdName % if \Ff, let's add arguments + \ifx\eq@F\@empty\def\eq@FValue{0}\else + \expandafter\getFValue\eq@F\@nil\fi + \@tempcnta=\eq@FValue + \def\eq@arg{#2}% + \ifx\eq@arg\@empty\else + \advance\@tempcnta by#2\fi + \edef\eq@F{/F \the\@tempcnta}% + \def\ef@next{\processAppArgs}% + \else + \@getCmdName{\presets}% + \edef\arg@presets{\@CmdName}\@getCmdName{#1}% + \ifx\arg@presets\@CmdName + \def\ef@next{\expandafter\processAppArgs#2}% + \else + \csname @eq% + \expandafter\@gobble\string#1\endcsname{#2}% + \def\ef@next{\processAppArgs}% + \fi + \fi + \fi + \fi + \fi + \fi + \ef@next +} +\def\@processEvery{\edef\eqtemp{}\toks0={}\@@processEvery} +\def\@@processEvery#1{% + \ifx#1\end\def\ef@next{\the\toks0 }% + \else + \edef\eqtemp{\the\toks0 }% + \toks0=\expandafter{\eqtemp + \expandafter\processAppArgs#1\end\@nil}% + \def\ef@next{\@@processEvery}% + \fi + \ef@next +} +\newdimen\eqcenterWidget +\def\centerWidget#1{% + \ifeq@inlineCenter + \eqcenterWidget=#1\relax + \eqcenterWidget=.5\eqcenterWidget + \ifnum\eq@textSize=0\relax + \dimen@=-\eq@textSizeDefault bp\else + \dimen@=-\eq@textSize bp\fi + \dimen@=0.9167\dimen@ % 11/12 + \dimen@=.5\dimen@ + \advance\dimen@\eq@W@value bp + \ifx\eq@S\@empty\else + \def\eq@S@cmp{B}% + \ifx\eq@S@value\eq@S@cmp + \advance\dimen@ by \eq@W@value bp + \else + \def\eq@S@cmp{I}% + \ifx\eq@S@value\eq@S@cmp + \advance\dimen@ by \eq@W@value bp + \else\advance\dimen@ by 1bp + \fi\fi\fi + \advance\eqcenterWidget by \dimen@ + \else + \eqcenterWidget=#1\relax + \eqcenterWidget=.5\eqcenterWidget + \advance\eqcenterWidget by -4bp + \fi +} +\def\@eqF#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@F\@empty\else\def\eq@F{/F #1}\fi}\def\eq@F{} +\def\@eqBS#1{% + \let\eq@BS=0\relax + \ifx\eq@W\@empty\else\let\eq@BS=1\fi + \ifx\eq@S\@empty\else\let\eq@BS=1\fi + \ifx\eq@D\@empty\else\let\eq@BS=1\fi + \edef\link@BS{\if\eq@BS1/BS<<\eq@W\eq@S\eq@D>>\fi}% + \ifx\eq@W\@empty\let\link@BS\@empty\fi +}\def\link@BS{} +\def\@eqpresets#1{#1}% +\def\@eqW#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@W\@empty\def\eq@W@value{0}\else + \def\eq@W@value{#1}\def\eq@W{/W #1}\fi + \xdef\g@eq@W@value@bp{\eq@W@value bp}} +\def\eq@W{}\def\eq@W@value{0} +\def\g@eq@W@valu@bp{0bp} % dps 12/22 +\def\@eqS#1{\def\eq@S@value{#1}\ifx\eq@S@value\@empty + \let\eq@S\@empty\else + \def\eq@S{/S/#1}\def\eq@temp{D}% + \ifx\eq@S@value\eq@temp + \ifx\eq@D\@empty\def\eq@D{/D [3]}\fi + \fi\fi}\def\eq@S{} +\def\@eqD#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@D\@empty\else + \def\eq@D{/D [#1]}\fi}\def\eq@D{} +\def\@eqBorder#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Border\@empty\else\def\eq@Border{/Border [#1]}\fi}% +\def\eq@Border{/Border [0 0 0]} +\def\@eqAP#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AP\@empty\else\def\eq@AP{/AP<<#1>>}\fi}% + \let\eq@AP\@empty + \def\@eqOn#1{\def\eq@On{/#1}}\def\eq@On{/Yes} +\def\@eqAS#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AS\@empty\else\ifpdfmarkup\def\eq@AS{/AS(#1) cvn }\else + \def\eq@AS{/AS/#1}\fi\fi}\def\eq@AS{} +\def\ef@gobbleToendmarker#1\ef@endmarker{} +\let\ef@endmarker\relax +\def\ef@end{\end}\def\ef@true{true} +\def\ef@rPage#1{\@tempcnta=#1\relax\advance\@tempcnta-1 + \edef\rPage##1{\the\@tempcnta}} +\long\def\ef@searchrPage#1\rPage#2#3\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\rPage{#2}\fi} +\def\ef@searchmlLink#1\mlLink#2#3\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\let\ef@mlLink\ef@Zero\else + \ifx\ef@argii\ef@true\let\ef@mlLink\ef@One\else + \let\ef@mlLink\ef@Zero\fi\fi} +\def\ef@searchGoToR#1/GoToR#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@filecolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@searchURI#1/URI#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@urlcolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@searchCmdURI#1\URI#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@urlcolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@searchNamed#1/Named#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@menucolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@searchCmdNamed#1\Named#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@menucolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@searchLaunch#1/Launch#2\@nil{\def\ef@argii{#2}% + \ifx\ef@argii\ef@end\else\ifx\ef@linktxtcolor@set0% + \def\ef@thislinkcolor{\@runcolor}\fi + \expandafter\ef@gobbleToendmarker\fi} +\def\ef@preprocessA#1{% + \let\rPage\relax\edef\ef@argi{#1}% + \ifx\annot@type\annot@type@link + \expandafter\ef@searchGoToR\ef@argi/GoToR\end\@nil + \expandafter\ef@searchURI\ef@argi/URI\end\@nil + \expandafter\ef@searchCmdURI\ef@argi\URI\end\@nil + \expandafter\ef@searchNamed\ef@argi/Named\end\@nil + \expandafter\ef@searchCmdNamed\ef@argi\Named\end\@nil + \expandafter\ef@searchLaunch\ef@argi/Launch\end\@nil + \ef@endmarker\fi + \let\rPage\ef@rPage + \expandafter\ef@searchrPage\ef@argi\rPage\end\@nil +} +\def\@eqA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@A\@empty\else\ef@preprocessA{#1}% + \def\eq@A{/A <<#1>>}\fi}\def\eq@A{} +\def\@eqmlLink#1{\def\eq@arg{#1}\ifx\eq@arg\ef@true + \let\ef@mlLink\ef@One\else\let\ef@mlLink\ef@Zero\fi} +\def\@eqLock#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Lock\@empty\else\def\eq@Lock{/Lock <<#1>>}\fi} + \def\eq@Lock{} +\newif\ifisCalculate\isCalculatefalse +\def\ef@searchCalc#1\AACalculate#2\@nil{% + \ifx#2\end\else\aftergroup\isCalculatetrue\fi +} +\def\@eqAA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty\let\eq@AA\@empty + \else\begingroup\ef@searchCalc#1\AACalculate\end\@nil\endgroup + \def\eq@AA{/AA <<#1>>}\fi} +\def\eq@AA{/AA <<\eq@AAmouseup\eq@AAmousedown\eq@AAmouseenter% + \eq@AAmouseexit\eq@AAonfocus\eq@AAonblur\eq@AAformat% + \eq@AAkeystroke\eq@AAvalidate\eq@AAcalculate\eq@AApageopen% + \eq@AApageclose\eq@AApagevisible\eq@AApageinvisible>>} +\def\@eqAAmouseup#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAmouseup\@empty\else\def\eq@AAmouseup{/U<<\JS{#1}>>}\fi} +\let\eq@AAmouseup\@empty +\def\@eqAAmousedown#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAmousedown\@empty\else + \def\eq@AAmousedown{/D<<\JS{#1}>>}\fi} +\let\eq@AAmousedown\@empty +\def\@eqAAmouseenter#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAmouseenter\@empty\else + \def\eq@AAmouseenter{/E<<\JS{#1}>>}\fi} +\let\eq@AAmouseenter\@empty +\def\@eqAAmouseexit#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAmouseexit\@empty\else + \def\eq@AAmouseexit{/X<<\JS{#1}>>}\fi} +\let\eq@AAmouseexit\@empty +\def\@eqAAonfocus#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAonfocus\@empty\else + \def\eq@AAonfocus{/Fo<<\JS{#1}>>}\fi} +\def\@eqAAmousefocus{\@eqAAonfocus} +\let\eq@AAonfocus\@empty +\def\@eqAAonblur#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAonblur\@empty\else + \def\eq@AAonblur{/Bl<<\JS{#1}>>}\fi} +\def\@eqAAmouseblur{\def\@eqAAonblur} +\let\eq@AAonblur\@empty +\def\@eqAAformat#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAformat\@empty\else + \def\eq@AAformat{/F<<\JS{#1}>>}\fi} +\let\eq@AAformat\@empty +\def\@eqAAkeystroke#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAkeystroke\@empty\else + \def\eq@AAkeystroke{/K<<\JS{#1}>>}\fi} +\let\eq@AAkeystroke\@empty +\def\@eqAAvalidate#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAvalidate\@empty\else + \def\eq@AAvalidate{/V<<\JS{#1}>>}\fi} +\let\eq@AAvalidate\@empty +\def\@eqAAcalculate#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AAcalculate\@empty\else\isCalculatetrue + \def\eq@AAcalculate{/C<<\JS{#1}>>}\fi} +\let\eq@AAcalculate\@empty +\def\@eqAApageopen#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AApageopen\@empty\else + \def\eq@AApageopen{/PO<<\JS{#1}>>}\fi} +\let\eq@AApageopen\@empty +\def\@eqAApageclose#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AApageclose\@empty\else + \def\eq@AApageclose{/PC<<\JS{#1}>>}\fi} +\let\eq@AApageclose\@empty +\def\@eqAApagevisible#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AApagevisible\@empty\else + \def\eq@AApagevisible{/PV<<\JS{#1}>>}\fi} +\let\eq@AApagevisible\@empty +\def\@eqAApageinvisible#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AApageinvisible\@empty\else + \def\eq@AApageinvisible{/PI<<\JS{#1}>>}\fi} +\let\eq@AApageinvisible\@empty +\def\@eqDA#1{\def\eq@DA{#1}} +\def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% +\def\@eqtextFont#1{\def\eq@textFont{/#1}} +\def\eq@textFont{/Helv} +\def\@eqtextSize#1{\def\eq@textSize{#1}} +\def\eq@textSizeDefault{9} +\edef\eq@textSize{\eq@textSizeDefault} +\def\eq@RV@Body{} +\def\eq@RV@endBody{} +\def\@eqRV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@RV\@empty\else\def\eq@RV{/RV(\eq@RV@Body#1% + \eq@RV@endBody)\fi}}\def\eq@RV{} +\def\@eqDS#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@DS\@empty\else\def\eq@DS{/DS(#1)\fi}}\def\eq@DS{} +\def\@eqtextColor#1{\ef@parsePDFColor{#1}% + \HyColor@IfXcolor{% + \expandafter\HyColor@FieldColor% + \expandafter{\ef@colorSpec@out}{\eq@textColor}{}{}% + }{\edef\eq@textColor{\ef@colorSpec@out}}% +} +\def\eq@textColor{0 g} +\def\@eqQ#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Q\@empty\else\def\eq@Q{/Q #1}\fi}\def\eq@Q{} +\def\ef@isunicode#1\unicodeStr#2\@nil{\def\argi{#1}% + \ifx\argi\@empty\def\ifbool@ef{iftrue}\else + \def\ifbool@ef{iffalse}\fi} +\def\@eqDV#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equDV{#1}\else + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@DV\@empty\else + \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% + \edef\eq@DV{/DV(\ef@uni@temp)}\makespecialJS\fi\fi}\def\eq@DV{} +\def\ef@pdfCRLFTABDefns{% + \def\r{\textCR}\def\t{\textHT}\def\n{\textLF}} +\def\@eqnuDV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@DV\@empty\else\def\eq@DV{/DV(#1)}\fi} +\def\@equDV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@DV\@empty\else\def\eq@DV{/DV<#1>}\fi} +\def\@eqV#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equV{#1}\else + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@V\@empty\else + \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% + \edef\eq@V{/V(\ef@uni@temp)}\makespecialJS\fi\fi}\def\eq@V{} +\def\@eqnuV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@V\@empty\else\def\eq@V{/V(#1)}\fi} +\def\@equV#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@V\@empty\else\def\eq@V{/V<#1>}\fi}% +\def\@eqTU#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equTU{#1}\else + \def\eq@arg{#1}\let\r@save\r\let\r\textCR + \ifx\eq@arg\@empty\let\eq@TU\@empty\else + \ef@pdfCRLFTABDefns\pdfstringdef\ef@uni@temp{#1}% + \edef\eq@TU{/TU(\ef@uni@temp)}\makespecialJS\fi\fi + \let\r\r@save}\def\eq@TU{} +\def\@equTU#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@TU\@empty\else\def\eq@TU{/TU<#1>}\fi} +\def\@eqFf#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Ff\@empty\else\def\eq@Ff{/Ff #1}\fi} + \def\eq@Ff{} +\def\@eqMaxLen#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@MaxLen\@empty\else\def\eq@MaxLen{/MaxLen #1}\fi}% + \def\eq@MaxLen{} +\def\@eqH#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@H\@empty\else\def\eq@H{/H/#1}\fi}\def\eq@H{} +\def\@eqMK#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@MK\@empty\else\def\eq@MK{/MK << #1 >> }\fi}% + \def\eq@MK{} + \let\@vertRotate=0 + \def\@eqR#1{\def\eq@R@value{#1}\ifx\eq@R@value\@empty + \let\eq@R\@empty\else + \@tempcnta=\eq@R@value\relax + \ifnum\@tempcnta<0 \@tempcnta=-\@tempcnta\fi + \ifnum\@tempcnta=0 \else\ifnum\@tempcnta=180 \else + \let\@vertRotate=1\fi\fi + \def\eq@R{/R #1}\fi} + \def\eq@R{} + \def\@eqBC#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@BC\@empty\else % 2010/07/23 + \expandafter\ef@isitnamed\eq@arg\ef@nil + \ifx\ef@latex@color\ef@y\expandafter + \HyColor@XZeroOneThreeFour\expandafter{\eq@arg}{\eq@BC}{}{}% + \edef\eq@BC{/BC [\eq@BC]}\else + \def\eq@BC{/BC [#1]}\fi + \fi} + \def\eq@BC{} + \def\@eqBG#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@BG\@empty\else % 2010/07/23 + \expandafter\ef@isitnamed\eq@arg\ef@nil + \ifx\ef@latex@color\ef@y\expandafter + \HyColor@XZeroOneThreeFour\expandafter{\eq@arg}{\eq@BG}{}{}% + \edef\eq@BG{/BG [\eq@BG]}\else + \def\eq@BG{/BG [#1]}\fi + \fi} + \def\eq@BG{} + \def\@eqCA#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equCA{#1}\else + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@CA\@empty\let\ef@kvCA\@empty + \else\ef@pdfCRLFTABDefns + \pdfstringdef\ef@uni@temp{#1}% + \def\eq@CA{#1}\edef\ef@kvCA{/CA(\ef@uni@temp)}% + \makespecialJS\fi\fi} + \def\eq@CA{}\def\ef@kvCA{} + \def\@equCA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@CA\@empty\let\ef@kvCA\@empty + \else\def\eq@CA{#1}\def\ef@kvCA{/CA<#1>}\fi} + \def\@eqRC#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equRC{#1}\else + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@RC\@empty\let\ef@kvRC\@empty + \else\ef@pdfCRLFTABDefns + \pdfstringdef\ef@uni@temp{#1}% + \def\eq@RC{#1}\edef\ef@kvRC{/RC(\ef@uni@temp)}% + \makespecialJS\fi\fi} + \def\eq@RC{}\def\ef@kvRC{} + \def\@equRC#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@RC\@empty\let\ef@kvRC\@empty + \else\def\eq@RC{#1}\def\ef@kvRC{/RC<#1>}\fi} + \def\@eqAC#1{\ef@isunicode#1\unicodeStr\@nil + \expandafter\csname\ifbool@ef\endcsname\@equAC{#1}\else + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AC\@empty\let\ef@kvAC\@empty + \else\ef@pdfCRLFTABDefns + \pdfstringdef\ef@uni@temp{#1}% + \def\eq@AC{#1}\edef\ef@kvAC{/AC(\ef@uni@temp)}% + \makespecialJS\fi\fi} + \def\eq@AC{}\def\ef@kvAC{} + \def\@equAC#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@AC\@empty\let\ef@kvAC\@empty + \else\def\eq@AC{#1}\def\ef@kvAC{/AC<#1>}\fi} +\def\eq@define@IconMK{\def\eq@IconMK{\eq@I\eq@RI\eq@IX\eq@TP + /IF<<\eq@SW\eq@ST\eq@PA\eq@FB>>}} +\let\eq@IconMK\@empty +\ifpdf\def\eq@relRef#1{0 0 R}\else %{#1\space 0 R} + \ifxetex\def\eq@relRef#1{#1}\else + \def\eq@relRef#1{{#1}}\fi\fi +\def\ef@null{null} +\def\@eqI#1{\ifx\annot@type\annot@type@button + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@I\@empty\else + \def\eq@I{/I \eq@relRef{#1}}% + \ifpdf\ifx\eq@arg\ef@null + \def\eq@I{/I 0 0 R}\fi\fi + \eq@define@IconMK\fi\fi} +\def\eq@I{} +\def\@eqRI#1{\ifx\annot@type\annot@type@button + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@RI\@empty\else + \def\eq@RI{/RI \eq@relRef{#1}}% + \ifpdf\ifx\eq@arg\ef@null + \def\eq@RI{/RI 0 0 R}\fi\fi + \eq@define@IconMK\fi\fi} +\def\eq@RI{} +\def\@eqIX#1{\ifx\annot@type\annot@type@button + \def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@IX\@empty\else + \def\eq@IX{/IX \eq@relRef{#1}}% + \ifpdf\ifx\eq@arg\ef@null + \def\eq@IX{/IX 0 0 R}\fi\fi + \eq@define@IconMK\fi\fi} +\def\eq@IX{} +\def\@eqTP#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@TP\@empty\else\def\eq@TP{/TP #1}\fi} +\def\eq@TP{/TP 0} % default 0 +\def\@eqSW#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@SW\@empty\else\def\eq@SW{/SW/#1}\fi} +\def\eq@SW{/SW/A} % the default, always scale +\def\@eqST#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@ST\@empty\else\def\eq@ST{/S/#1}\fi} +\def\eq@ST{/S/P} % the default, proportional scaling +\def\@eqPA#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@PA\@empty\else\def\eq@PA{/A [#1]}\fi} +\def\eq@PA{/A [0.5 0.5]} % the default +\def\@eqFB#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@PA\@empty\else\def\eq@FB{/FB #1}\fi} +\def\eq@FB{/FB false} % the default +\def\@eqmkIns#1{\def\eq@mkIns{#1}}\def\eq@mkIns{} +\def\@eqOpt#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Opt\@empty\else\def\eq@Opt{/Opt [#1]}\fi} + \def\eq@Opt{} +\def\@eqTI#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@TI\@empty\else\def\eq@TI{/TI #1}\fi} + \def\eq@TI{} +\def\@eqrawPDF#1{\def\eq@rawPDF{#1}}\def\eq@rawPDF{} +\def\@eqQuadPoints#1{\def\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@QuadPoints\@empty\else + \def\eq@QuadPoints{/QuadPoints {#1}}\fi} +\def\eq@QuadPoints{} +\def\@eqColor#1{\edef\eq@arg{#1}\ifx\eq@arg\@empty + \let\eq@Color\@empty\else + \HyColor@XZeroOneThreeFour{#1}{\eq@Color}{}{}% + \edef\eq@Color{/C[\eq@Color]}\fi} +\def\eq@Color{} +\def\@eqlinktxtcolor#1{% + \def\ef@argi{#1}\ifHy@colorlinks + \ifx\ef@argi\@empty\let\ef@colorthislink\normalcolor\else + \let\ef@linktxtcolor@set=1\def\ef@thislinkcolor{#1}\fi\fi +}\let\ef@linktxtcolor@set=0 +\def\@eqrectH#1{\def\eq@rectH{#1}\ifx\eq@rectH\@empty\else + \setlength\eflength\eq@rectH\edef\eq@rectH{\the\eflength}\fi} +\def\@eqrectW#1{\def\eq@rectW{#1}\ifx\eq@rectW\@empty\else + \setlength\eflength\eq@rectW\edef\eq@rectW{\the\eflength}\fi} +\def\@eqobjdef#1{\def\ef@arg{#1}\ifx\ef@arg\@empty + \let\eq@objdef\@empty\else\def\eq@objdefName{#1}% + \def\eq@objdef{/_objdef {#1}}\fi +} +\let\eq@objdef\@empty +\def\@eqtaborder#1{\def\ef@arg{#1}\ifx\ef@arg\@empty + \let\eq@taborder\@empty\else + \def\eq@taborder{#1}\fi +} +\let\eq@taborder\@empty +\def\ef@y{y}\def\ef@n{n} +\def\@eqautoCenter#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y + \let\autoCenter\ef@y\else\ifx\ef@arg\ef@n + \let\autoCenter\ef@n\else\let\autoCenter\ef@y + \PackageWarning{eforms}{The value of '#1' is not a + supported value\MessageBreak for \string\autoCenter.\MessageBreak + Using the default of 'y'}% + \fi\fi} +\let\autoCenter\ef@y +\newif\ifeq@inlineCenter \eq@inlineCenterfalse +\let\inlineCenter=n +\def\@eqinline#1{\eq@inlineCenterfalse + \def\ef@arg{#1}\ifx\ef@arg\ef@y + \let\inlineCenter\ef@y\eq@inlineCentertrue\else + \ifx\ef@arg\ef@n\let\inlineCenter\ef@n\else\let\inlineCenter\ef@n + \PackageWarning{eforms}{The value of '#1' is not a + supported value\MessageBreak for \string\inline.\MessageBreak + Using the default of 'n'}% + \fi\fi} +\def\@eqsymbolchoice#1{\expandafter\ifx\csname eq@#1\endcsname\relax + \typeout{exerquiz: `#1' is not an acceptable option + for \string\symbolechoice, inserting default, `check'.} + \edef\symbol@choice{\eq@check}\else + \edef\symbol@choice{\csname eq@#1\endcsname}\fi +} +\newif\iffixmlinks \fixmlinkstrue +\def\mlfixOn{\fixmlinkstrue} +\def\mlfixOff{\fixmlinksfalse} +\def\@eqmlfix#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y + \mlfixOn\else\ifx\ef@arg\ef@n + \mlfixOff\else\mlfixOn + \PackageWarning{eforms}{The value of '#1' is not a + supported value\MessageBreak for \string\mlfix.\MessageBreak + Using the default of 'y'}% + \fi\fi} +\newbox\mlstrutbox +\def\@eqmlstrut#1{\setbox\mlstrutbox\hbox{#1}% + \def\ml@strut{\vrule \@height\ht\mlstrutbox + \@depth\dp\mlstrutbox + \@width\z@\relax}} +\def\ml@strut{\relax\ifmmode\copy\mlstrutbox\else + \unhbox\mlstrutbox\fi} +\@eqmlstrut{\strut} +\def\@eqmlcrackat#1{\def\eq@mlcrackat{#1}} +\let\eq@mlcrackat\@empty +\def\@eqmlhyph#1{\def\ef@arg{#1}\ifx\ef@arg\ef@y + \def\eq@mlhyph{-}\else\ifx\ef@arg\ef@n + \let\eq@mlhyph\@empty\else\let\eq@mlhyph\@empty + \PackageWarning{eforms}{The value of '#1' is not a + supported value\MessageBreak for \string\mlhyph.\MessageBreak + Using the default of 'n'}\fi\fi} +\let\eq@mlhyph\@empty +\def\@eqmlignore#1{\def\eq@mlchunk{#1}\ifx\eq@mlchunk\@empty + \def\eq@mlchunk{0}\fi\let\eq@mlignore\ef@YES} +\def\eq@mlchunk{0} +\let\eq@mlignore\ef@NO +\def\@eqmlcrackinsat#1{\def\eq@mlcrackinsat{#1}} +\let\eq@mlcrackinsat\@empty +\def\eq@protect#1{\let#1\@empty} +\begingroup\catcode`\#=12 \catcode`*=6 + \ifpdfmarkup + \gdef\ef@Hx*1*2{\@nameuse{efHex*1*2}}\else + \gdef\ef@Hx*1*2{\@nameuse{efHex*1*2}}\fi +\endgroup +\def\efHxError{\PackageError{eforms}{The glyph is not supported}{}} +\def\HGERROR{efHxError} +\ifpdfmarkup + \def\HexGlyph#1#2{\def\arg@ii{#2}\ifx\arg@ii\HGERROR + \global\@namedef{efHex#1}{\csname#2\endcsname}\else + \global\@namedef{efHex#1}{\expandafter + \string\csname#2\endcsname}\fi} +\else + \begingroup\catcode`\#=12 \catcode`*=6 + \gdef\HexGlyph*1*2{\def\arg@ii{*2}\ifx\arg@ii\HGERROR + \global\@namedef{efHex*1}{\csname*2\endcsname}\else + \global\@namedef{efHex*1}{#*1}\fi} + \endgroup +\fi +\def\ef@inputPDFHEX{\InputIfFileExists{pdfdochex.def} + {\PackageInfo{eforms}{Inputting pdfdochex.def}}{}} +\AtEndOfPackage{\ef@inputPDFHEX} +\def\ef@semicolon{;} +\def\ef@stripsemi#1;\@nil{\def\ef@colorSpec@out{#1}} +\def\ef@isitnamed{\let\ef@latex@color\ef@y + \@ifnextchar[{\ef@gobbletonil}{% + \@tfor\mytok:=.0123456789\do{% + \if\mytok\@let@token + \let\ef@latex@color\ef@n + \@break@tfor\fi}\ef@gobbletonil}} +\def\ef@gobbletonil#1\ef@nil{} +\def\ef@parsePDFColor#1{\edef\ef@color@arg{#1}\ef@parsePDFColori} +\def\ef@parsePDFColori{% + \expandafter\ef@@parsePDFColor\ef@color@arg; ; ; ; ; ;\\} +\def\ef@@parsePDFColor#1 #2 #3 #4 #5 #6\\{% + \def\argii{#2}\def\ef@cmp{g;}% + \ifx\argii\ef@cmp + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \def\ef@colorSpec@out{#1 g}\else + \def\ef@colorSpec@out{[gray]{#1}}% + \fi + \else\ifx\argii\ef@semicolon + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \ef@isitnamed#1\ef@nil + \ifx\ef@latex@color\ef@n + \ef@stripsemi#1\@nil + \edef\ef@colorSpec@out{\ef@colorSpec@out\space g}% + \else + \ef@stripsemi#1\@nil + \PackageWarning{eforms}{Color specification + `\ef@colorSpec@out' not supported\MessageBreak + without xcolor, using a black color} + \def\ef@colorSpec@out{0 g}% + \fi + \else % xcolor + \ef@isitnamed#1\ef@nil + \ifx\ef@latex@color\ef@n + \ef@stripsemi#1\@nil + \edef\ef@colorSpec@out{[gray]{\ef@colorSpec@out}}% + \else + \ef@stripsemi#1\@nil + \edef\ef@colorSpec@out{\ef@colorSpec@out}% + \fi + \fi + \else % not semicolon + \def\argiv{#4}\def\ef@cmp{rg;}% + \ifx\argiv\ef@cmp + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \def\ef@colorSpec@out{#1 #2 #3 rg}\else + \def\ef@colorSpec@out{[rgb]{#1,#2,#3}}\fi + \else\ifx\argiv\ef@semicolon + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \ef@stripsemi#1 #2 #3\@nil + \edef\ef@colorSpec@out{\ef@colorSpec@out\space rg}\else + \ef@stripsemi#3\@nil + \edef\ef@colorSpec@out{[rgb]{#1,#2,\ef@colorSpec@out}}\fi + \else + \def\argv{#5}\edef\ef@cmp{k;} + \ifx\argv\ef@cmp + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \def\ef@colorSpec@out{#1 #2 #3 #4 k}\else + \def\ef@colorSpec@out{[cmyk]{#1,#2,#3,#4}}\fi + \else + \ifx\argv\ef@semicolon + \ef@stripsemi#1 #2 #3 #4\@nil + \expandafter\ifx\csname convertcolorspec\endcsname\relax + \edef\ef@colorSpec@out{\ef@colorSpec@out\space k}\else + \ef@stripsemi#4\@nil + \edef\ef@colorSpec@out{% + [cmyk]{#1,#2,#3,\ef@colorSpec@out}}\fi + \else\ef@parseColor@iv + \fi\fi\fi\fi\fi\fi +} +\def\ef@parseColor@iv{\PackageError{AeB}{% + The number of arguments + is incorrect.\MessageBreak I was expecting + 1, 3, or 4 components of color}{Specify the correct number of + components for the color space.}} +\def\calcOrder#1{\let\efCalcOrder\@gobble + \@for\coi:=#1\do{\edef\efCalcOrder{\efCalcOrder,"\coi"}}% + \edef\efCalcOrder{[\efCalcOrder]}} +\@onlypreamble\calcOrder +\def\efCalcOrder{[]} +\def\eq@check{4} +\def\eq@circle{l} +\def\eq@cross{8} +\def\eq@diamond{u} +\def\eq@square{n} +\def\eq@star{H} +\let\symbolchoice\@eqsymbolchoice +\symbolchoice{check} +\providecommand{\JS}[1]{/S/JavaScript/JS(#1)} +\newcommand{\URI}[1]{/S/URI/URI(#1)} +\providecommand{\Named}[1]{/S/Named/N/#1} +\newcommand{\Next}[1]{/Next<<#1>>} +\providecommand{\toggleAttachmentsPanel}[2]{% + \setLink[\Border{0 0 0}\A{\Named{ShowHideFileAttachment}}] + {\textcolor{#1}{#2}}}% +\newcommand{\AAMouseUp}[1]{/U<<#1>>} +\newcommand{\AAMouseDown}[1]{/D<<#1>>} +\newcommand{\AAMouseEnter}[1]{/E<<#1>>} +\newcommand{\AAMouseExit}[1]{/X<<#1>>} +\newcommand{\AAOnFocus}[1]{/Fo<<#1>>} +\newcommand{\AAOnBlur}[1]{/Bl<<#1>>} +\newcommand{\AAFormat}[1]{/F<<\JS{#1}>>} +\newcommand{\AAKeystroke}[1]{/K<<\JS{#1}>>} +\newcommand{\AAValidate}[1]{/V<<\JS{#1}>>} +\newcommand{\AACalculate}[1]{/C<<\JS{#1}>>} +\newcommand{\AAPageOpen}[1]{/PO<<\JS{#1}>>} +\newcommand{\AAPageClose}[1]{/PC<<\JS{#1}>>} +\newcommand{\AAPageVisible}[1]{/PV<<\JS{#1}>>} +\newcommand{\AAPageInvisible}[1]{/PI<<\JS{#1}>>} +\newcommand{\definePath}[1]{\def\ef@ctrlName{#1}% + \hyper@normalise\ef@definePath} +\def\ef@definePath#1{\expandafter\xdef\ef@ctrlName{#1}} +\def\FHidden{2} % bit 2: hidden field +\def\FPrint{4} % bit 3: print (we set this bit by default) +\def\FNoPrint{-4} % bit 3: -print (this clears the bit) +\def\FNoView{32} % bit 6: no view +\def\FLock{128} % bit 8: locked field (PDF 1.4) +\def\FfReadOnly{1} % all +\def\FfRequired{2} % all +\def\FfNoExport{4} % all +\def\FfMultiline{4096} % text +\def\FfPassword{8192} % text +\def\FfNoToggleToOff{16384} % radio +\def\FfRadio{32768} % radio +\def\FfPushButton{65536} % Push button +\def\FfCombo{131072} % choice +\def\FfEdit{262144} % combo +\def\FfSort{524288} % choice +\def\FfFileSelect{1048576} % text (PDF 1.4) +\def\FfMultiSelect{2097152} % choice (PDF 1.4) +\def\FfDoNotSpellCheck{4194304} % text, combo (PDF 1.4) +\def\FfDoNotScroll{8388608} % text (PDF 1.4) +\def\FfComb{16777216} % text (PDF 1.5) +\def\FfRadiosInUnison{33554432} % radio (PDF 1.5) +\def\FfCommitOnSelChange{67108864} % choice (PDF 1.5) +\def\FfRichText{33554432} % radio (PDF 1.5) +\def\getFfValue/Ff#1\@nil{\def\eq@FfValue{#1}} +\def\getFValue/F#1\@nil{\def\eq@FValue{#1}} +\def\@getCmdName#1{\edef\@CmdName{\expandafter\@gobble\string#1}} +\newcommand{\everyTextField}[1]{\def\every@TextField{#1}} +\def\every@TextField{} +\newcommand{\everySigField}[1]{\def\every@sigField{#1}} +\def\every@sigField{} +\newcommand{\everyCheckBox}[1]{\def\every@CheckBox{#1}} +\def\every@CheckBox{} +\newcommand{\everyRadioButton}[1]{\def\every@RadioButton{#1}} +\def\every@RadioButton{} +\newcommand{\everyButtonField}[1]{\def\every@ButtonField{#1}} +\def\every@ButtonField{} +\newcommand{\everyPushButton}[1]{\def\every@PushButton{#1}} +\def\every@PushButton{} +\newcommand{\everyListBox}[1]{\def\every@listBox{#1}} +\newcommand{\everyComboBox}[1]{\def\every@comboBox{#1}} +\def\every@listBox{}\def\every@comboBox{} +\newcommand{\everyLink}[1]{\def\every@Link{#1}} +\def\every@Link{} +\def\ef@adjrectWH#1{\dimen@ii#1\relax + \ifx\eq@rectW\@empty\else + \eflength\eq@rectW\relax + \advance\eflength\dimen@ii + \edef\eq@rectW{\the\eflength}% + \eflength\eq@rectH\relax + \advance\eflength\dimen@ii + \edef\eq@rectH{\the\eflength}% + \fi +} +\def\ef@djXPD{\ifxetex\ifmakeXasPD\ef@adjrectWH{2bp}\fi + \else\ifmakePDasX\ef@adjrectWH{-2bp}\fi\fi} +\def\ef@btnspcr{} +\def\eq@setButtonProps#1#2{% + \makeJSspecials + \processAppArgs#2\end\@nil % set widget properties + \ifx\eq@BC\@empty\@eqW{}\else + \if\eq@W@value0\let\eq@BC\@empty\fi\fi + \Hy@pdfstringfalse + \ifx\eq@rectW\@empty + \ifnum\eq@textSize=0 \else + \dimen@=\eq@textSize bp + \dimen@1.00375\dimen@ + \edef\eq@textSize@pt{\strip@pt\dimen@}% + \fontsize{\eq@textSize@pt}{0}\selectfont + \fi + \dimen@\eq@W@value bp + \def\eq@S@B{B}\ifx\eq@S@value\eq@S@B + \def\eq@btn@sp{\hbox to2\dimen@{\hfill}}% + \else + \def\eq@btn@sp{\hbox to\dimen@{\hfill}}% + \fi + \expandafter\def\expandafter + \ef@btnspcr\expandafter{\ef@btnspcr\eq@btn@sp}% + \sbox{\eq@tmpbox}{\ef@btnspcr\eq@CA\ef@btnspcr}% + \eq@tmpdima=\wd\eq@tmpbox + \sbox{\eq@tmpbox}{\ef@btnspcr\eq@RC\ef@btnspcr}% + \ifdim\eq@tmpdima>\wd\eq@tmpbox\else + \eq@tmpdima=\wd\eq@tmpbox\fi% + \sbox{\eq@tmpbox}{\ef@btnspcr\eq@AC\ef@btnspcr}% + \ifdim\eq@tmpdima>\wd\eq@tmpbox\else + \eq@tmpdima=\wd\eq@tmpbox\fi + \ifmakePDasX\advance\eq@tmpdima2bp\fi + \wd\eq@tmpbox=\eq@tmpdima + \else + \wd\eq@tmpbox=\eq@rectW + \fi + \ef@djXPD#1% dps 12/22 +} +\def\eq@setWidgetProps#1#2{% + \makeJSspecials + \processAppArgs#2\end\@nil % set widget properties + \ifx\annot@type@link\annot@type\else + \ifx\eq@BC\@empty\@eqW{}\else + \if\eq@W@value0\let\eq@BC\@empty\fi\fi + \fi + \ef@djXPD#1% dps 12/22 +} +\def\ef@sanitize@toks{\@makeother\~\@makeother\#\@makeother\&% + \@makeother\"\@makeother\_} +\newcommand\efKern[2]{\ifxetex\kern#2\else\kern#1\fi} +\newcommand\olBdry{\bgroup\ifxetex % dps 12/22 + \@tempdima-\g@eq@W@value@bp\relax + \edef\@mtkern{\the\@tempdima}\else + \@tempdima2bp\relax\advance\@tempdima-\g@eq@W@value@bp\relax % 12/26 + \edef\@mtkern{\the\@tempdima}\fi\kern\@mtkern\egroup +} +\newcommand\cgBdry[1][0bp]{\bgroup\def\ef@rgi{#1}\ifx\ef@rgi\@empty + \def\ef@rgi{0bp}\fi\setlength{\@tempdima}{\ef@rgi}% + \ifxetex\else\addtolength{\@tempdima}{2bp}\fi + \kern\@tempdima\egroup\ignorespaces} +\newcommand{\efSupprIndent}{\ef@scratchtoks=\expandafter{\the\everypar}% + \everypar{{\setbox\z@\lastbox}\clubpenalty\@M + \everypar=\expandafter{\the\ef@scratchtoks}}} +\newcommand\volBdry{\bgroup\parskip0pt\relax\@@par\nointerlineskip + \olBdry\egroup\efSupprIndent} +\newcommand\vcgBdry{\@ifstar{\edef\ef@offset{\the\parskip}\vcgBdry@i} + {\def\ef@offset{0pt}\vcgBdry@i}} +\newcommand\vcgBdry@i[1][0bp]{\bgroup + \setlength{\ef@dimena}{#1-\ef@offset}\parskip0pt\relax + \par\nointerlineskip\cgBdry[\ef@dimena]% + \egroup\ignorespaces\efSupprIndent} +\def\common@choiceCode{% + /Subtype/Widget + /T (\Fld@name) + /FT/Ch + \eq@Ff + \eq@F + \eq@TU + \eq@TI + /BS << \eq@W\eq@S >> + /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> + /DA (\eq@DA) + /Opt [\eq@Opt] + \eq@DV\eq@V + \eq@A\eq@AA + \eq@rawPDF +} +\def\eqf@setDimens#1#2{\@eqrectW{#1}\@eqrectH{#2}} +\let\ef@@nil\relax +\def\@gobbleto@@nil#1\ef@@nil{}% +\long\def\g@addto@macrogobble#1#2{\g@addto@macro{#1}{#2}\@gobbleto@@nil} +\def\passthruCLOpts{*} +\def\ef@pdfstrCLOpt{\Hy@unicodefalse\def\eq@Opt{}\ef@pdfstrCLOpti} +\def\ef@pdfstrCLOpti{\@ifnextchar\ef@@nil{\@gobble}{\ef@pdfstrCLOptia}} +\def\ef@pdfstrCLOptia{\@ifnextchar[{\expandafter + \ef@pdfstrOptWBii\@gobble}{\ef@pdfstrCLOptb}} +\def\ef@pdfstrCLOptb{\@ifstar{\g@addto@macrogobble\eq@Opt} + {\ef@pdfstrOptWPi}} +\def\ef@pdfstrOptWBii{% + \@ifnextchar({\ef@pdfstrOptWBiia}{\PackageError{eforms} + {Left parenthesis expected here}{}}% +} +\def\ef@pdfstrOptWBiia(#1){% + \g@addto@macro\eq@Opt{[(}% + \pdfstringdef\@optTokstemp{#1}% + \expandafter\g@addto@macro\expandafter\eq@Opt + \expandafter{\@optTokstemp}% + \@ifnextchar({\ef@pdfstrOptWBiib}{\PackageError{eforms} + {Left parenthesis expected here}{}}% +} +\def\ef@pdfstrOptWBiib(#1){% + \g@addto@macro\eq@Opt{)(}% + \pdfstringdef\@optTokstemp{#1}% + \expandafter\g@addto@macro\expandafter\eq@Opt + \expandafter{\@optTokstemp}% + \g@addto@macro\eq@Opt{)]}% + \expandafter\ef@pdfstrCLOpti\@gobble +} +\def\ef@pdfstrOptWPi{\@ifnextchar\ef@@nil{\@gobble}{\ef@pdfstrOptWPii}} +\def\ef@pdfstrOptWPii(#1){% + \g@addto@macro\eq@Opt{(}% + \pdfstringdef\@optTokstemp{#1}% + \expandafter\g@addto@macro\expandafter\eq@Opt + \expandafter{\@optTokstemp}% + \g@addto@macro\eq@Opt{)}% + \ef@pdfstrCLOpti} +\def\annot@type@listbox{listbox} +\newcommand\list@@Box[8]{\begingroup + \edef\annot@type{\annot@type@listbox}% + \pdfstringdef\Fld@name{#2}% + \expandafter\ef@pdfstrCLOpt#5\ef@@nil + \eqf@setDimens{#3}{#4}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@processEvery#8\end\noindent#6#7{#1}% +} +\def\listBoxDefaults{% + \W{1}\S{I}\F{\FPrint}\BC{0 0 0} +} +\newcommand\listBox{\begingroup + \ef@sanitize@toks\ef@listbox +} +\newcommand{\ef@listbox}[1][]{% + \endgroup\ef@listBox[#1]% +} +\newcommand\ef@listBox[5][]{% + \mbox{\list@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps + \eq@choice@driver}{\listBoxDefaults\every@listBox}}% +} +\def\annot@type@combobox{combobox} +\newcommand\combo@@Box[8]{\begingroup + \edef\annot@type{\annot@type@combobox}% + \@eqFf{\FfCombo}\pdfstringdef\Fld@name{#2}% + \expandafter\ef@pdfstrCLOpt#5\ef@@nil + \eqf@setDimens{#3}{#4}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@processEvery#8\end\noindent#6#7{#1}% +} +\def\comboBoxDefaults{% + \W{1}\S{I}\F{\FPrint}\BC{0 0 0} +} +\newcommand\comboBox{\begingroup + \ef@sanitize@toks\ef@combobox +} +\newcommand{\ef@combobox}[1][]{% + \endgroup\ef@comboBox[#1]% +} +\newcommand\ef@comboBox[5][]{% + \mbox{\combo@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps + \eq@choice@driver}{\comboBoxDefaults\every@comboBox}}% +} +\def\common@pushButtonCode{% + /Subtype/Widget + /T (\Fld@name) + /FT/Btn + \eq@Ff + \eq@TU + \eq@H + \eq@F + /BS <<\eq@W\eq@S >> +\ifx\eq@AP\@empty + /MK <<\eq@R\eq@BC\eq@BG% + \ef@kvCA\ef@kvRC\ef@kvAC\eq@IconMK\eq@mkIns>> +\else + \eq@AP +\fi + /DA (\eq@DA) + \eq@A\eq@AA + \eq@rawPDF +} +\def\common@RadioCheckCode{% + /Subtype/Widget + /T (\Fld@name) + /FT/Btn + \eq@Ff + \eq@F + \eq@TU + /BS <<\eq@W\eq@S>> +\ifx\eq@AP\@empty + /AP<< /N <<\eq@On<<>>>> >> + \eq@MK +\else + \eq@AP +\fi + /DA (\eq@DA) + \eq@AS + \eq@DV\eq@V + \eq@A\eq@AA + \eq@rawPDF +} +\def\annot@type@button{pushbtn} +\newcommand\push@@Button[7]{\begingroup + \edef\annot@type{\annot@type@button}% + \pdfstringdef\Fld@name{#2}%\edef\Fld@name{#2}% + \makeJSspecials\ef@preProcDefns + \def\eq@Ff{/Ff \FfPushButton}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \eqf@setDimens{#3}{#4}% + \@processEvery#7\end\noindent#5#6{#1}% +} +\def\pushButtonDefaults{% + \W{1}\S{B}\F{\FPrint}\BC{0 0 0} + \H{P}\BG{.7529 .7529 .7529} +} +\newcommand\pushButton{\begingroup + \ef@sanitize@toks\ef@pushbutton +} +\newcommand{\ef@pushbutton}[1][]{% + \endgroup\ef@pushButton[#1]% +} +\newcommand\ef@pushButton[4][]{% + \mbox{\push@@Button{#1}{#2}{#3}{#4}{}{% + \eq@setButtonProps\eq@Button@driver}% + {\pushButtonDefaults\every@PushButton}}% +} +\def\annot@type@checkbox{checkbox} +\newcommand\check@@Box[8] +{% + \begingroup\let\#\ef@Hx + \edef\annot@type{\annot@type@checkbox}% + \pdfstringdef\Fld@name{#2}\@eqAS{Off}% + \def\@eqDV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty\let\eq@DV\@empty + \else\ifpdfmarkup\def\eq@DV{/DV(##1) cvn }\else + \def\eq@DV{/DV/##1}\fi\fi}% + \def\@eqV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty + \let\eq@V\@empty\else\ifpdfmarkup\def\eq@V{/V(##1) cvn }\else + \def\eq@V{/V/##1}\fi\@eqAS{##1}\fi}% + \eqf@setDimens{#3}{#4}% + \ifpdfmarkup\def\eq@On{(#5) cvn }\else + \def\eq@On{/#5}\fi\@eqtextFont{ZaDb}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@eqMK{\eq@R\eq@BC\eq@BG/CA(\symbol@choice)\eq@mkIns}% + \@processEvery#8\end\noindent#6#7{#1}% +} +\def\checkBoxDefaults{% + \F{\FPrint}\W{1}\S{S}\BC{0 0 0}% +} +\newcommand\checkBox{\begingroup + \ef@sanitize@toks\ef@checkbox +} +\newcommand{\ef@checkbox}[5][]{% + \endgroup\mbox{\check@@Box{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps + \eq@RadioCheck@driver}{\checkBoxDefaults\every@CheckBox}}% +} +\def\annot@type@radio{radiobtn} +\newcommand\radio@@Button[8]{\begingroup\let\#\ef@Hx + \edef\annot@type{\annot@type@radio}% + \pdfstringdef\Fld@name{#2}\@eqAS{Off}% + \def\@eqDV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty\let\eq@DV\@empty + \else\ifpdfmarkup\def\eq@DV{/DV(##1) cvn }\else + \def\eq@DV{/DV/##1}\fi\fi}% + \def\@eqV##1{\def\eq@arg{##1}\ifx\eq@arg\@empty + \let\eq@V\@empty\else\ifpdfmarkup\def\eq@V{/V(##1) cvn }\else + \def\eq@V{/V/##1}\fi\@eqAS{##1}\fi}% + \eqf@setDimens{#3}{#4}% + \ifpdfmarkup\def\eq@On{(#5) cvn }\else\def\eq@On{/#5}\fi + \def\eq@Ff{/Ff \FfRadio}\@eqtextFont{ZaDb}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@eqMK{\eq@R\eq@BC\eq@BG/CA(\symbol@choice)\eq@mkIns}% + \@processEvery#8\end\noindent#6#7{#1}% +} +\def\radioButtonDefaults +{% + \W{1}\S{S}\BC{0 0 0}\F{\FPrint} +} +\newcommand\radioButton{\begingroup + \ef@sanitize@toks\ef@radiobutton +} +\newcommand{\ef@radiobutton}[5][]{\endgroup + \mbox{\radio@@Button{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps + \eq@RadioCheck@driver}{\radioButtonDefaults\every@RadioButton}}% +} +\newcommand\ef@radioButton[5][] +{% + \mbox{\radio@@Button{#1}{#2}{#3}{#4}{#5}{}{\eq@setWidgetProps + \eq@RadioCheck@driver}{\radioButtonDefaults\every@RadioButton}}% +} +\def\common@TextFieldCode +{% + /Subtype/Widget + /T (\Fld@name) + /FT/Tx + \eq@Ff + \eq@F + \eq@Q + \eq@TU + \eq@MaxLen + /BS <<\eq@W\eq@S>> + /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> + /DA (\eq@DA) + \eq@DV\eq@V + \eq@RV\eq@DS + \eq@A\eq@AA + \eq@rawPDF +} +\def\annot@type@text{textfld} +\newcommand\text@@Field[7] +{% + \begingroup + \edef\annot@type{\annot@type@text}% + \pdfstringdef\Fld@name{#2}\def\eq@Title{#2}% + \eqf@setDimens{#3}{#4}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@processEvery#7\end\noindent#5#6{#1}% +} +\def\textFieldDefaults +{% + \F{\FPrint}\BC{0 0 0}\W{1}\S{S} +} +\newcommand\textField{\begingroup + \ef@sanitize@toks\ef@textfield +} +\newcommand{\ef@textfield}[2][]{% + \endgroup\ef@textField[#1]{#2}% +} +\newcommand\ef@textField[4][] +{% + \mbox{\text@@Field{#1}{#2}{#3}{#4}{}% + {\eq@setWidgetProps\eq@TextField}% + {\textFieldDefaults\every@TextField}}% +} +\let\eqTextField\textField +\let\calcTextField\textField +\def\common@SigFieldCode +{% + /Subtype /Widget + /T (\Fld@name) + /FT/Sig + \eq@F + \eq@TU + /BS <<\eq@W\eq@S>> + /MK <<\eq@R\eq@BC\eq@BG\eq@mkIns>> + /DA (\eq@DA) + \eq@Lock + \eq@A\eq@AA + \eq@rawPDF +} +\def\annot@type@sig{sigfld} +\newcommand\sig@@Field[7]{% + \begingroup + \edef\annot@type{\annot@type@sig}% + \pdfstringdef\Fld@name{#2}\def\eq@Title{#2}% + \eqf@setDimens{#3}{#4}% + \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% + \@processEvery#7\end\noindent#5#6{#1}% +} +\def\sigFieldDefaults +{% + \F{\FPrint}\BC{}\BG{}\W{1}\S{S} +} +\newcommand\sigField{\begingroup + \ef@sanitize@toks\ef@sigfield +} +\newcommand{\ef@sigfield}[1][]{% + \endgroup\ef@sigField[#1]% +} +\newcommand\ef@sigField[4][] +{% + \mbox{\sig@@Field{#1}{#2}{#3}{#4}{}{\eq@setWidgetProps\eq@SigField}% + {\sigFieldDefaults\every@sigField}}% +} +\def\common@LinkCode +{% + \eq@A % Action + \eq@H % Highlight + \eq@Color % Border color + \link@BS % Border styles + \eq@rawPDF % everything else +} +\def\annot@type@link{link} +\newcommand\set@@Link[7] +{% + \begingroup + \makeJSspecials + \edef\annot@type{\annot@type@link}% + \ef@preProcDefns + \eqf@setDimens{#2}{#3}% + \ifx\eq@rectW\@empty\def\link@@Box{#4}\else + \def\eq@arg{#4}\ifx\eq@arg\@empty + \def\eq@content{\hfill\vfill}\else\def\eq@content{#4}\fi + \def\link@@Box{\parbox[\eq@pos][\eq@rectH][\eq@innerpos]% + {\eq@rectW}{\centering\eq@content}}% + \fi + \@processEvery#7\end\noindent#5#6{#1}% +} +\def\defaultlinkcolor{\@linkcolor} +\def\setDef@ultLinkColor{\ifHy@colorlinks + \def\ef@thislinkcolor{\defaultlinkcolor} + \def\ef@colorthislink{\color{\ef@thislinkcolor}}\else + \let\ef@colorthislink\relax\fi +} +\AtBeginDocument{\setDef@ultLinkColor} +\def\set@LinkTextDefaults{\S{S}\Border{0 0 0}} +\newcommand\setLink{\begingroup + \ef@sanitize@toks\ef@setlinktext +} +\let\setLinkText\setLink +\newcommand{\ef@setlinktext}[1][]{% + \endgroup\ef@searchmlLink#1\mlLink\end\@nil + \ifx\ef@mlLink\ef@Zero\def\ef@next{\set@LinkText[#1]}\else + \def\ef@next{\mlhypertext[#1]}\fi\ef@next +} +\newcommand\set@LinkText[2][]{% + \set@@Link{#1}{}{}{\ef@colorthislink#2}{}% + {\eq@setWidgetProps{\ef@postProcLinkProps\setLink@driver}}% + {\set@LinkTextDefaults\every@Link}% +} +\def\ef@preProcDefns{% + \def\Win##1{/Win <<##1>>}% + \def\fitpage{\dl@fitpage}\def\actualsize{\dl@actualsize}% + \def\fitwidth{\dl@fitwidth}\def\fitheight{\dl@fitheight}% + \def\fitvisible{\dl@fitvisible}\def\inheritzoom{\dl@inheritzoom}% + \let\rPage\ef@rPage + \edef\Page##1{\ifcase\eq@drivernum + {Page##1}\or + \noexpand\pdfpageref##1\space\space 0 R\or + \noexpand @page##1\fi + }% +} +\def\ef@postProcLinkProps{} +\newcommand{\mlsetLink}{\mlhypertext} +\newcommand{\mlhypertext}[2][]{\@ifundefined{mlhypertext@i} + {\PackageWarning{eforms}{The \string\mlhypertext\space command + does nothing unless\MessageBreak the aeb_mlink package is loaded}}{}% + #2} +\def\set@LinkBboxDefaults{\S{S}\Border{0 0 0}} +\newcommand{\setLinkBbox}{\begingroup + \ef@sanitize@toks\ef@linkbbox +} +\newcommand{\ef@linkbbox}[1][]{% + \endgroup\ef@setLinkBbox[#1]% +} +\newcommand{\ef@setLinkBbox}[3][]{% + \@setLinkBbox{#1}{#2}{#3}% +} +\def\@setLinkBbox#1#2#3{\@ifnextchar[{\@@setLinkBbox{#1}{#2}{#3}}% + {\@@setLinkBbox{#1}{#2}{#3}[c]}} +\def\@@setLinkBbox#1#2#3[#4]{% + \@ifnextchar[{\@@@setLinkBbox{#1}{#2}{#3}{#4}}% + {\@@@setLinkBbox{#1}{#2}{#3}{#4}[#4]}% +} +\def\@@@setLinkBbox#1#2#3#4[#5]#6{% + \def\eq@pos{#4}\def\eq@innerpos{#5}% + \set@@Link{#1}{#2}{#3}{\ef@colorthislink#6}% + {\eq@setWidgetProps\setLink@driver}{}% + {\set@LinkBboxDefaults\every@Link}% +} +\def\set@LinkPboxDefaults{\S{S}\Border{0 0 0}} +\newcommand\setLinkPbox{\begingroup + \ef@sanitize@toks\ef@linkpbox +} +\newcommand{\ef@linkpbox}[1]{% + \endgroup\ef@setLinkPbox{#1}% +} +\newcommand\ef@setLinkPbox[1]{% + \@setLinkPbox{#1\BS{}}{}{}{\hfill\vfill}% +} +\def\@setLinkPbox#1#2#3{\@ifnextchar[{\@@setLinkPbox{#1}{#2}{#3}}% + {\@@setLinkPbox{#1}{#2}{#3}[c]}} +\def\@@setLinkPbox#1#2#3[#4]{% + \@ifnextchar[{\@@@setLinkPbox{#1}{#2}{#3}{#4}}% + {\@@@setLinkPbox{#1}{#2}{#3}{#4}[#4]} +} +\def\@@@setLinkPbox#1#2#3#4[#5]#6{% + \def\eq@pos{#4}\def\eq@innerpos{#5}% + \set@@Link{#1}{#2}{#3}{#6}{\eq@setWidgetProps\setLinkPbox@driver}% + {}{\set@LinkPboxDefaults\every@Link}% +} +\input{\eq@drivercode} +\inputCalcOrderJS +\endinput +%% +%% End of file `eforms.sty'. -- cgit v1.2.3