diff options
author | Norbert Preining <norbert@preining.info> | 2021-05-14 06:36:17 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-05-14 06:36:17 +0900 |
commit | 4ac795a4cbc17927bd3bc444849a5144d23ba43f (patch) | |
tree | 8948edec442783553a0424e591502f58d919dc69 /texmf-dist/tex/latex | |
parent | a44c31f2888612f90f4ebcf97cc95e89b0047714 (diff) |
acrotex (May14)
Diffstat (limited to 'texmf-dist/tex/latex')
-rw-r--r-- | texmf-dist/tex/latex/acrotex/aebjs.def | 60 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/aebrandom.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/aebsumrytbls.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/dljslib.sty | 175 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/edvipdfm.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/eforms.sty | 22 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/epdfmark.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/epdftex.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/exerquiz.sty | 454 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/insdljs.sty | 56 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/pdfdochex.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/rbmintrvl.def | 29 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/setcorder.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/template.def | 2 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/uieforms.def | 6 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/web.sty | 59 | ||||
-rw-r--r-- | texmf-dist/tex/latex/acrotex/webpro.def | 6 |
17 files changed, 503 insertions, 380 deletions
diff --git a/texmf-dist/tex/latex/acrotex/aebjs.def b/texmf-dist/tex/latex/acrotex/aebjs.def index 0d642bb6..a0fb5916 100644 --- a/texmf-dist/tex/latex/acrotex/aebjs.def +++ b/texmf-dist/tex/latex/acrotex/aebjs.def @@ -18,7 +18,7 @@ %% License, or (at your option) any later version. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesFile{aebjs.def} - [2021/02/17 v8.6.4 % + [2021/05/10 v8.7.7 % Exerquiz document level JavaScript (dps)] \def\aeb@array{new Array} \def\refac#1{\\(#1\\)}\def\regrp#1{(#1)}\def\rechrclass#1{[#1]} @@ -189,9 +189,7 @@ function DisplayAnswer(fieldname,theanswer) var oQName = new Object; var defaultColor=(typeof oQName.DefaultColorJSLoc=="undefined")% ?\defaultColorJS:oQName.DefaultColorJSLoc; - try { - this.getField(fieldname).value=(theanswer); - } catch(e) {} + try { this.getField(fieldname).value=(theanswer); } catch(e) {} ProcessIt = true; } function EvalCorrAnsButton(fieldname,theanswer) @@ -287,7 +285,7 @@ function ParseInput(UserInput) UserInput=UserInput.replace(re,"E+$1"); re=/(\d)\*E/g; UserInput=UserInput.replace(re,"$1E"); - if(!Ckfuncs(UserInput)) return false; + if(!Ckfuncs(UserInput)) return false; if (typeof(Ck4Exponents) != "undefined") UserInput = Ck4Exponents(UserInput); if (typeof(Ck4Products) != "undefined" ) @@ -363,8 +361,7 @@ function ParseInput(UserInput) { eqAppAlert(\eqerrBadExp,3); return false; - } - else { + } else { UserInput=addMathObject(UserInput); return UserInput; } @@ -501,8 +498,8 @@ function processSpecialParse(oParse,UserAns) { retn=_o(UserAns); if (retn==null) return retn; } else { - retn=_o[0].apply(null, [ UserAns ].concat(_o.slice(1))); - if (retn==null) return null; + retn=_o[0].apply(null, [ UserAns ].concat(_o.slice(1))); + if (retn==null) return null; } } } else { @@ -540,6 +537,11 @@ CorrAns,userAns,comp) } return true; } +var ckDZRe=/\b([^0-9]*)(\d*)\./g; +function ckDZReRepl(match,a,b,offset,string){ + if (b[0]!="0") return match; + else return util.printf(a+"\%d.",b); +} function diffCompare(_a,_c,_v,_F,_G) { var aXY = _c.split(","); var _V = _v.split(","); // e.g. _V[0] = "i:x" @@ -555,6 +557,7 @@ function diffCompare(_a,_c,_v,_F,_G) { if ( app.viewerVersion >= 5) { var rtnCode = 0; + _G=_G.replace(ckDZRe,ckDZReRepl); eval("try {if(isNaN(_G = eval(_G))) rtnCode=-1; }" +"catch (e) { rtnCode=1; }"); switch(rtnCode) @@ -574,16 +577,17 @@ function reldiffCompare(_a,_c,_v,_F,_G) { var _n = aXY.length for (var _i=0; _i < _n; _i++) { - if (_V[_i].charAt(0) == "r" ) - eval ("var "+_V[_i].charAt(2)+"="+aXY[_i]+";"); - else // assume type "i" - eval ("var "+_V[_i].charAt(2)+"="+Math.ceil(aXY[_i])+";"); + if (_V[_i].charAt(0) == "r" ) + eval ("var "+_V[_i].charAt(2)+"="+aXY[_i]+";"); + else // assume type "i" + eval ("var "+_V[_i].charAt(2)+"="+Math.ceil(aXY[_i])+";"); } _F = eval(_F); if ( app.viewerVersion >= 5) { var rtnCode = 0; - eval("try { if(isNaN(_G = eval(_G))) rtnCode=-1; }" + _G=_G.replace(ckDZRe,ckDZReRepl); + eval("try {if(isNaN(_G = eval(_G))) rtnCode=-1; }" +"catch (e) { rtnCode=1; }"); switch(rtnCode) { @@ -835,20 +839,24 @@ function ProcUserResp(key,userresp,probno,notify) function ProcUserNoResp(key,userresp,probno,notify) { if ( arguments.length > 4 ) { - RightWrong[probno][arguments[4]] = undefined; - Responses[probno][arguments[4]] = undefined; + try{ + RightWrong[probno][arguments[4]] = undefined; + Responses[probno][arguments[4]] = undefined; + } catch(e){}; var bVoidArray=true; - for (var i=0; i<Responses[probno].length; i++) { - if ( typeof Responses[probno][i] != "undefined") { - bVoidArray=false; - break; - } - } -if (bVoidArray) { -Responses[probno]=undefined; -RightWrong[probno]=undefined; + try { + for (var i=0; i<Responses[probno].length; i++) { + if ( typeof Responses[probno][i] != "undefined") { + bVoidArray=false; + break; + } + } + } catch(e){}; + if (bVoidArray) { + Responses[probno]=undefined; + RightWrong[probno]=undefined; ProbValue[probno]=undefined; -} + } } else { RightWrong[probno] = undefined; Responses[probno] = undefined; diff --git a/texmf-dist/tex/latex/acrotex/aebrandom.def b/texmf-dist/tex/latex/acrotex/aebrandom.def index 114da934..f648e885 100644 --- a/texmf-dist/tex/latex/acrotex/aebrandom.def +++ b/texmf-dist/tex/latex/acrotex/aebrandom.def @@ -18,7 +18,7 @@ %% License, or (at your option) any later version. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesFile{aebrandom.def} - [2021/02/17 v8.6.4 % + [2021/05/10 v8.7.7 % Exerquiz support for randomization (dps)] \@ifundefined{nextrandom}{\input{random.tex}}{} \def\nextrandom{\begingroup diff --git a/texmf-dist/tex/latex/acrotex/aebsumrytbls.def b/texmf-dist/tex/latex/acrotex/aebsumrytbls.def index 56ad6489..c4213d4d 100644 --- a/texmf-dist/tex/latex/acrotex/aebsumrytbls.def +++ b/texmf-dist/tex/latex/acrotex/aebsumrytbls.def @@ -18,7 +18,7 @@ %% License, or (at your option) any later version. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesFile{aebsumrytbls.def} - [2021/02/17 v8.6.4 % + [2021/05/10 v8.7.7 % Exerquiz support for summary tables (dps)] \def\ccatCurrQzWith(#1){\currQuiz#1} \def\pbPopulateSumTable{\pushButton[\W0\BG{}\BC{}\S{S}\autoCenter{n} diff --git a/texmf-dist/tex/latex/acrotex/dljslib.sty b/texmf-dist/tex/latex/acrotex/dljslib.sty index bad34c8f..3276d53b 100644 --- a/texmf-dist/tex/latex/acrotex/dljslib.sty +++ b/texmf-dist/tex/latex/acrotex/dljslib.sty @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% dljsLib.sty package, %% -%% Copyright (C) 2001-2018 D. P. Story %% +%% Copyright (C) 2001-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dljslib} - [2017/08/11 v2.1 Manage a Library of Document Level JavaScripts (dps)] + [2021/04/04 v2.2 Manage a Library of Document Level JavaScripts (dps)] \newcommand\dljsRegister[2][n] {\expandafter\let\csname checkout@#2\endcsname=#1} \def\@ifcheckedout#1{\expandafter\if\csname checkout@#1\endcsname y} @@ -36,12 +36,14 @@ \DeclareAndRegister{combinatorics} \DeclareAndRegister{setSupport} \DeclareOption{unordered}{\PackageWarning{dljslib} - {The `unordered' option is now combined with the\MessageBreak - `setSupport' option, will use the `setSupport' option\MessageBreak - instead}\ExecuteOptions{setSupport}} + {The `unordered' option is now combined with the\MessageBreak + `setSupport' option, will use the `setSupport' option\MessageBreak + instead}\ExecuteOptions{setSupport}} \DeclareAndRegister{complex} \DeclareAndRegister{satisfyEq} \DeclareAndRegister{useGermanNums} +\DeclareOption{useDeNums}{\ExecuteOptions{useGermanNums}} +\DeclareAndRegister{useEnNums} \DeclareAndRegister{factors} \DeclareAndRegister{point} \DeclareAndRegister{intervals} @@ -63,6 +65,8 @@ \let\dljs@verbatim\comment \let\enddljs@verbatim\endcomment\fi\dljs@verbatim }{\enddljs@verbatim} +\newcommand{\SyntaxErrorAuthor}{"Syntax error in author's answer! + Check console."} \begin{library@holding}{dljslib} \begin{insDLJS*}[dljslib]{dljslib} \begin{newsegment}{dljslib: AcroTeX DLJS Library} @@ -119,17 +123,17 @@ function ProcRespEq(flag,CorrAns,n,epsilon,domain,indepVars,oComp) } zCorrAns = ParseInput(zCorrAns); if (!ok2Continue) { - eqAppAlert("Syntax error in author's answer! Check console.", 3); + eqAppAlert(\SyntaxErrorAuthor,3); console.println("Syntax Error: " + CorrAns); return null; } zUserAns = ParseInput(zUserAns); if (!ok2Continue) return null; indepVars = TypeParameters(indepVars); - var lambda = getNonZeroRatio (domain, indepVars, zCorrAns, zUserAns); + var lambda = getNonZeroRatio(domain,indepVars,zCorrAns,zUserAns); if ( lambda == null ) { eqAppAlert(\eqSyntaxErrorUndefVar,3); return null; }; - if ( !ok2Continue ) return notifyField(false, flag, fieldname); + if ( !ok2Continue ) return notifyField(false,flag,fieldname); zCorrAns = lambda + "*(" + zCorrAns + ")"; success=randomPointCompare (n,domain,indepVars,epsilon, zCorrAns,zUserAns,comp) @@ -260,7 +264,7 @@ typeof oComp.priorParse != "undefined" ) { for (i=0; i<aCorrAns.length; i++) { aCorrAns[i] = ParseInput(aCorrAns[i]); if (!ok2Continue) { - eqAppAlert("Author Syntax error!", 3); + eqAppAlert(\SyntaxErrorAuthor, 3); return null; } aUserAns[i] = ParseInput(aUserAns[i]); @@ -867,18 +871,41 @@ isCorrect *=Number(success); \end{newsegment} \end{library@holding} \@ifcheckedout{useGermanNums} -\newcommand{\noDecPtGerMsg}{"A period (.) is not allowed in answer, - use German notation for numbers"} + \dlJSStr[noquotes]{\noDecPtDeMsg}{% + "German Notation Syntax Error: A point (.) was found + in your response \"" + UserAns + "\". + Please remove the point, or this answer will be marked as wrong."} + \flJSStr*[noquotes]{\MsgDei}{"German decimal notation is expected, +for example: 12,3456."} + \flJSStr*[noquotes]{\MsgDeiAlt}{"German decimal notation is expected, +for example: 12,3456." +((warnDecDeOnly)?"\n\n +The English decimal notation (12.2345) is also accepted, +however.":"")} + \flJSStr*[noquotes]{\MsgDeii}{"A decimal number is required, +rounded to two decimal places, for example: 12,34"} + \def\warnDecDeOnlyOn{\def\warnDecDeOnly{true}} + \def\warnDefDeOnlyOff{\def\warnDecDeOnly{false}} + \warnDefDeOnlyOff + \def\numDe#1{{priorParse:\Array(% + \preReqForm(/\rebstr\rechrclass{+-}?\redigit*,?% + \redigit*\reestr/,(#1)))}} + \def\rndNumDeReq#1#2{{priorParse:\Array(% + \preReqForm(/\rebstr\rechrclass{+-}?\redigit*,% + \redigit{#1}\reestr/,(#2)))}} + \def\rndNumDeOpt#1#2{{priorParse:\Array(% at most two decimal places + \preReqForm(/\rebstr\rechrclass{+-}?% + \redigit*,?\redigit{0,#1}\reestr/,(#2)))}} \fi \begin{library@holding}{useGermanNums} \begin{newsegment} {dljslib: Support for process numbers in the German format} +var warnDecDeOnly=\warnDecDeOnly; function ProcRespNumsDe (flag,CorrAns,n,epsilon,% domain,indepVars,oComp) { if (!ProcessIt) return null; ok2Continue = true; var fieldname = event.target.name; - var bSubstVars=(arguments.length>7); // dps17 + var bSubstVars=(arguments.length>7); var UserAns=(bSubstVars)?arguments[7]:event.value; var success = _ProcRespNumsDe(flag,CorrAns,UserAns,n,% epsilon,domain,indepVars,oComp); @@ -891,14 +918,14 @@ domain,indepVars,oComp) { ok2Continue = true; CorrAns = ParseInput(CorrAns); if (!ok2Continue) { - eqAppAlert("Syntax error in author's answer! Check console.", 3); + eqAppAlert(\SyntaxErrorAuthor,3); return null; } var UserAnsSave=UserAns; var reDe=/,/g; var reDec=/\./g; - if ( reDec.test(UserAns) ) { - eqAppAlert(\noDecPtGerMsg,3); + if ( (!warnDecDeOnly) && (reDec.test(UserAns)) ) { + eqAppAlert(\noDecPtDeMsg,3); return -1; } UserAns=UserAns.replace(reDe,"."); @@ -908,12 +935,7 @@ domain,indepVars,oComp) { if ( (typeof(oComp)=="object") % && (typeof(oComp.priorParse)!="undefined") ) { var retn=processSpecialParse(oComp.priorParse,UserAnsSave); - if (retn==null) return -1; - } - var reComma=/,/; - if ( reComma.test(UserAns) ) { - eqAppAlert(\eqSyntaxErrorComma,3); - return -1; + if ( (!warnDecDeOnly) && (retn==null) ) return -1; } UserAns = ParseInput(UserAns); indepVars = TypeParameters(indepVars); @@ -927,6 +949,25 @@ epsilon,CorrAns,UserAns,comp); } \end{newsegment} \end{library@holding} +\@ifcheckedout{useEnNums} + \dlJSStr[noquotes]{\noDecPtEnMsg}{% + "Syntax Error: A comma (,) was found + in your response \"" + UserAns + "\". + Please remove the comma, or this answer will be marked as wrong."} + \flJSStr*[noquotes]{\MsgEni}{"English decimal notation is expected, +for example: 12.3456."} + \flJSStr*[noquotes]{\MsgEnii}{"A decimal number is required, +rounded to two decimal places, for example: 12.34"} + \def\numEn#1{{priorParse:\Array(% + \preReqForm(/\rebstr\rechrclass{+-}?\redigit*\\.?% + \redigit*\reestr/,(#1)))}} + \def\rndNumEnReq#1#2{{priorParse:\Array(% + \preReqForm(/\rebstr\rechrclass{+-}?\redigit*\\.% + \redigit{#1}\reestr/,(#2)))}} + \def\rndNumEnOpt#1#2{{priorParse:\Array(% at most two decimal places + \preReqForm(/\rebstr\rechrclass{+-}?% + \redigit*\\.?\redigit{0,#1}\reestr/,(#2)))}} +\fi \begin{library@holding}{unordered} \begin{newsegment}{dljslib: Contrib - Processing Unordered Responses} /* @@ -1146,7 +1187,7 @@ function ProcPoint(flag,CorrAns,n,epsilon,domain,indepVars,oComp) for (i=0; i<aCorrAns.length; i++) { aCorrAns[i] = ParseInput(aCorrAns[i]); if (!ok2Continue) { - eqAppAlert("Author Syntax error!", 3); + eqAppAlert(\SyntaxErrorAuthor, 3); return null; } aUserAns[i] = ParseInput(aUserAns[i]); @@ -1167,7 +1208,8 @@ function ProcPoint(flag,CorrAns,n,epsilon,domain,indepVars,oComp) \end{library@holding} \begin{library@holding}{intervals} \begin{newsegment}{dljslib: Contrib - Processing Interval Responses} -function ProcRespIntervals(flag,CorrAns,n,epsilon,domain,indepVars,oComp) +function ProcRespIntervals(flag,CorrAns,n,epsilon,domain,% +indepVars,oComp) { ok2Continue = true; if (!ProcessIt) return null; @@ -1444,57 +1486,56 @@ function NoExpAllowed (UserAns) { } function NoTrigAllowed (UserAns) { - UserAns = stripWhiteSpace(UserAns); - if ( !ok2Continue ) return null; - var aTrigfuncs = new Array - ( "acos","asin","atan","cos", "sin", "tan","sec","csc","cot", - "arcsin", "arccos", "arctan" - ); - var re, regexp; - re = /[a-zA-Z]{2,}/g; - aF = UserAns.match(re); - if ( aF != null ) { - for (var i=0; i < aF.length; i++) - { - for(var j=0; j < aTrigfuncs.length; j++) { - if ( aF[i].indexOf(aTrigfuncs[j]) != -1 ) - return eqAppAlert(\NoTrigAllowedErrorMsg,3), null; - } - } - } - return true; + UserAns = stripWhiteSpace(UserAns); + if ( !ok2Continue ) return null; + var aTrigfuncs = new Array + ( "acos","asin","atan","cos", "sin", "tan","sec","csc","cot", + "arcsin", "arccos", "arctan" + ); + var re, regexp; + re = /[a-zA-Z]{2,}/g; + aF = UserAns.match(re); + if ( aF != null ) { + for (var i=0; i < aF.length; i++) { + for(var j=0; j < aTrigfuncs.length; j++) { + if ( aF[i].indexOf(aTrigfuncs[j]) != -1 ) + return eqAppAlert(\NoTrigAllowedErrorMsg,3), null; + } + } + } + return true; } function NoPiAllowed(UserAns) { - UserAns = stripWhiteSpace(UserAns); - if ( !ok2Continue ) return null; - var re=/PI|pi/; - if ( re.test(UserAns) ) - return eqAppAlert(\NoPiAllowedErrorMsg,3), null; - return true; + UserAns = stripWhiteSpace(UserAns); + if ( !ok2Continue ) return null; + var re=/PI|pi/; + if ( re.test(UserAns) ) + return eqAppAlert(\NoPiAllowedErrorMsg,3), null; + return true; } function NoTrigLogAllowed (UserAns) { - UserAns = stripWhiteSpace(UserAns); - if ( !ok2Continue ) return null; - var aTrigfuncs = new Array - ( "acos","asin","atan","cos", "sin", - "tan","sec","csc","cot", "arcsin", "arccos", "arctan", - "logc","log", "ln" - ); - var re, regexp; - re = /[a-zA-Z]{2,}/g; - aF = UserAns.match(re); - if ( aF != null ) { - for (var i=0; i < aF.length; i++) - { - for(var j=0; j < aTrigfuncs.length; j++) { - if ( aF[i].indexOf(aTrigfuncs[j]) != -1 ) - return eqAppAlert(\NoTrigLogAllowedErrorMsg,3), null; - } - } + UserAns = stripWhiteSpace(UserAns); + if ( !ok2Continue ) return null; + var aTrigfuncs = new Array + ( "acos","asin","atan","cos", "sin", + "tan","sec","csc","cot", "arcsin", "arccos", "arctan", + "logc","log", "ln" + ); + var re, regexp; + re = /[a-zA-Z]{2,}/g; + aF = UserAns.match(re); + if ( aF != null ) { + for (var i=0; i < aF.length; i++) + { + for(var j=0; j < aTrigfuncs.length; j++) { + if ( aF[i].indexOf(aTrigfuncs[j]) != -1 ) + return eqAppAlert(\NoTrigLogAllowedErrorMsg,3), null; + } } - return true; + } + return true; } var bAllowWrngNormSciNotn=false; var bItsNormSciNot=false; diff --git a/texmf-dist/tex/latex/acrotex/edvipdfm.def b/texmf-dist/tex/latex/acrotex/edvipdfm.def index 7ed8ef58..13b4ee3c 100644 --- a/texmf-dist/tex/latex/acrotex/edvipdfm.def +++ b/texmf-dist/tex/latex/acrotex/edvipdfm.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/acrotex/eforms.sty b/texmf-dist/tex/latex/acrotex/eforms.sty index bc67416c..4ecc7cb2 100644 --- a/texmf-dist/tex/latex/acrotex/eforms.sty +++ b/texmf-dist/tex/latex/acrotex/eforms.sty @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{eforms} - [2020/12/14 v2.4.1 Provides general eforms support (dps)] + [2021/05/10 v2.4.3 Provides general eforms support (dps)] \RequirePackage{ifpdf}[2006/02/20] \RequirePackage{ifxetex}[2006/08/21] \RequirePackage{ifluatex} @@ -115,7 +115,7 @@ \@makeother\$\relax \newlength\eflength \@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse -\ifpdf\else\ifnum\eq@drivernum=2\relax\else\pdfmarkuptrue\fi\fi +\ifpdf\else\ifnum\eq@drivernum=\tw@\else\pdfmarkuptrue\fi\fi \RequirePackage{hyperref} \ifnum\eq@drivernum=2\relax \else @@ -140,11 +140,11 @@ \let\ef@YES=y \let\ef@NO=n \let\ef@One=1 \let\ef@Zero=0 \ifnum\eq@drivername<2\relax -\let\to@usepdfmark\ef@One -\RequirePackage[structure]{taborder}\else -\let\to@usepdfmark\ef@Zero -\RequirePackage{taborder} -\fi + \let\to@usepdfmark\ef@One + \def\reqPkg{\RequirePackage[structure]{taborder}}\else + \let\to@usepdfmark\ef@Zero + \def\reqPkg{\RequirePackage{taborder}}\fi +\reqPkg \def\csarg#1#2{\expandafter#1\csname#2\endcsname} \@ifundefined{eq@tmpbox}{\newsavebox{\eq@tmpbox}}{} \@ifundefined{eq@tmpdima}{\newdimen\eq@tmpdima}{} @@ -185,6 +185,12 @@ \def\efsavei#1\as#2{\global\let#2#1\egroup} \def\efrestore{\bgroup\let\from\relax\makeatletter\efrestorei} \def\efrestorei#1\from#2{\global\let#1#2\egroup} +\def\txtRef#1{\@ifundefined{r@#1} + {??}{\aeb@exiii\@firstoffive\csname r@#1\endcsname}} +\def\labelRef#1{\@ifundefined{r@#1}{Doc-Start} + {\aeb@exiii\@fourthoffive\csname r@#1\endcsname}} +\def\aeb@exiii{\expandafter\expandafter\expandafter} +\def\noexpandiii{\noexpand\noexpand\noexpand} \let\ef@passedArgs\@empty \def\processAppArgs#1#2{% \ifx\end#1% if #1=\end, #2=\@nil. diff --git a/texmf-dist/tex/latex/acrotex/epdfmark.def b/texmf-dist/tex/latex/acrotex/epdfmark.def index e6313949..663fce75 100644 --- a/texmf-dist/tex/latex/acrotex/epdfmark.def +++ b/texmf-dist/tex/latex/acrotex/epdfmark.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/acrotex/epdftex.def b/texmf-dist/tex/latex/acrotex/epdftex.def index a2a9a1dc..59e39bfa 100644 --- a/texmf-dist/tex/latex/acrotex/epdftex.def +++ b/texmf-dist/tex/latex/acrotex/epdftex.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/acrotex/exerquiz.sty b/texmf-dist/tex/latex/acrotex/exerquiz.sty index 7e46009c..2815e490 100644 --- a/texmf-dist/tex/latex/acrotex/exerquiz.sty +++ b/texmf-dist/tex/latex/acrotex/exerquiz.sty @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{exerquiz} - [2021/02/17 v8.6.4 % + [2021/05/10 v8.7.7 % Exerquiz: Exercises and Quizzes for LaTeX/PDF package (dps)] \usepackage{keyval} \RequirePackage{ifpdf}[2006/02/20] @@ -33,11 +33,9 @@ \DeclareOption{noxcolor}{\def\eq@ColorPackage{color}} \DeclareOption{forpaper}{% \eqforpapertrue\PassOptionsToPackage{monochrome}{\eq@ColorPackage} - \AtBeginDocument{\ifnum\eq@drivernum=4 \else\AllowPeeking\fi} -} -\DeclareOption{forcolorpaper}{\eqforpapertrue % for print - \AtBeginDocument{\ifnum\eq@drivernum=4 \else\AllowPeeking\fi} -} + \AtBeginDocument{\AllowPeeking}} +\DeclareOption{forcolorpaper}{\eqforpapertrue + \AtBeginDocument{\AllowPeeking}} \DeclareOption{preview}{\PassOptionsToPackage{preview}{eforms}} \DeclareOption{nosolutions}{\eq@nosolutionstrue\eq@nolinktrue} \DeclareOption{noquizsolutions}{\eq@noquizsolutionstrue\eq@nolinktrue} @@ -48,58 +46,64 @@ \let\eq@online\eq@NO \DeclareOption{nohiddensolutions}{\eq@globalshowsolutionstrue} \DeclareOption{noHiddensolutions}% - {\eq@globalshowsolutionstrue\AtBeginDocument{\def\Hidesymbol{h}}} + {\eq@globalshowsolutionstrue\AtBeginDocument{\def\Hidesymbol{h}}} \DeclareOption{solutionsafter}{\eq@solutionsaftertrue\eq@nolinktrue} \DeclareOption{solutionsonly}{\solutionsonlytrue\answerkeytrue - \therearesolutionstrue\AtEndOfPackage{\let\exerSolnsHeadnToc\relax}} + \therearesolutionstrue\AtEndOfPackage{\let\exerSolnsHeadnToc\relax}} \newif\ifsolutionsonly\solutionsonlyfalse \@ifundefined{ifanswerkey}{\newif\ifanswerkey\answerkeyfalse}{} \DeclareOption{contsolns}{\AtEndOfPackage{\InputIfFileExists - {contsolns.def}{\contsolnsInputMsg}{\contsolnsErrorMsg}}} + {contsolns.def}{\contsolnsInputMsg}{\contsolnsErrorMsg}}} \def\contsolnsInputMsg{\PackageInfo{exerquiz}{contsolns option, - inputting file contsolns.def}} + inputting file contsolns.def}} \def\contsolnsErrorMsg{\PackageWarning{exerquiz}{contsolns option, - cannot find file contsolns.def}} + cannot find file contsolns.def}} \DeclareOption{nocorrections}{\nocorrectionstrue} \DeclareOption{proofing}{\eq@proofingtrue} \newif\ifaebshowgrayletters\aebshowgraylettersfalse \DeclareOption{showgrayletters}{\aebshowgrayletterstrue} \@ifundefined{ifvspacewithsolns}{% - \DeclareOption{vspacewithsolns}{\vspacewithsolnstrue} - \newif\ifvspacewithsolns\vspacewithsolnsfalse + \DeclareOption{vspacewithsolns}{\vspacewithsolnstrue} + \newif\ifvspacewithsolns\vspacewithsolnsfalse }{} \@ifundefined{ifdisplayworkarea}{\newif\ifdisplayworkarea \displayworkareafalse}{} \providecommand\displayworkareaOn{\displayworkareatrue} \providecommand\displayworkareaOff{\displayworkareafalse} \DeclareOption{nodljs}{\PassOptionsToPackage{nodljs}{insdljs}% - \AtEndOfPackage{\let\importdljs\eq@YES}} + \AtEndOfPackage{\let\importdljs\eq@YES}} \DeclareOption{execJS}{\PassOptionsToPackage{execJS}{insdljs}} +\DeclareOption{usealtadobe}{\PassOptionsToPackage{usealtadobe}{insdljs}} \DeclareOption{exercisesonly}{\PassOptionsToPackage{nodljs}{insdljs}} \DeclareOption{debug}{\PassOptionsToPackage{debug}{insdljs}} \DeclareOption{allowrandomize}{\AtEndOfPackage{\inputRandomizeChoices}} \def\inputRandomizeChoices{\InputIfFileExists{aebrandom.def} - {\PackageInfo{exerquiz}{inputting aebrandom.def}} - {cannot find aebrandom.def}} + {\PackageInfo{exerquiz}{inputting aebrandom.def}} + {cannot find aebrandom.def}} \newif \ifusesumrytbls \usesumrytblsfalse \DeclareOption{usesumrytbls}{\usesumrytblstrue - \def\inputSumryTblCode{\InputIfFileExists{aebsumrytbls.def} - {\PackageInfo{exerquiz}{inputting aebsumrytbls.def}}% - {cannot find aebsumrytbls.def}}} + \def\inputSumryTblCode{\InputIfFileExists{aebsumrytbls.def} + {\PackageInfo{exerquiz}{inputting aebsumrytbls.def}}% + {cannot find aebsumrytbls.def}}} \let\inputSumryTblCode\relax \DeclareOption{usemcfi}{% - \def\inputMCFICode{\InputIfFileExists{usemcfi.def} - {\PackageInfo{exerquiz}{inputting usemcfi.def}}% - {cannot find usemcfi.def}}} + \def\inputMCFICode{\InputIfFileExists{usemcfi.def} + {\PackageInfo{exerquiz}{inputting usemcfi.def}}% + {cannot find usemcfi.def}}} \let\inputMCFICode\relax \newif\ifwithinMCFI\withinMCFIfalse +\DeclareOption{userbmintrvl}{% + \def\inputRBMICode{\InputIfFileExists{rbmintrvl.def} + {\PackageInfo{exerquiz}{Inputting rbmintrvl.def}}% + {cannot find rbmintrvl.def}}} +\let\inputRBMICode\relax \DeclareOption{dvipsone}{% - \def\eq@drivernum{0}\def\eq@driver{dvipsone}% - \PassOptionsToPackage{dvipsone}{eforms} + \def\eq@drivernum{0}\def\eq@driver{dvipsone} + \PassOptionsToPackage{dvipsone}{eforms} } \DeclareOption{dvips}{% - \def\eq@drivernum{0}\def\eq@driver{dvips}% - \PassOptionsToPackage{dvips}{eforms} + \def\eq@drivernum{0}\def\eq@driver{dvips} + \PassOptionsToPackage{dvips}{eforms} } \DeclareOption{pdftex}{% \def\eq@drivernum{1}\def\eq@driver{pdftex}% @@ -107,32 +111,35 @@ \PassOptionsToPackage{pdftex}{eforms} } \DeclareOption{luatex}{% - \def\eq@drivernum{1}\def\eq@driver{luatex}% + \def\eq@drivernum{1}\def\eq@driver{luatex} \PassOptionsToPackage{luatex}{\eq@ColorPackage} \PassOptionsToPackage{luatex}{eforms} } \DeclareOption{dvipdfm}{% - \def\eq@drivernum{2}\def\eq@driver{dvipdfm}% - \PassOptionsToPackage{dvipdfm}{\eq@ColorPackage}% + \def\eq@drivernum{2}\def\eq@driver{dvipdfm} + \PassOptionsToPackage{dvipdfm}{\eq@ColorPackage} \PassOptionsToPackage{dvipdfm}{eforms}% } \DeclareOption{dvipdfmx}{% - \def\eq@drivernum{2}\def\eq@driver{dvipdfmx}% - \PassOptionsToPackage{dvipdfmx}{\eq@ColorPackage}% - \PassOptionsToPackage{dvipdfmx}{eforms}% + \def\eq@drivernum{2}\def\eq@driver{dvipdfmx} + \PassOptionsToPackage{dvipdfmx}{\eq@ColorPackage} + \PassOptionsToPackage{dvipdfmx}{eforms} } \DeclareOption{xetex}{% - \def\eq@drivernum{2}\def\eq@driver{xetex}% + \def\eq@drivernum{2}\def\eq@driver{xetex} \PassOptionsToPackage{xetex}{\eq@ColorPackage} - \PassOptionsToPackage{xetex}{eforms}% -} -\DeclareOption{textures}{\def\eq@drivernum{3}% - \def\eq@driver{textures}% - \PassOptionsToPackage{textures}{\eq@ColorPackage}% - \PassOptionsToPackage{textures}{eforms}% -} -\DeclareOption{dviwindo}{\def\eq@drivernum{4}\def\eq@driver{dviwindo}% - \eq@noformstrue\PassOptionsToPackage{nodljs}{insdljs}} + \PassOptionsToPackage{xetex}{eforms} +} +\DeclareOption{textures}{\def\eq@drivernum{3} + \def\eq@driver{textures} + \PassOptionsToPackage{textures}{\eq@ColorPackage} + \PassOptionsToPackage{textures}{eforms} +} +\DeclareOption{dviwindo}{\def\eq@drivernum{4}\def\eq@driver{dviwindo} + \eq@noformstrue\PassOptionsToPackage{nodljs}{insdljs}} +\def\eq@drivernum{5} +\def\eq@driver{dvipsone/dvips} +\def\eq@driver@nodriver{no driver specified} \DeclareOption{unicode}{\PassOptionsToPackage{unicode}{hyperref}} \DeclareOption{useui}{\PassOptionsToPackage{useui}{eforms}} \let\LangRedefinitions\relax @@ -310,7 +317,7 @@ \RequirePackage{verbatim} \RequirePackage{hyperref} \RequirePackage{amssymb}% used for return symbols -\RequirePackage{eforms}[2019/10/23] +\RequirePackage{eforms}[2021/05/10] \dlSetPkgInfo \@ifundefined{eq@drivernum}{% \PackageError{exerquiz}% @@ -321,7 +328,7 @@ dvipdfmx, or xetex \MessageBreak in the option list of the exerquiz package.} }{} -\edef\eq@restoreCats{% dps17 +\edef\eq@restoreCats{% \catcode`\noexpand\"=\the\catcode`\"\relax \catcode`\noexpand\'=\the\catcode`\'\relax \catcode`\noexpand\,=\the\catcode`\,\relax @@ -437,7 +444,8 @@ \ifOKToWriteExamData \set@display@protect \immediate\write\ex@solns{#1}\set@typeset@protect - \fi\fi}% + \fi\fi +} \ifsolutionsonly \InputIfFileExists{\jobname_xdefs.cut}{% \typeout{^^JExerquiz|Eqexam: Reading \jobname_xdefs.cut^^J}} @@ -524,8 +532,8 @@ \newcommand{\nolinkcolor}[1]{\def\@nolinkcolor{#1}} \nolinkcolor{blue} \newcommand{\exerSolnsInExtFile}[2][] - {\let\exerSolns@ExtFile\eq@YES\gdef\eq@exerSolns@fileName{#2}% - \gdef\exerSolns@ReturnPath{#1}} + {\let\exerSolns@ExtFile\eq@YES\gdef\eq@exerSolns@fileName{#2}% + \gdef\exerSolns@ReturnPath{#1}} \let\exerSolns@ExtFile\eq@NO \def\exerSolns@ReturnPath{} \let\marginparpriorhook\@empty % used to material before the exercise @@ -736,9 +744,9 @@ \def\eq@pslnaindnt{0pt} \let\eq@setPrbSolnAftrIndnt\relax \newcommand{\setPrbSolnAftrIndent}[1]{\ifdim#1=0pt - \def\eq@pslnaindnt{0pt}\let\eq@setPrbSolnAftrIndnt\relax\else - \edef\eq@pslnaindnt{#1}\edef\eq@setPrbSolnAftrIndnt{\expandafter - \noexpand\expandafter\parindent#1\noexpand\relax}\fi} + \def\eq@pslnaindnt{0pt}\let\eq@setPrbSolnAftrIndnt\relax\else + \edef\eq@pslnaindnt{#1}\edef\eq@setPrbSolnAftrIndnt{\expandafter + \noexpand\expandafter\parindent#1\noexpand\relax}\fi} \newif\if@restorejustify \@restorejustifyfalse \newcommand\restoreJustifyOn{\@restorejustifytrue} \newcommand\restoreJustifyOff{\@restorejustifyfalse} @@ -1612,14 +1620,14 @@ \definecolor{webgreen}{rgb}{0,.6,0} \newcommand{\proofingsymbolColor}[1]{\def\@proofingsymbolColor{#1}} \proofingsymbolColor{red} -\let\@proofsymbolredefined=0 -\newcommand{\proofingsymbol}[1]{\let\@proofsymbolredefined=1% - \def\@proofingsymbol{\textcolor{\@proofingsymbolColor}{#1}}} +\let\@proofsymbolredefined\eq@Zero +\newcommand{\proofingsymbol}[1]{\let\@proofsymbolredefined\eq@One + \def\@proofingsymbol{\textcolor{\@proofingsymbolColor}{#1}}} \def\@proofingsymbol{\textcolor{\@proofingsymbolColor}{\ding{52}}} -\def\setproofingsymbol{% - \if\@proofsymbolredefined1\else - \@ifpackageloaded{pifont}{\proofingsymbol{\ding{52}}} - {\proofingsymbol{$\bullet$}}\fi} +\def\setproofingsymbol{\ifx\@proofsymbolredefined\eq@One\else + \@ifpackageloaded{pifont}{\proofingsymbol{\ding{52}}} + {\proofingsymbol{$\bullet$}}\fi +} \AtBeginDocument{\setproofingsymbol} \newcommand{\prior@questionsHook}{} \let\insE@rlyAtQues\@empty @@ -1629,17 +1637,17 @@ \newcommand{\quesNumColor}[1]{\def\eq@quesNumCol{#1}} \quesNumColor{blue} \renewcommand{\theeqquestionnoi}{\arabic{eqquestionnoi}} -\newcommand{\labeleqquestionnoi}{% - \color{\eq@quesNumCol}\bfseries\theeqquestionnoi.} +\newcommand{\labeleqquestionnoi}{\color{\eq@quesNumCol}\bfseries + \theeqquestionnoi.} \renewcommand\theeqquestionnoii{(\alph{eqquestionnoii})} -\newcommand{\labeleqquestionnoii}{% - \color{\eq@quesNumCol}\bfseries\theeqquestionnoii} +\newcommand{\labeleqquestionnoii}{\color{\eq@quesNumCol}\bfseries + \theeqquestionnoii} \renewcommand\theeqquestionnoiii{(\roman{eqquestionnoiii})} -\newcommand{\labeleqquestionnoiii}{% - \color{\eq@quesNumCol}\bfseries\theeqquestionnoiii} +\newcommand{\labeleqquestionnoiii}{\color{\eq@quesNumCol}\bfseries + \theeqquestionnoiii} \define@key{props@ques}{labelwidthTo}% - [\normalsize\normalfont\bfseries00.]% - {\def\propQ@labelwidthTo{#1}} + [\normalsize\normalfont\bfseries00.]% + {\def\propQ@labelwidthTo{#1}} \define@key{props@ques}{labelwidth}[]{\def\propQ@labelwidth{#1}} \let\propQ@labelwidth\@empty \define@key{props@ques}{topsep}[\the\topsep]{\edef\propQ@topsep{#1}} @@ -1664,14 +1672,15 @@ \list{\qMark@Hook\prior@questionsHook \insE@rlyAtQues\gdef\eqPTs{1}% \global\let\eqQT\eq@na% - {\@tempcnta=0 \let\@thispr@b\@empty + {\@tempcnta\z@\let\@thispr@b\@empty \@whilenum\@tempcnta<\@eqquestiondepth\do{\advance\@tempcnta\@ne - \ifx\@thispr@b\@empty\edef\@thispr@b{% - \csname theeqquestionno\romannumeral\the\@tempcnta\endcsname}\else - \edef\@thispr@b{\@thispr@b% - \csname theeqquestionno\romannumeral\the\@tempcnta\endcsname}\fi + \ifx\@thispr@b\@empty\edef\@thispr@b{\@nameuse + {theeqquestionno\romannumeral\the\@tempcnta}}\else + \edef\@thispr@b{\@thispr@b\@nameuse + {theeqquestionno\romannumeral\the\@tempcnta}}\fi }\xdef\@currentQues{\@thispr@b}}% - \makebox[\labelwidth][r]{\normalfont\@nameuse{label\@quesctr}}% + \makebox[\labelwidth][r]{\normalfont + \@nameuse{label\@quesctr}}% format label \xdef\eq@pageThisQ{\the\c@page}% \post@questionsHook}{\usecounter{\@quesctr}% \ifx\propQ@labelsep\@empty @@ -1707,8 +1716,7 @@ \def\@sqGenBaseName{eqSqBn\@shortquizCnt} \let\sqhspace\space \let\ListOfSQuizNames\@empty -\newenvironment{shortquiz} -{% +\newenvironment{shortquiz}{\def\eqPTs{1}% \xdef\eq@pageThisQ{\the\c@page}% \let\@currentQues\@empty {\eqtmpcnta\@shortquizCnt\relax\advance\eqtmpcnta\@ne @@ -1717,8 +1725,7 @@ {\if\aeb@FLOverride\eq@f\def\sqstar{*}\else \def\sqstar{}\sqLinks\fi\@shortquiz}% }{\aeb@endshortquiz} -\newenvironment{shortquiz*} -{% +\newenvironment{shortquiz*}{% \xdef\eq@pageThisQ{\the\c@page}% {\eqtmpcnta\@shortquizCnt\relax\advance\eqtmpcnta\@ne \xdef\@shortquizCnt{\the\eqtmpcnta}}% @@ -1737,6 +1744,7 @@ \AA{\AAFormat{% if\eqSP(typeof\eqSP\oField=="undefined")\eqSP var\eqSP\oField=new\eqSP Object;\r + \oField.sqTlyTotCnt=0;\r \oField.Grp={};% \ifx\defaultColorJSLoc\@empty\else\r \oField.DefaultColorJSLoc=\defaultColorJSLoc;\fi @@ -1864,20 +1872,19 @@ if (typeof !oField=="undefined") \expandafter\verbatimwrite\fi } \let\qzSolutionsAfterHook\@empty -\def\endsolution@sq -{% - \ifeq@solutionsafter - \eq@fititin{\mbox{\sqslrtnlabel}}\par\qzSolutionsAfterHook - \aftergroup\ignorespaces - \else - \endverbatimwrite - \eq@clearMrkCpy - \ifx\@qzsolndest\@empty\else\set@display@protect - \immediate\write\verbatim@out{\eqSqSolnTrailer}% - \set@typeset@protect - \fi +\def\endsolution@sq{% + \ifeq@solutionsafter + \eq@fititin{\mbox{\sqslrtnlabel}}\par\qzSolutionsAfterHook + \aftergroup\ignorespaces + \else + \endverbatimwrite + \eq@clearMrkCpy + \ifx\@qzsolndest\@empty\else\set@display@protect + \immediate\write\verbatim@out{\eqSqSolnTrailer}% + \set@typeset@protect \fi - \global\let\@qzsolndest\@empty + \fi + \global\let\@qzsolndest\@empty } \newcommand\pnphDflt{.1\textheight} \newcommand{\promoteNewPageHere}[1][\pnphDflt]{% @@ -1893,26 +1900,26 @@ if (typeof !oField=="undefined") \else\newpage\penalty1\fi\fi\egroup\fi } \newcommand{\saveDest}[1][]{% - \def\sd@arg{#1}\ifx\sd@arg\@empty - \xdef\holdDest{\@qzsolndest}\else - \xdef\@qzsolndest{#1}\xdef\holdDest{#1}\fi} + \def\sd@arg{#1}\ifx\sd@arg\@empty + \xdef\holdDest{\@qzsolndest}\else + \xdef\@qzsolndest{#1}\xdef\holdDest{#1}\fi} \def\useDest{\def\@qzsolndest{\holdDest}} \let\holdDest\@empty \def\fpAfterSolutionsSkip{\par\medskip} \let\eqSqSolnTrailerHook\@empty \let\eqQzSolnTrailerHook\@empty \newcommand\eqSqSolnTrailer{% - \if\eqQuizType\isQZ - \eqQzSolnTrailerHook - \protect\ReturnTo{page.\eq@pageThisQ}% - {\protect\mbox{\sqslrtnlabel}}\string\endeqQt - \else - \eqSqSolnTrailerHook - \protect\ReturnTo{page.\eq@pageThisQ}% - {\protect\mbox{\sqslrtnlabel}}\string\endeqSQt% - \fi - \ifeqforpaper\protect\fpAfterSolutionsSkip\fi^^J% - \ifmakeQzSlLocal\protect\endgroup^^J\fi + \if\eqQuizType\isQZ + \eqQzSolnTrailerHook + \protect\ReturnTo{page.\eq@pageThisQ}% + {\protect\mbox{\sqslrtnlabel}}\string\endeqQt + \else + \eqSqSolnTrailerHook + \protect\ReturnTo{page.\eq@pageThisQ}% + {\protect\mbox{\sqslrtnlabel}}\string\endeqSQt% + \fi + \ifeqforpaper\protect\fpAfterSolutionsSkip\fi^^J% + \ifmakeQzSlLocal\protect\endgroup^^J\fi } \let\eqSQt\@gobble \let\endeqSQt\relax @@ -1952,8 +1959,7 @@ if (typeof !oField=="undefined") \newcommand{\InputQzSolnsLevel@i}[2][]{% \def\eq@QzSolnsLabel{#1}\def\eq@QzSolnsLevel{#2}} \InputQzSolnsLevel*{section} -\def\quizSolnsHeadnToc -{% +\def\quizSolnsHeadnToc{% \edef\eq@mkCmd{\expandafter\noexpand \csname\eq@QzSolnsLevel\endcsname\eq@QzSolnsStar}% \eq@mkCmd{\sqslsectitle}\if!\eq@QzSolnsLabel!\else @@ -1967,8 +1973,7 @@ if (typeof !oField=="undefined") }% \fi } -\newcommand{\quizSolnInput} -{% +\newcommand{\quizSolnInput}{% \global\let\webnewpage\relax \bgroup\OKToWriteExamDatatrue \writeT@QzSolns{\string\endinput}\egroup @@ -2029,9 +2034,11 @@ if (typeof !oField=="undefined") \newcommand\useLinks{\def\aeb@FLOverride{l}} \newcommand\restoreFLTypeDefault{\global\let\aeb@FLOverride\relax} \let\aeb@FLOverride\relax -\newenvironment{quiz} -{\goodbreak\@ifstar{\gdef\qstar{*}\@quiz*f}{\gdef\qstar{x}\@quiz*l}} - {\aeb@endquiz} +\newenvironment{quiz}{\goodbreak + \@ifstar + {\gdef\qstar{*}\@quiz*f} + {\gdef\qstar{x}\@quiz*l}% +}{\aeb@endquiz} \def\@quizCnt{0} \let\ListOfQuizNames\@empty \def\@quiz*#1#2{% @@ -2569,7 +2576,7 @@ if (isEndQuizPushed("@eqBaseName")){ \setlength{\labelsep}{0pt}% \def\Ans{\Ans@list}% }% list -}{\endlist\setcounter{quizno}{0}\eq@answersEndHook} +}{\eq@answersEndHook\endlist\setcounter{quizno}{0}} \newcommand\Ans@tabular[2][0]{\gdef\eq@pPTs{#1}\xdef\Ans@choice{#2}% \leavevmode\@Ans } @@ -2606,7 +2613,9 @@ if (isEndQuizPushed("@eqBaseName")){ \everypar{}\@endpefalse}\the\eq@scratchtoks }% } -\newcommand\answersEndHook[1]{\def\eq@answersEndHook{#1}} +\newcommand\answersEndHook[1]{\def\eq@answersEndHook{#1}% + \ifx\eq@answersEndHook\@empty\else + \def\insertEndHookHere{#1}\fi} \let\eq@answersEndHook\@empty \def\endanswers@sq{\endtabular\setcounter{quizno}{0}% \eq@answersEndHook\reset@doendpe{\the\everypar}% @@ -2677,11 +2686,14 @@ var qzSolnDest="*@qzsolndest"; var solnAfter=*ifeq@solutionsafter% true*else% false*fi; -if ((qzSolnDest!="") && !solnAfter) % -jmpToNamedDest("*oField","*@qzsolndest",% -*ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi);% -*ifx*eqAddAAMouseUpMC*empty*else -*eqAddAAMouseUpMC*fi +var f=this.getField("corr.*oField.*thequestionno"); +if (f==null) { + if ((qzSolnDest!="") && !solnAfter) % + jmpToNamedDest("*oField","*@qzsolndest",% + *ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi);% + *ifx*eqAddAAMouseUpMC*empty*else + *eqAddAAMouseUpMC*fi +} \end{defineJS} \begin{defineJS}[\makeesc\*\makecmt\%]{\Ans@sq@f@ActionsFalse} *ifx*@sqTurnOffAlerts*eq@One% @@ -2776,23 +2788,26 @@ for (var i=0; i<a.length; i++) if ( (a[i].isBoxChecked(0)) && % (a[i].value.charAt(0)==0) ) a[i].checkThisBox(0,false);% -*ifx*@sqTurnOffAlerts*eq@One% -OnBlurRespBox(true,"*oField"); +*ifx*@sqTurnOffAlerts*eq@One +OnBlurRespBox(true,"*oField");*else *fi% var qzSolnDest="*@qzsolndest"; var solnAfter=*ifeq@solutionsafter% true*else% false*fi; -if ( (qzSolnDest != "") && !solnAfter ) { - for (var i=0; i<a.length; i++){ - if ((a[i].exportValues[0].charAt(0)==1) && % +var f=this.getField("corr.*oField.*thequestionno"); +if (f==null) { + if ( (qzSolnDest != "") && !solnAfter ) { + for (var i=0; i<a.length; i++){ + if ((a[i].exportValues[0].charAt(0)==1) && % (!a[i].isBoxChecked(0))) break; + } } + if (i>=a.length) jmpToNamedDest("*oField","*@qzsolndest",% + *ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi);% + *ifx*eqAddAAMouseUpMS*empty*else + *eqAddAAMouseUpMS*fi } -if (i>=a.length) jmpToNamedDest("*oField","*@qzsolndest",% -*ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi);% -*ifx*eqAddAAMouseUpMS*empty*else -*eqAddAAMouseUpMS*fi \end{defineJS} \begin{defineJS}[\makeesc\*\makecmt\%]{\Ans@ck@sq@f@ActionsFalse} var fName=event.target.name; @@ -2804,9 +2819,8 @@ for (var i=0; i<a.length; i++) { a[i].checkThisBox(0,false); } }% -*ifx*@sqTurnOffAlerts*eq@One% -OnBlurRespBox(false,"*oField"); -*fi% +*ifx*@sqTurnOffAlerts*eq@One +OnBlurRespBox(false,"*oField");*fi% *ifx*oField*@empty*else updateTally("*oField.*thequestionno");*fi% *ifx*eqAddAAMouseUpMS*empty*else @@ -2922,8 +2936,7 @@ updateTally("*oField.*thequestionno");*fi% \setlength{\labelsep}{0pt}% \def\Ans{\Ans@list}% }% -}{\endlist\setcounter{quizno}{0}% - \eq@answersEndHook +}{\eq@answersEndHook\endlist\setcounter{quizno}{0}% \setdefault@Ans \ifx\aeb@answerType\aeb@answerType@r \eq@recordCorrAns{\eq@ansChoiceArray}\ifwithinMCFI @@ -3130,7 +3143,7 @@ updateTally("*oField.*thequestionno");*fi% {\textcolor{\graylettersColor}{\Alph{quizno}}}}\else\relax\fi} \def\Ans@@f{% \settowidth{\eq@tmplength}{\eq@lw@f}% - \hangindent=\eq@tmplength\hangafter=1 + \hangindent=\eq@tmplength\hangafter=\@ne \bottomOfAnsfStack\insertGrayLetters \edef\rbf@Opts{\ifaeb@usecircles\else \noexpand\symbolchoice{\qz@chksymb}\fi @@ -3503,6 +3516,7 @@ updateTally("*oField.*thequestionno");*fi% \global\let\aebtitleQuiz\@empty \global\let\aebTitleQuiz\@empty \global\let\eq@tq@star\relax + \global\let\oqpriorhook\@empty \aftergroup\ignorespaces } \def\oSolution#1{\edef\@qzsolndest{#1}} @@ -3821,6 +3835,7 @@ if(event.willCommit) { \color{\@proofingsymbolColor}\spaceskip=2pt\xspaceskip=2pt% \expandafter\gobbleMacro\meaning\eqCorrectAnsTeX } +\inputRBMICode \newcommand\RespBoxTxtNT{\def\rbFlag{0}\@RespBoxTxt} \newcommand\RespBoxTxt{\def\rbFlag{0}\@RespBoxTxt} \def\RespBoxTxtOnBlur{OnBlurRespBox(% @@ -3863,7 +3878,7 @@ if(event.willCommit) { !RespBoxTxtOnBlur!fi }% !ifx!eqAddAAKeystroke!@empty!else% -!eqAddAAKeystroke!fi% +!eqAddAAKeystroke!fi \end{defineJS} \def\@@RespBoxTxtActions{% \AA{\if\eqQuizType\isQZ @@ -4134,42 +4149,141 @@ if(event.willCommit) { \every@eqTextField}}% } \let\@@sqTallyBoxActions\@empty -\@ifundefined{calcOrder}{% -\ifpdf\def\@@sqTallyBoxActions{% - \AA{\AAValidate{getTotalTally("\oField");}}}\fi}{} \def\sqTallyBoxDefaults{% - \BC{0 0 0}\W{1}\textColor{1 0 0 rg}\S{I}\Q{2}\Ff{\FfReadOnly} -} -\ifpdf\def\@@sqTallyBoxActions{% - \AA{\AAValidate{getTotalTally("\oField");}}}\else - \let\@@sqTallyBoxActions\@empty -\fi + \BC{0 0 0}\W{1}\textColor{1 0 0 rg}\S{I}\Q{2}\Ff{\FfReadOnly}} \newcommand\sqTallyBox[1][]{% \mbox{\text@@Field{#1}{tally.\oField.\thequestionno}% {\TBW}{\DefaultHeightOfWidget}% {}{\eq@setWidgetProps\eq@TextField}% {\sqTallyBoxDefaults\@@sqTallyBoxActions\every@eqTextField - \every@sqTallyBox}}% -} + \every@sqTallyBox}}} \def\sqTallyTotalDefaults{% - \rawPDF{}\W{1}\BC{0 0 0}\S{I}\textColor{1 0 0 rg}% - \Q{2}\Ff{\FfReadOnly}% -} -\def\@@sqTallyTotalActions{% - \AA{% - \AAKeystroke{AFNumber_Keystroke(0,0,0,0,"",true);} - \AAFormat{AFNumber_Format(0,0,0,0,"",true);} - \AACalculate{% - AFSimple_Calculate("SUM",new Array("tally.\oField")); - }}% -} + \rawPDF{}\W{1}\BC{0 0 0}\S{I}\textColor{1 0 0 rg} + \Q{2}\Ff{\FfReadOnly} +} +\flJSStr{\sqWeakMsg}{You have missed too many questions. +After you finish, it is recommended you retake this quiz +with fewer errors and greater understanding.} +\flJSStr{\sqStrongMsg}{You have missed too many questions. +We are resetting the quiz. Start over, this time with +fewer errors and greater understanding.} +\def\@@sqTallyTotalActions{\AA{% + \AAKeystroke{\dl@EForAF4Number_Keystroke(0,0,0,0,"",true);} + \AAFormat{\dl@EForAF4Number_Format(0,0,0,0,"",true);} + \AACalculate{% + \dl@EForAF4Simple_Calculate("SUM",new Array("tally.\oField"));\r + var sqTlyTotl=event.value; + \ifx\eq@strongpass\@empty + \ifx\eq@weakpass\@empty\else\r + if(sqTlyTotl > \eq@weakpass) {\r\t + if (\oField.sqTlyTotCnt==0)\r\t\t + app.alert(\sqWeakMsg);\r\t + \oField.sqTlyTotCnt++;\r + } + \fi + \else\r + if(sqTlyTotl > \eq@strongpass) {\r\t + app.alert(\sqStrongMsg);\r + \@@sqClearButtonJSCode\r + event.value=0;\r + } + \fi +}}} +\def\@eqweakpass#1{\def\eq@weakpass{#1}} +\def\@eqstrongpass#1{\def\eq@strongpass{#1}} +\let\eq@weakpass\@empty +\let\eq@strongpass\@empty \newcommand\sqTallyTotal[1][]{% + \processAppArgs#1\end\@nil \mbox{\text@@Field{#1}{tallytotal.\oField}{\TBW}% {\DefaultHeightOfWidget}{\eq@protect\AA}% {\eq@setWidgetProps\eq@TextField}% {\sqTallyTotalDefaults\@@sqTallyTotalActions\every@eqTextField \every@sqTallyTotal}}% } +\def\sqClearButtonDefaults +{% + \CA{\eq@local@sqClearButton}\textColor{0 g}\F{\FPrint} + \BC{0 0 0}\BG{.7529 .7529 .7529}\W{1}\S{B}\Ff{\FfNoExport} +} +\begin{defineJS}[\makeesc\*\makecmt\%]{\@@sqClearButtonJSCode} +ProcessIt = false; +if ( typeof *oField == "undefined" ) + *oField = new Object; +if (typeof appAlerts["*oField"] == "undefined") + appAlerts["*oField"] = new Object; +this.resetForm(new Array("mc.*oField","obj.*oField",% +"tally.*oField","grpobj.*oField")); +var f = this.getField("obj.*oField"); +if ( f != null ) f.strokeColor=*ifx*defaultColorJSLoc*@empty% +*defaultColorJS*else*defaultColorJSLoc*fi; +f = this.getField("grpobj.*oField"); +if ( f != null ) f.strokeColor=*ifx*defaultColorJSLoc*@empty% +*defaultColorJS*else*defaultColorJSLoc*fi; +f = this.getField("rbmarkup.*oField"); +if ( f != null ) f.display=display.hidden; +*oField.Grp = {}; +appAlerts["*oField"].bAfterValue=false; +*oField.sqTlyTotCnt=0; +ProcessIt=true; +\end{defineJS} +\def\@@sqClearButtonActions{\A{\JS{\@@sqClearButtonJSCode}}} +\newcommand\sqClearButton[1][]{% + \mbox{\push@@Button{#1}{clear.\oField}{}{\DefaultHeightOfWidget}% + {\eq@protect\A}{\eq@setButtonProps\eq@Button@driver}% + {\sqClearButtonDefaults\@@sqClearButtonActions\every@ButtonField + \every@sqClearButton}}% +} +\flJSStr{\sqSolnMCMsg}{You must first select the correct +answer to see the solution.} +\flJSStr{\sqSolnMSMsg}{You must first select all the correct +answers to see the solution.} +\begin{defineJS}[\makeesc\*\makecmt\%]{\sqCorrSolCodeMC} +var qzSolnDest="*@qzsolndest"; +var solnAfter=*ifeq@solutionsafter% +true*else% +false*fi; +var qzSolnDest="*@qzsolndest"; +var f=this.getField("mc.*oField.*thequestionno"); +if(f.value.charAt(0)=="1") { + if ((qzSolnDest!="") && !solnAfter) % +jmpToNamedDest("answer",qzSolnDest,1); +} else app.alert(*sqSolnMCMsg); +\end{defineJS} +\begin{defineJS}[\makeesc\*\makecmt\%]{\sqCorrSolCodeMS} +// multiple selection +var g=this.getField("mc.*oField.*thequestionno"); +var a=g.getArray(); +var qzSolnDest="*@qzsolndest"; +var solnAfter=*ifeq@solutionsafter% +true*else% +false*fi; +var qzSolnDest="*@qzsolndest"; +var f=this.getField("corr.*oField.*thequestionno"); +if ( (qzSolnDest != "") && !solnAfter ) { + for (var i=0; i<a.length; i++){ + if ((a[i].exportValues[0].charAt(0)==1) && % +(!a[i].isBoxChecked(0))) break; + } +} +if (i>=a.length) jmpToNamedDest("*oField","*@qzsolndest",% +*ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi); +else app.alert(*sqSolnMSMsg); +\end{defineJS} +\def\sqCorrSolButtonActionHook{\ifx\aeb@answerType + \aeb@answerType@r\JS{\sqCorrSolCodeMC}\else + \JS{\sqCorrSolCodeMS}\fi +} +\newcommand{\sqSolnBtn}[1][]{% + \def\Fld@name{corr.\oField.\thequestionno}% + \edef\@@CorrSolButtonActions{\noexpand + \A{\noexpand\sqCorrSolButtonActionHook}}% + \ifx\@qzsolndest\@empty\else + \mbox{\push@@Button{#1}{\Fld@name}{}{\DefaultHeightOfWidget}% + {\eq@protect\A}{\eq@setButtonProps\eq@Button@driver}% + {\CorrAnsButtonDefaults\@@CorrSolButtonActions + \every@ButtonField\every@CorrAnsButton}}\fi +} \def\CorrAnsButtonDefaults{% \CA{\eq@local@CorrAnsButton}\W{1}\S{S} \BC{0 0 0}\BG{.7529 .7529 .7529}\H{P} @@ -4246,38 +4360,6 @@ else !processJSfunc("obj.!oField.!thequestionno","!CorrectAns",% \fi \egroup } -\def\sqClearButtonDefaults -{% - \CA{\eq@local@sqClearButton}\textColor{0 g}\F{\FPrint} - \BC{0 0 0}\BG{.7529 .7529 .7529}\W{1}\S{B}\Ff{\FfNoExport} -} -\begin{defineJS}[\makeesc\*\makecmt\%]{\@@sqClearButtonJSCode} -ProcessIt = false; -if ( typeof *oField == "undefined" ) - *oField = new Object; -if (typeof appAlerts["*oField"] == "undefined") - appAlerts["*oField"] = new Object; -this.resetForm(new Array("mc.*oField","obj.*oField",% -"tally.*oField","grpobj.*oField")); -var f = this.getField("obj.*oField"); -if ( f != null ) f.strokeColor=*ifx*defaultColorJSLoc*@empty% -*defaultColorJS*else*defaultColorJSLoc*fi; -f = this.getField("grpobj.*oField"); -if ( f != null ) f.strokeColor=*ifx*defaultColorJSLoc*@empty% -*defaultColorJS*else*defaultColorJSLoc*fi; -f = this.getField("rbmarkup.*oField"); -if ( f != null ) f.display=display.hidden; -*oField.Grp = {}; -appAlerts["*oField"].bAfterValue=false; -ProcessIt=true; -\end{defineJS} -\def\@@sqClearButtonActions{\A{\JS{\@@sqClearButtonJSCode}}} -\newcommand\sqClearButton[1][]{% - \mbox{\push@@Button{#1}{clear.\oField}{}{\DefaultHeightOfWidget}% - {\eq@protect\A}{\eq@setButtonProps\eq@Button@driver}% - {\sqClearButtonDefaults\@@sqClearButtonActions\every@ButtonField - \every@sqClearButton}}% -} \def\PromptButtonDefaults{% \CA{\eq@local@CorrAnsButton}\W{1}\S{S}\BC{0 0 0} \BG{.7529 .7529 .7529}\H{P} diff --git a/texmf-dist/tex/latex/acrotex/insdljs.sty b/texmf-dist/tex/latex/acrotex/insdljs.sty index 2d5066fb..1fb1faff 100644 --- a/texmf-dist/tex/latex/acrotex/insdljs.sty +++ b/texmf-dist/tex/latex/acrotex/insdljs.sty @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{insdljs} - [2021/02/07 v2.5.2 Insert Document Level JavaScripts (dps)] + [2021/05/10 v2.5.3 Insert Document Level JavaScripts (dps)] \usepackage{xkeyval} \RequirePackage{ifpdf}[2006/02/20] \RequirePackage{ifxetex}[2006/08/21] @@ -38,6 +38,16 @@ \let\dl@YES=y \let\dl@NO=n \let\dl@One=1 \let\dl@Zero=0 \let\dljs@YES=y \let\dljs@NO=n +\edef\dl@restoreCats{% + \catcode`\noexpand\"=\the\catcode`\"\relax + \catcode`\noexpand\'=\the\catcode`\'\relax + \catcode`\noexpand\,=\the\catcode`\,\relax + \catcode`\noexpand\(=\the\catcode`\(\relax + \catcode`\noexpand\!=\the\catcode`\!\relax + \catcode`\noexpand\_=\the\catcode`\_\relax +} +\@makeother\"\@makeother\'\@makeother\,% +\@makeother\(\@makeother\!\@makeother\_ \def\dlpkgInfo{\@nameuse{ver@\@currname.\@currext}} \def\dlSetPkgInfo{% \edef\dlpkgInfoExpd{\dlpkgInfo}% @@ -187,6 +197,7 @@ \let\jsT=\js@@T \newwrite\js@verbatim@out \def\iwvo#1{\immediate\write\js@verbatim@out{#1}} +\def\dl@EForAF4#1_{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi#1_} \def\dl@lparen{(}\def\dl@rparen{)} \def\genericNL{^^J} \def\defjsLB{\gobiv} @@ -503,20 +514,20 @@ \ifx\csname dljs\dljsBase\endcsname\relax \else\@insjserrDuplicate\fi \ifcase\dljs@drivernum - \let\insert@DLJS=\insert@DLJS@pdfmark - \let\endinsDLJS=\endinsert@DLJS@pdfmark - \let\newsegment=\newsegment@pdfmark - \let\endnewsegment=\endnewsegment@pdfmark + \let\insert@DLJS\insert@DLJS@pdfmark + \let\endinsDLJS\endinsert@DLJS@pdfmark + \let\newsegment\newsegment@pdfmark + \let\endnewsegment\endnewsegment@pdfmark \or - \let\insert@DLJS=\insert@DLJS@pdftex - \let\endinsDLJS=\endinsert@DLJS@pdftex - \let\newsegment=\newsegment@pdftex - \let\endnewsegment=\endnewsegment@pdftex + \let\insert@DLJS\insert@DLJS@pdftex + \let\endinsDLJS\endinsert@DLJS@pdftex + \let\newsegment\newsegment@pdftex + \let\endnewsegment\endnewsegment@pdftex \or - \let\insert@DLJS=\insert@DLJS@dvipdfm - \let\endinsDLJS=\endinsert@DLJS@dvipdfm - \let\newsegment=\newsegment@dvipdfm - \let\endnewsegment=\endnewsegment@dvipdfm + \let\insert@DLJS\insert@DLJS@dvipdfm + \let\endinsDLJS\endinsert@DLJS@dvipdfm + \let\newsegment\newsegment@dvipdfm + \let\endnewsegment\endnewsegment@dvipdfm \fi \insert@DLJS }{} @@ -534,20 +545,20 @@ \expandafter\ifx\csname dljs\dljsBase\endcsname\relax \else\@insjserrDuplicate\fi \ifcase\dljs@drivernum - \let\insert@DLJS=\insert@DLJS@pdfmark\expandafter + \let\insert@DLJS\insert@DLJS@pdfmark\expandafter \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdfmark - \let\newsegment=\newsegment@pdfmark - \let\endnewsegment=\endnewsegment@pdfmark + \let\newsegment\newsegment@pdfmark + \let\endnewsegment\endnewsegment@pdfmark \or - \let\insert@DLJS=\insert@DLJS@pdftex\expandafter + \let\insert@DLJS\insert@DLJS@pdftex\expandafter \let\csname endinsDLJS*\endcsname\endinsert@DLJS@pdftex - \let\newsegment=\newsegment@pdftex - \let\endnewsegment=\endnewsegment@pdftex + \let\newsegment\newsegment@pdftex + \let\endnewsegment\endnewsegment@pdftex \or - \let\insert@DLJS=\insert@DLJS@dvipdfm\expandafter + \let\insert@DLJS\insert@DLJS@dvipdfm\expandafter \let\csname endinsDLJS*\endcsname\endinsert@DLJS@dvipdfm - \let\newsegment=\newsegment@dvipdfm - \let\endnewsegment=\endnewsegment@dvipdfm + \let\newsegment\newsegment@dvipdfm + \let\endnewsegment\endnewsegment@dvipdfm \fi \insert@DLJS }{} @@ -952,6 +963,7 @@ if(typeof \detectdljs\space == "undefined")\jsR\jsT } \catcode`\"=\dl@dquoteCat \inputAltAdbFncs +\dl@restoreCats \endinput %% %% End of file `insdljs.sty'. diff --git a/texmf-dist/tex/latex/acrotex/pdfdochex.def b/texmf-dist/tex/latex/acrotex/pdfdochex.def index 3132ebf8..4eea125c 100644 --- a/texmf-dist/tex/latex/acrotex/pdfdochex.def +++ b/texmf-dist/tex/latex/acrotex/pdfdochex.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/acrotex/rbmintrvl.def b/texmf-dist/tex/latex/acrotex/rbmintrvl.def new file mode 100644 index 00000000..947dc38d --- /dev/null +++ b/texmf-dist/tex/latex/acrotex/rbmintrvl.def @@ -0,0 +1,29 @@ +%% +%% This is file `rbmintrvl.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% exerquiz.dtx (with options: `copyright,rbmIntrvl') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Exerquiz.sty package, %% +%% Copyright (C) 1999-2021 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. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\c@lcEPInfo[#1,#2]{% + \setlength{\eflength}{(#1pt+#2pt)/2}% + \edef\intrCAns{\strip@pt\eflength}% + \setlength{\eflength}{(#2pt-#1pt)/2}% + \edef\intrPrec{\strip@pt\eflength}% +} +\newcommand{\rbmIntrvl}[1]{\c@lcEPInfo#1\RespBoxMath} +\endinput +%% +%% End of file `rbmintrvl.def'. diff --git a/texmf-dist/tex/latex/acrotex/setcorder.def b/texmf-dist/tex/latex/acrotex/setcorder.def index 288058de..49788fe8 100644 --- a/texmf-dist/tex/latex/acrotex/setcorder.def +++ b/texmf-dist/tex/latex/acrotex/setcorder.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% diff --git a/texmf-dist/tex/latex/acrotex/template.def b/texmf-dist/tex/latex/acrotex/template.def index 05c21248..371929e5 100644 --- a/texmf-dist/tex/latex/acrotex/template.def +++ b/texmf-dist/tex/latex/acrotex/template.def @@ -18,7 +18,7 @@ %% License, or (at your option) any later version. %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesFile{template.def} - [2021/02/17 v8.6.4 % + [2021/05/10 v8.7.7 % Exerquiz template for language support (dps)] %%------------- Instructions ------------------------------------ %% Make your language localizations to this file and rename it to diff --git a/texmf-dist/tex/latex/acrotex/uieforms.def b/texmf-dist/tex/latex/acrotex/uieforms.def index 74739daa..a51b7ce1 100644 --- a/texmf-dist/tex/latex/acrotex/uieforms.def +++ b/texmf-dist/tex/latex/acrotex/uieforms.def @@ -8,7 +8,7 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% eForms package, %% -%% Copyright (C) 2002-2020 D. P. Story %% +%% Copyright (C) 2002-2021 D. P. Story %% %% dpstory@uakron.edu %% %% %% %% This program can redistributed and/or modified under %% @@ -21,12 +21,8 @@ \ifHy@colorlinks\def\eq@bordervisibledefault{0}\@eqW{}\else \def\eq@bordervisibledefault{1}\@eqW{1}\fi \def\getargs#1#2{\def\aeb@argi{#1}\def\aeb@argii{#2}} -\def\labelRef#1{\@ifundefined{r@#1}{Doc-Start} - {\aeb@exiii\@fourthoffive\csname r@#1\endcsname}} -\def\aeb@exiii{\expandafter\expandafter\expandafter} \newtoks\ef@flagtoks \newtoks\ef@jstoks -\def\noexpandiii{\noexpand\noexpand\noexpand} \define@choicekey{eforms}{border}[\val\nr]{visible,invisible} {% \ifcase\nr diff --git a/texmf-dist/tex/latex/acrotex/web.sty b/texmf-dist/tex/latex/acrotex/web.sty index 2f81b968..968cbded 100644 --- a/texmf-dist/tex/latex/acrotex/web.sty +++ b/texmf-dist/tex/latex/acrotex/web.sty @@ -24,7 +24,7 @@ %%--------------------------------------------------------- \NeedsTeXFormat{LaTeX2e}[1997/12/01] \ProvidesPackage{web} - [2021/02/06 v6.1.5 web: A Screen Design Package (dps)] + [2021/05/06 v6.1.7 web: A Screen Design Package (dps)] \RequirePackage{xkeyval} \RequirePackage{ifpdf}[2006/02/20] \RequirePackage{ifxetex}[2006/08/21] @@ -192,6 +192,7 @@ \def\@panelconfig{0}\def\@textX{0}\def\@panelX{0}} \templatedefaults \DeclareOptionX{navibar}{\web@navibartrue} +\DeclareOptionX{navibar*}{\AtEndOfPackage{\ifeqforpaper\else\web@navibartrue\fi}} \DeclareOptionX{tight}{\AtEndOfPackage{\tightsettings}} \DeclareOptionX{tight*}{\AtEndOfPackage{\tightsettings*}} \let\web@tight\web@NO @@ -573,59 +574,9 @@ {The comment package is incompatible with the\MessageBreak aeb-comment package, do not use the comment package}}{}} \AtBeginDocument{\web@commentChkMsg} -\ifnum\@usetemplates=\@ne\relax - \def\x{\RequirePackage{graphicx}}\expandafter\x\fi -\ifnum\@usetemplates=\@ne - \RequirePackage{eso-pic} - \ifnum\eq@drivernum=\tw@ - \def\web@set@paper{\AddToShipoutPicture*{% - \special{papersize=\the\paperwidth,\the\paperheight}}}% - \AtBeginShipoutFirst{% - \begingroup - \@ifundefined{stockwidth}{% - \ifx\special@paper\@empty - \special{papersize=\the\paperwidth,\the\paperheight}\else - \special{papersize=\special@paper}\fi - }{% - \ifdim\stockwidth=\z@\else - \special{papersize=\the\stockwidth,\the\stockheight}\fi - }% - \endgroup - }% - \@ifundefined{@ShipoutPicture}{}{% - \renewcommand{\@ShipoutPicture}{% - \bgroup - \@tempswafalse% - \ifx\ESO@HookI\@empty\else\@tempswatrue\fi% - \ifx\ESO@HookII\@empty\else\@tempswatrue\fi% - \if@tempswa% - \@tempdima=1in\@tempdimb=-\@tempdima% - \advance\@tempdimb\paperheight - \@ifundefined{stockwidth}{}{% - \advance\@tempdima+\trimedge% - \advance\@tempdima+\paperwidth% - \advance\@tempdima-\stockwidth% - \if@twoside\ifodd\c@page\else% - \advance\@tempdima-2\trimedge% - \advance\@tempdima-\paperwidth% - \advance\@tempdima+\stockwidth% - \fi\fi\advance\@tempdimb+\trimtop - }% - \unitlength=1pt% - \global\setbox\@cclv\vbox{% - \vbox{\let\protect\relax - \pictur@(0,0)% - (\strip@pt\@tempdima,\strip@pt\@tempdimb)% - \ESO@HookII\ESO@HookI\global\let\ESO@HookII\@empty% - \endpicture}% - \box\@cclv% - }% - \fi - \egroup - }% shipout - }% ifundefined shipout - \fi -\fi +\ifnum\@usetemplates=\@ne\def\x{% + \RequirePackage{graphicx} + \RequirePackage{eso-pic}}\expandafter\x\fi \def\getargs#1#2{\def\aeb@argi{#1}\def\aeb@argii{#2}} \let\getargsii\getargs \newlength{\textscreenwidth} diff --git a/texmf-dist/tex/latex/acrotex/webpro.def b/texmf-dist/tex/latex/acrotex/webpro.def index 5ed184f4..3125610e 100644 --- a/texmf-dist/tex/latex/acrotex/webpro.def +++ b/texmf-dist/tex/latex/acrotex/webpro.def @@ -863,10 +863,8 @@ \ifx\ddd@DingToc\@empty\else\dddDing{\ddd@DingToc}\fi } \ifeqforpaper - \includecomment{forpaper}\excludecomment{forscreen} -\else - \includecomment{forscreen}\excludecomment{forpaper} -\fi + \includecomment{forpaper}\excludecomment{forscreen}\else + \includecomment{forscreen}\excludecomment{forpaper}\fi \endinput %% %% End of file `webpro.def'. |