From fcf66e0c8c8c0f5d590d5ac4411b13977aef8a30 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 23 Jan 2021 03:02:06 +0000 Subject: CTAN sync 202101230302 --- macros/latex/contrib/acrotex/README.md | 18 +- macros/latex/contrib/acrotex/doc/aeb_man.pdf | Bin 1364576 -> 1499729 bytes macros/latex/contrib/acrotex/doc/aeb_man.tex | 63 +- macros/latex/contrib/acrotex/doc/eformman.pdf | Bin 991820 -> 987217 bytes macros/latex/contrib/acrotex/doc/eformman.tex | 63 +- macros/latex/contrib/acrotex/eforms.dtx | 88 +- macros/latex/contrib/acrotex/examples/webeqtst.pdf | Bin 484582 -> 494990 bytes macros/latex/contrib/acrotex/exerquiz.dtx | 3862 +++++++++---------- macros/latex/contrib/acrotex/insdljs.dtx | 1032 +++--- macros/latex/contrib/acrotex/web.dtx | 3917 ++++++++++---------- 10 files changed, 4581 insertions(+), 4462 deletions(-) (limited to 'macros/latex/contrib/acrotex') diff --git a/macros/latex/contrib/acrotex/README.md b/macros/latex/contrib/acrotex/README.md index c4c3e1edd7..98c419c802 100644 --- a/macros/latex/contrib/acrotex/README.md +++ b/macros/latex/contrib/acrotex/README.md @@ -1,6 +1,6 @@ The AcroTeX eDucation Bundle Author: D. P. Story -Dated: 2020-11-20 +Dated: 2021-01-20 AeB contains the following: @@ -18,6 +18,22 @@ AeB contains the following: 6) Documentation for AeB (AcroTeX eDucatation Bundle) and eForms (including insdljs and dljslib). + +What's New (2021-01-20) Defined two commands \doNotRandomizeChoices + and \allowRandomizedChoices; these turn off and turn on the randomization + of choices in MC and MS questions. + +What's New (2020-12-30) + exerquiz: Minor bug fixes; converted some inline JS to JS in + the defineJS env. + eforms: New keys for option list of form macros: \rectW, \rectH, + \width, \height, \scalefactor. Also introduced are \textFontDefault, + \textSizeDefault, and \btnSpcr. All form fields and link annotations + now obey \pdfSpacesOn (and \pdfSpacesOff). + insdljs: Added \Thread and \Launch actions; \dfnJSCR and \dfnJSCRDef. + New options of defineJS: \makecmt and \typeset. Improved the defineJS + environment. Refer to http://www.acrotex.net/blog/?p=1442 + for a full discussion of the defineJS and all its features. What's New (2020-11-20) Fixed minor, yet critical, bug converning duplicate definition of \URI. diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.pdf b/macros/latex/contrib/acrotex/doc/aeb_man.pdf index 1e6d223e3c..c62c427b52 100644 Binary files a/macros/latex/contrib/acrotex/doc/aeb_man.pdf and b/macros/latex/contrib/acrotex/doc/aeb_man.pdf differ diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.tex b/macros/latex/contrib/acrotex/doc/aeb_man.tex index dd5cead2f7..cf08a13258 100644 --- a/macros/latex/contrib/acrotex/doc/aeb_man.tex +++ b/macros/latex/contrib/acrotex/doc/aeb_man.tex @@ -233,10 +233,10 @@ \university{{\AcroT} Software Development Team} \email{dpstory@acrotex.net} \versionLabel{Dated:} -\version{2020/11/11} +\version{2021/01/20} \copyrightyears{1999-\the\year} \nocopyright -\prepared{2020/11/11} +\prepared{2021/01/20} \revisionLabel{Distribution Dated:} \copyrightStatus{True} @@ -698,9 +698,9 @@ writing to this document level. For those who use the In this section, we describe how to insert document level Java\-Scripts into a \textsf{PDF} file, prepared from a -\LaTeX{} source that uses the \texttt{exerquiz} package. Even +\LaTeX{} source that uses the \pkg{exerquiz} package. Even though the handling and insertion of document level JavaScript is -done with the package \textsf{insdljs}, a little care must be +done with the package \pkg{insdljs}, a little care must be taken, at least in the Distiller case, when building your {\PDF} document. @@ -6971,25 +6971,24 @@ how to use the ``every'' command.\footnote{eforms manual on Web: \subsubsection{Change color of Correction Marks} -The colors used to mark the quiz can be changed by redefining the -commands \cs{check\-Color}, \cs{crossColor} and \cs{correctColor} in -the \textit{preamble} or before. Below are the -defaults: -\begin{Verbatim}[xleftmargin=\amtIndent] -\renewcommand\checkColor{["RGB", 0, .6, 0]} -\renewcommand\crossColor{color.red} -\renewcommand\correctColor{["RGB", 0, .6, 0]} % webgreen +The colors used to mark quizzes are changed in the \textit{preamble} by +redefining the commands listed below. The default definitions are, +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()] +\newcommand\rghtColorJSDef{["RGB",!,0,!,.6,!,0]} %!textsf( color for right response) +\newcommand\wrngColorJSDef{color.red} %!textsf( color for wrong response) +\newcommand\partialColorJSDef{color.blue} %!textsf( color for partial credit) +\newcommand\defaultColorJSDef{color.black} %!textsf( reset color) \end{Verbatim} \noindent The colors are inserted into the field using JavaScript, so the color definitions -are in the color space of the JavaScript object model. +are in the color space of the JavaScript color object model. \subsubsection{The `Correction' Button}\label{sss:CorrButton} The `Correction' button is defined by the \cs{CorrButton} has two parameters. -\begin{Verbatim}[xleftmargin=\amtIndent] -\CorrButton[mod_appear]{field_name} +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\CorrButton[!ameta(mod_appear)]{!ameta(field_name)} \end{Verbatim} The second parameter is the field name that contains the total score for the quiz (see the above examples). It also has one optional argument that can be @@ -9305,10 +9304,12 @@ for example, it could read \cs{randomi=132088850}, then use \end{Verbatim} Of course comment out \cs{inputRandomSeed}. -\settowidth{\aebdimen}{\cs{obeyLocalRandomize}}% +\settowidth{\aebdimen}{\cs{allowRandomizedChoices}}% \begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} \turnOnRandomize \obeyLocalRandomize +\doNotRandomizeChoices +\allowRandomizedChoices \end{dCmd} \newtopic\indent The command \cs{turnOnRandomize} overrides all local settings of \cs{bChoices} @@ -9340,22 +9341,30 @@ the choices will not be randomized, because the \texttt{random} option was not specified; or they will be randomized if the \texttt{random} option is used. -\newtopic\textcolor{red}{Limitations:} There are natural limitations on the use -of \cs{bChoices} and \cs{eChoices} and consequently, there are -limitations on the randomization. The content between \cs{Ans} and -\cs{eAns} cannot have any verbatim text. This is usually not a -problem for mathematical content, but could be a limitation for -computer science where questions about syntax may be posed. I have -in mind a work-around, but haven't pursued the problem as of yet. +\newtopic\indent The command \cs{doNotRandomizeChoices} overrides the +\opt{allowrandomize} option; when in effect, randomization of the choices +does not occur. The companion command \cs{allowRandomizedChoices} restores the +authority of the \opt{allowrandomize} option. + +\newtopic\textcolor{red}{Limitations:} There are natural limitations on the +use of \cs{bChoices} and \cs{eChoices} and consequently, there are +limitations on the randomization. The content between \cs{Ans} and \cs{eAns} +cannot have any verbatim text. This is usually not a problem for mathematical +content, but could be a limitation for computer science where questions about +syntax may be posed. + +% I have in mind a work-around, but haven't pursued the +% problem as of yet. \section{Creating a Quiz Summary Table}\label{s:sumrytbl} This feature is designed for a \texttt{quiz} (as opposed to a \texttt{shortquiz}) and is probably most useful for a long quiz, spanning -several pages. The \cs{displaySumryTbl} command creates a table that summarizes -the user's effort for the quiz; \cs{displaySumryTbl} must follow the final -\verb!\end{questions}! and \emph{must be on a separate page} from the last question of the quiz. -An example of the generated table is shown below in \hyperref[fig:qzSumryTbl]{Figure~\ref*{fig:qzSumryTbl}}. +several pages. The \cs{displaySumryTbl} command creates a table that +summarizes the user's effort for the quiz; \cs{displaySumryTbl} must follow +the final \verb!\end{questions}! and \emph{must be on a separate page} from +the last question of the quiz. An example of the generated table is shown +below in \hyperref[fig:qzSumryTbl]{Figure~\ref*{fig:qzSumryTbl}}. \exAeBBlogPDF{p=377} The demo file for this section is \texttt{\href{\urlAcroTeXBlog/?p=377}{sumry\_tbl.pdf}}, found diff --git a/macros/latex/contrib/acrotex/doc/eformman.pdf b/macros/latex/contrib/acrotex/doc/eformman.pdf index 788d0683c5..03a576d453 100644 Binary files a/macros/latex/contrib/acrotex/doc/eformman.pdf and b/macros/latex/contrib/acrotex/doc/eformman.pdf differ diff --git a/macros/latex/contrib/acrotex/doc/eformman.tex b/macros/latex/contrib/acrotex/doc/eformman.tex index ef8d90a37c..881a9f4090 100644 --- a/macros/latex/contrib/acrotex/doc/eformman.tex +++ b/macros/latex/contrib/acrotex/doc/eformman.tex @@ -27,6 +27,7 @@ \def\mSTRUT{\makebox[0pt][l]{\phantom{$\frac00$}}} \let\vrbnormal\sffamily \let\uif\sffamily +\let\key\texttt %\makeatletter @@ -79,7 +80,7 @@ subject={Documentation for the eforms and insdljs packages}, talksite={\url{www.acrotex.net}}, version={2.0}, - prepared={2020/11/11}, + prepared={2021/01/20}, preparedLabel={Distribution Dated:}, keywords={LaTeX, hyperref, PDF, exercises, quizzes}, copyrightStatus=True, @@ -1206,10 +1207,10 @@ places message in the console when the field is signed. \item The \cs{Lock} key can be used to lock various fields when the document is signed. -\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left] +\begin{Verbatim}[xleftmargin=\amtIndent,numbers=left,commandchars=!()] \Lock{/Action/All} -\Lock{/Action/Include/Fields [(field1)(field2)...]} -\Lock{/Action/Exclude/Fields [(field1)(field2)...]} +\Lock{/Action/IncludeFields{!ameta(field!SUB1),!ameta(field!SUB2),...}} +\Lock{/Action/ExcludeFields{!ameta(field!SUB1),!ameta(field!SUB2),...}} \end{Verbatim} \begin{itemize} \item In (1), all fields are locked when the signature field is signed. @@ -1218,7 +1219,7 @@ is signed. \item In (3), all fields, except the ones listed, are locked when the signature field is signed. \end{itemize} -The \texttt{/Fields} key is required when the action is either \texttt{/Include} or \texttt{/Exclude}. +%The \texttt{/Fields} key is required when the action is either \texttt{/Include} or \texttt{/Exclude}. \end{itemize} @@ -2672,20 +2673,22 @@ JavaScript code (\anglemeta{script}). \settowidth{\aebdimen}{\ttfamily lock=\darg{\anglemeta{PDF KV-pairs}}} \def\1{\llap{\Cs{Lock}\hspace{\marginparsep}}}%Lock \begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} -!1lock={!anglemeta(PDF KV-pairs)} +!1lock={!anglemeta(KV-pairs)} \end{dCmd} -\CmdDescription The \texttt{lock} key is used with signature fields, currently, there is - no nice user interface to this key. Typical entries are -\begin{Verbatim}[xleftmargin=\amtIndent] -lock={/Action/All} % lock all fields in the doc -lock={/Action/Include % lock all fields listed in Fields - /Fields [(field1)(field2)...]} -lock={/Action/Exclude % lock all fields not listed in Fields - /Fields [(field1)(field2)...]} +\CmdDescription The \texttt{lock} key is used with signature fields; use the +\key{action} key (with supported values of \texttt{all}, \texttt{include}, and \texttt{exclude}) +and the \key{fields} key to determine the lock action. +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +%!sffamily lock all fields in the doc +lock={action=all} +% !sffamily lock all fields listed by !texttt(fields) key +lock={action=include,fields={!ameta(field!SUB1),!ameta(field!SUB2),...}} +% !sffamily lock all fields not listed by !texttt(fields) key +lock={action=exclude,fields={!ameta(field!SUB1),!ameta(field!SUB2),...}} \end{Verbatim} -\newtopic Another option that is included in the Signed tab is titled ``This script executes +\newtopic Another option that is included in the \uif{Signed tab} is titled ``This script executes when field is signed.'' This is an option that, through the user interface, is mutually exclusive from @@ -2883,12 +2886,12 @@ required to have \app{Acrobat}~5.0 (or later). \section{Package Options} The \textsf{insdljs} supports five common ``drivers'': \texttt{dvipsone}, -\texttt{dvips}, \texttt{pdftex} (including the executable \textsf{lu(la)tex}), \texttt{dvipdfm}, -\texttt{dvipdfmx}, \texttt{xetex}, and \texttt{tex\-tures}. When using -\texttt{dvipsone} or \texttt{dvips}, \app{Acrobat} Distiller and \app{Acrobat} -(version 5.0 or later) are required to embed the JavaScripts at the -document level. The other drivers have primitives that allow the embedding -of the JavaScripts. +\texttt{dvips}, \texttt{pdftex} (including the executable +\textsf{lu(la)tex}), \texttt{dvipdfm}, \texttt{dvipdfmx}, \texttt{xetex}, and +\texttt{tex\-tures}. When using \texttt{dvips}, \app{Acrobat} Distiller and +\app{Acrobat} (version 5.0 or later) are required to embed the JavaScripts at +the document level. The other drivers have primitives that allow the +embedding of the JavaScripts. \newtopic Other options are discussed in the following paragraphs. \begin{description}\def\NH{\hspace{-\labelsep}} @@ -3417,12 +3420,12 @@ console.println("Exiting the button area"); \AAMouseExit{\JS{\JSAAX}}} ]{myButton}{30bp}{15bp} \end{dCmd*} -\newtopic The code lines of \cs{JSAAE} and \cs{JSAAX} are so simple, \texttt{defineJS} environment +\newtopic The code lines of \cs{JSAAE} and \cs{JSAAX} are so simple, \env{defineJS} environment was really not needed. \newtopic See \Nameref{lengthyJS} for an additional example of the use of the \texttt{defineJS} environment. -The \pkg{insdljs} package defines two ``silent'' versions of \env{defineJS}, +The \pkg{insdljs} package defines two ``silent'' versions of \env{defineJS}, these are \env{@defineJS} and \env{defineJS*}. \settowidth{\aebdimen}{\ttfamily\string\begin\darg{@defineJS}[\ameta{chngCats}]\darg{\cs{\ameta{cmd}}}} \begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule} @@ -3485,6 +3488,11 @@ stream; this keeps the declaration local. The \hyperlink{cmd}{\cs{cmd}} key is d \hyperref[supportedKVs]{Appendix~\ref*{supportedKVs}}, titled `\nameref{supportedKVs}', beginning on \pageref*{supportedKVs}; specifically, \cs{cmd} is listed in under the heading \textcolor{blue}{Specialized, non-PDF Spec commands}. +%http://www.acrotex.net/blog/?p=1442 + +\exAeBBlogPDF{p=1442} A comprehensive discussion of the features to the \env{defineJS} +environment is found in the article titled \href{\urlAcroTeXBlog/?p=1442}{\relax{\protect\pkg{insdljs}}: Exploring the {\protect\env{defineJS}} environment} from the {\AcroBlog} +website.\footnote{\url{http://www.acrotex.net/blog/?p=1442}} \newpage %\appendix @@ -3605,6 +3613,15 @@ your system, you can use \emph{named colors} to specify color for the \end{Verbatim} then each of the following is valid: \verb!\textColor{myBlue}! (for specifying text color for text fields), \verb!\BG{myBlue}! (for specifying the background color of a field), \verb!\BC{myBlue}! (for specifying the border color of a field), and \verb!\Color{myBlue}! (for specifying the border color of a link). + +\paragraph*{Setting some defaults.} Before getting to the specification of +the key-values, there are two convenience commands for setting the default +text font and text size. These are +\cs{textFontDefault\darg{\ameta{font-spec}}} +(\cs{textFontDefault\darg{Helv}}) for setting the default text font and +\cs{textSizeDefault\darg{\ameta{size}}} (\cs{textSizeDefault\darg{9}}) for +setting the default text size. + \newpage \begingroup \setlength{\extrarowheight}{3mm}\setlength{\tabcolsep}{3pt} diff --git a/macros/latex/contrib/acrotex/eforms.dtx b/macros/latex/contrib/acrotex/eforms.dtx index 1d51969496..bc21d96c72 100644 --- a/macros/latex/contrib/acrotex/eforms.dtx +++ b/macros/latex/contrib/acrotex/eforms.dtx @@ -16,7 +16,7 @@ % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{eforms} -% [2020/11/20 v2.3.5 Provides general eforms support (dps)] +% [2020/12/14 v2.4.1 Provides general eforms support (dps)] %<*driver> \documentclass{ltxdoc} \usepackage[colorlinks,hyperindex=false]{hyperref}[2012/10/12] @@ -33,6 +33,7 @@ \let\opt\texttt \let\app\textsf \let\key\texttt +\let\uif\textsf \def\visispace{\symbol{32}} \def\ameta#1{\ensuremath{\langle\textit{\texttt{#1}}\rangle}} \def\meta#1{\textsl{\texttt{#1}}} @@ -1189,16 +1190,26 @@ \def\@eqDA#1{\def\eq@DA{#1}} \def\eq@DA{\eq@textFont\space\eq@textSize\space Tf \eq@textColor}% % \end{macrocode} -% \DescribeMacro{\textFont} PDF form font +% \DescribeMacro{\textFont} PDF form font. This is a simple assignment; we define +% \DescribeMacro{\textFontDefault}\cs{textFontDefault} to conveniently change the default font over +% all form fields, with the exception of checkboxes and radio button fields. The default +% is \uif{Helv}. +% \changes{v2.4.1}{2020/12/14}{Defined \string\cs{eqtextFontDefault}} % \begin{macrocode} \def\@eqtextFont#1{\def\eq@textFont{/#1}} -\def\eq@textFont{/Helv} +\def\textFontDefault#1{\def\eq@textFontDefault{#1} + \def\eq@textFont{/#1}} +\textFontDefault{Helv} % \end{macrocode} -% \DescribeMacro{\textSize} PDF form text size +% \DescribeMacro{\textSize} PDF form text size. This is a simple assignment; we define +% \DescribeMacro{\textSizeDefault}\cs{textSizeDefault} to conveniently change the default font size for all +% form fields, including checkboxes and radio buttons. The default is 9 (points). +% \changes{v2.4.1}{2020/12/14}{Defined \string\cs{eqtextSizeDefault}} % \begin{macrocode} \def\@eqtextSize#1{\def\eq@textSize{#1}} -\def\eq@textSizeDefault{9} -\edef\eq@textSize{\eq@textSizeDefault} +\def\textSizeDefault#1{\def\eq@textSizeDefault{#1} + \def\eq@textSize{#1}} +\textSizeDefault{9} % \end{macrocode} % \DescribeMacro{\RV} Rich text value %\changes{v2.5l}{2011/01/28}{% @@ -1266,8 +1277,6 @@ % of the combo box (only), the code below \cs{let}s \cs{eq@DV} to \cs{@empty} in enhanced % preview mode, for combo boxes only. % \begin{macrocode} -% \ifx\annot@type\annot@type@combobox -% \ifefpmpv\let\eq@DV\@empty\fi\fi \makespecialJS\fi\fi}\def\eq@DV{} % \end{macrocode} % \DescribeMacro{\nuDV} \cs{@eqnuDV} is the old definition of DV. This version does not @@ -2420,7 +2429,6 @@ % % \begin{macro}{\JS} % \begin{macro}{\Named} -% \begin{macro}{\URI} % \begin{macro}{\Next} % \begin{macro}{\toggleAttachmentsPanel} % Convenience commands for writing JavaScript and for executing named events. @@ -2439,7 +2447,6 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} % When entering triggers into the AA dictionary, use these commands (all the ones of % the form \cs{AA}. These all have one argument, the action to take, usually % a JavaScript action. There is now a routine in the parsing of the AA dictionary @@ -3114,6 +3121,9 @@ \ef@pdfstrCLOpti} % \end{macrocode} % \subsubsection{List Box}\label{listbox} +% +%\changes{v2.4}{2020/11/28}{Allow \cs{list@@Box} to obey \string\cs{pdfStringsOn}} +% % The main list box code that can be used to build list box commands, such as % \cs{listBox}, defined below. Within % the optional argument, the following aliases are used: \cs{nameuse} for \cs{@nameuse} @@ -3131,7 +3141,10 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@listbox{listbox} -\newcommand\list@@Box[8]{\begingroup +\bgroup\obeyspaces +\gdef\list@@Box{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\list@@@Box}\egroup +\newcommand\list@@@Box[8]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \edef\annot@type{\annot@type@listbox}% \pdfstringdef\Fld@name{#2}\dl@paramlocal @@ -3177,6 +3190,9 @@ % \end{macrocode} % \end{macro} % \subsubsection{Combo Box}\label{combobox} +% +%\changes{v2.4}{2020/11/28}{Allow \cs{combo@@Box} to obey \string\cs{pdfStringsOn}} +% % Within the optional argument, the following aliases are used: \cs{nameuse} for \cs{@nameuse} % and \cs{tops} for \cs{texorpdfstring}. %\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small, @@ -3192,7 +3208,10 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@combobox{combobox} -\newcommand\combo@@Box[8]{\begingroup +\bgroup\obeyspaces +\gdef\combo@@Box{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\combo@@@Box}\egroup +\newcommand\combo@@@Box[8]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \edef\annot@type{\annot@type@combobox}% \@eqFf{\FfCombo}\pdfstringdef\Fld@name{#2}\dl@paramlocal @@ -3353,6 +3372,7 @@ % when setting the dimensions of this widget. Made the same % changes for all AcroForm elements and for linking. %} +%\changes{v2.4}{2020/11/28}{Rewrite of \string\cs{push@@Button} to support \string\cs{pdfSpacesOn}} %\begin{Verbatim}[xleftmargin=\parindent,fontsize=\small, %commandchars=!(),codes={\catcode`\%=9}] %#1 = !textsf(optional, used to enter any modification of the appearance/actions) @@ -3365,15 +3385,19 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@button{pushbtn} -\newcommand\push@@Button[7]{\begingroup - \let\nameuse\@nameuse\let\tops\texorpdfstring +\bgroup\obeyspaces +\gdef\push@@Button{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\push@@@Button}\egroup +\newcommand\push@@@Button[7]{\endgroup\begingroup + \let\nameuse\@nameuse\let\tops\texorpdfstring% \edef\annot@type{\annot@type@button}% - \pdfstringdef\Fld@name{#2}\dl@paramlocal - \makeJSspecials\ef@preProcDefns + \pdfstringdef\Fld@name{#2}\dl@paramlocal% + \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}} + % \end{macrocode} % \begin{macro}{\pushButton} % \hskip-\marginparsep\texttt{[\ameta{options}]\darg{\ameta{fld-name}}\darg{\ameta{wd}}\darg{\ameta{ht}}} @@ -3410,6 +3434,7 @@ % The basic command for creating check boxes. For \emph{enhanced preview} we define % \DescribeMacro\pmpvMrk\cs{pmpvMrk\darg{mrk}}, which defines \cs{pmpv@mrk} that is eventually % used in the core of \cs{ef@Bbox}. +%\changes{v2.4}{2020/11/28}{Rewrite of \string\cs{check@@Box} to support \string\cs{pdfSpacesOn}} % \begin{macrocode} \def\pmpvMrk#1{\def\pmpv@mrk{#1}} \pmpvMrk{X} @@ -3427,7 +3452,10 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@checkbox{checkbox} -\newcommand\check@@Box[8]{\begingroup +\bgroup\obeyspaces +\gdef\check@@Box{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\check@@@Box}\egroup +\newcommand\check@@@Box[8]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \let\#\ef@Hx\edef\annot@type{\annot@type@checkbox}% \pdfstringdef\Fld@name{#2}\@eqAS{Off}\dl@paramlocal @@ -3493,6 +3521,7 @@ % Use the default setting (\cmd{\useNewRadiosOff}) when you will view the PDF in AA/AR and save it; otherwise, if the PDF is to be viewed in non-conforming % PDF readers, never having been saved using AA/AR, use the \cmd{\useNewRadiosOn} setting. % \changes{v2.3}{2019/06/14}{Rewrote radio buttons so they work in non-conforming PDF readers} +% \changes{v2.4}{2020/11/28}{Rewrite of \string\cs{radio@@Button} to support \string\cs{pdfSpacesOn}} % % \medskip\noindent\textbf{Discussion.} The default scheme is to create the radio buttons \begin{quote}\footnotesize % \cs{radioButton\darg{\ameta{name}}\darg{\ameta{width}}\darg{\ameta{height}}} ...\\ @@ -3626,7 +3655,10 @@ %#8 = !textsf(every macros) %\end{Verbatim} % \begin{macrocode} -\newcommand\radio@@Button[8]{\begingroup\let\#\ef@Hx +\bgroup\obeyspaces +\gdef\radio@@Button{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\radio@@@Button}\egroup +\newcommand\radio@@@Button[8]{\endgroup\begingroup\let\#\ef@Hx \let\nameuse\@nameuse\let\tops\texorpdfstring \edef\annot@type{\annot@type@radio}% \pdfstringdef\Fld@name{#2}% @@ -3720,6 +3752,7 @@ % The template for a text field. Within % the optional argument, the following aliases are used: \cs{nameuse} for \cs{@nameuse} % and \cs{tops} for \cs{texorpdfstring}. +%\changes{v2.4}{2020/11/28}{Rewrite of \string\cs{text@@Field} to support \string\cs{pdfSpacesOn}} % \begin{macrocode} \def\common@TextFieldCode {% @@ -3754,7 +3787,10 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@text{textfld} -\newcommand\text@@Field[7]{\begingroup +\bgroup\obeyspaces +\gdef\text@@Field{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\text@@@Field}\egroup +\newcommand\text@@@Field[7]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \edef\annot@type{\annot@type@text}% \pdfstringdef\Fld@name{#2}\dl@paramlocal @@ -3802,6 +3838,7 @@ % The template for a signature field. Within % the optional argument, the following aliases are used: \cs{nameuse} for \cs{@nameuse} % and \cs{tops} for \cs{texorpdfstring}. +%\changes{v2.4}{2020/11/28}{Rewrite of \string\cs{sig@@Field} to support \string\cs{pdfSpacesOn}} % \begin{macrocode} \def\common@SigFieldCode {% @@ -3832,7 +3869,10 @@ %\end{Verbatim} % \begin{macrocode} \def\annot@type@sig{sigfld} -\newcommand\sig@@Field[7]{\begingroup +\bgroup\obeyspaces +\gdef\sig@@Field{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\sig@@@Field}\egroup +\newcommand\sig@@@Field[7]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \edef\annot@type{\annot@type@sig}% \pdfstringdef\Fld@name{#2}\dl@paramlocal @@ -3871,6 +3911,7 @@ % allow actions other than jumping. I've included a general link % that increases the usage of the links provided by % \textsf{hyperref}. +%\changes{v2.4}{2020/11/28}{Rewrite of \string\cs{set@@Link} to support \string\cs{pdfSpacesOn}} % \paragraph{Common Link Code.} All the link commands eventually come back % to this template for constructing a link annotation. % \begin{macrocode} @@ -3896,7 +3937,10 @@ %\end{enumerate} % \begin{macrocode} \def\annot@type@link{link} -\newcommand\set@@Link[7]{\begingroup +\bgroup\obeyspaces +\gdef\set@@Link{\begingroup\global\let =\pdfSP +\ef@sanitize@toks\set@@@Link}\egroup +\newcommand\set@@@Link[7]{\endgroup\begingroup \let\nameuse\@nameuse\let\tops\texorpdfstring \dl@paramlocal \makeJSspecials @@ -4885,7 +4929,7 @@ % The \texttt{js}\IndexKey{js} key is used to execute JavaScript actions on a mouse up trigger. % The argument is a JavaScript text string: |js={app.alert("Hello World!"}|. % The value of \texttt{js} may be a macro containing JavaScript, which would include -% a macro created by the \texttt{defineJS} environment of \textsf{insdljs}. +% a macro created by the \env{defineJS} environment of \textsf{insdljs}. % \begin{macrocode} \define@key{eforms}{js}[]{\@eqA{\JS{#1}}} % \end{macrocode} diff --git a/macros/latex/contrib/acrotex/examples/webeqtst.pdf b/macros/latex/contrib/acrotex/examples/webeqtst.pdf index 7044adc54b..31a2cd68c3 100644 Binary files a/macros/latex/contrib/acrotex/examples/webeqtst.pdf and b/macros/latex/contrib/acrotex/examples/webeqtst.pdf differ diff --git a/macros/latex/contrib/acrotex/exerquiz.dtx b/macros/latex/contrib/acrotex/exerquiz.dtx index a5c4c18451..f478c87fe8 100644 --- a/macros/latex/contrib/acrotex/exerquiz.dtx +++ b/macros/latex/contrib/acrotex/exerquiz.dtx @@ -22,7 +22,7 @@ %\ProvidesFile{aebrandom.def} %\ProvidesFile{aebsumrytbls.def} %