summaryrefslogtreecommitdiff
path: root/texmf-dist/tex/latex/acrotex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-05-14 06:36:17 +0900
committerNorbert Preining <norbert@preining.info>2021-05-14 06:36:17 +0900
commit4ac795a4cbc17927bd3bc444849a5144d23ba43f (patch)
tree8948edec442783553a0424e591502f58d919dc69 /texmf-dist/tex/latex/acrotex
parenta44c31f2888612f90f4ebcf97cc95e89b0047714 (diff)
acrotex (May14)
Diffstat (limited to 'texmf-dist/tex/latex/acrotex')
-rw-r--r--texmf-dist/tex/latex/acrotex/aebjs.def60
-rw-r--r--texmf-dist/tex/latex/acrotex/aebrandom.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/aebsumrytbls.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/dljslib.sty175
-rw-r--r--texmf-dist/tex/latex/acrotex/edvipdfm.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/eforms.sty22
-rw-r--r--texmf-dist/tex/latex/acrotex/epdfmark.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/epdftex.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/exerquiz.sty454
-rw-r--r--texmf-dist/tex/latex/acrotex/insdljs.sty56
-rw-r--r--texmf-dist/tex/latex/acrotex/pdfdochex.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/rbmintrvl.def29
-rw-r--r--texmf-dist/tex/latex/acrotex/setcorder.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/template.def2
-rw-r--r--texmf-dist/tex/latex/acrotex/uieforms.def6
-rw-r--r--texmf-dist/tex/latex/acrotex/web.sty59
-rw-r--r--texmf-dist/tex/latex/acrotex/webpro.def6
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'.