summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/acrotex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-21 03:01:41 +0000
committerNorbert Preining <norbert@preining.info>2021-02-21 03:01:41 +0000
commitf35565737733e319e7293a9fafe1b78e87f8a14e (patch)
tree197b08b39b09262f4e71486f610106580871631d /macros/latex/contrib/acrotex
parentb94dba90d83866ccb6db5273d214512e859c3179 (diff)
CTAN sync 202102210301
Diffstat (limited to 'macros/latex/contrib/acrotex')
-rw-r--r--macros/latex/contrib/acrotex/README.md6
-rw-r--r--macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdfbin370603 -> 369266 bytes
-rw-r--r--macros/latex/contrib/acrotex/doc/aeb_man.pdfbin2135045 -> 2117711 bytes
-rw-r--r--macros/latex/contrib/acrotex/doc/aeb_man.tex4
-rw-r--r--macros/latex/contrib/acrotex/doc/eformman.pdfbin988527 -> 984871 bytes
-rw-r--r--macros/latex/contrib/acrotex/doc/eformman.tex2
-rw-r--r--macros/latex/contrib/acrotex/doc/install_jsfiles.pdfbin237391 -> 236764 bytes
-rw-r--r--macros/latex/contrib/acrotex/examples/jquiztst.pdfbin126558 -> 245005 bytes
-rw-r--r--macros/latex/contrib/acrotex/examples/jquiztst.tex2
-rw-r--r--macros/latex/contrib/acrotex/examples/jtxttst.pdfbin320860 -> 319897 bytes
-rw-r--r--macros/latex/contrib/acrotex/examples/webeqtst.pdfbin486609 -> 485009 bytes
-rw-r--r--macros/latex/contrib/acrotex/examples/webeqtst.tex2
-rw-r--r--macros/latex/contrib/acrotex/exerquiz.dtx82
13 files changed, 71 insertions, 27 deletions
diff --git a/macros/latex/contrib/acrotex/README.md b/macros/latex/contrib/acrotex/README.md
index f3c8d2d8e6..b4795599fc 100644
--- a/macros/latex/contrib/acrotex/README.md
+++ b/macros/latex/contrib/acrotex/README.md
@@ -1,6 +1,6 @@
The AcroTeX eDucation Bundle (AeB)
Author: D. P. Story
-Dated: 2021-02-07
+Dated: 2021-02-17
AeB contains the following:
@@ -19,6 +19,10 @@ AeB contains the following:
6) Documentation for AeB (AcroTeX eDucatation Bundle) and eforms
(including insdljs and dljslib).
+What's New (2021-02-17) exerquiz: Added an optional fourth argument to the JavaScript
+ function DisplayQuizResults(), this is in support of the eq-pin2corr
+ package.
+
What's New (2021-02-07) Minor change in the defineJS environment that is
critical to a fix in the page events environments of aeb_pro.
diff --git a/macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdf b/macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdf
index 9821c49870..1afda0806f 100644
--- a/macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdf
+++ b/macros/latex/contrib/acrotex/doc/acrobat-in-workflow.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.pdf b/macros/latex/contrib/acrotex/doc/aeb_man.pdf
index be21253d90..e1dd5c07ac 100644
--- a/macros/latex/contrib/acrotex/doc/aeb_man.pdf
+++ b/macros/latex/contrib/acrotex/doc/aeb_man.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.tex b/macros/latex/contrib/acrotex/doc/aeb_man.tex
index 8d99d237e9..802c92c60e 100644
--- a/macros/latex/contrib/acrotex/doc/aeb_man.tex
+++ b/macros/latex/contrib/acrotex/doc/aeb_man.tex
@@ -235,10 +235,10 @@
\university{{\AcroT} Software Development Team}
\email{dpstory@acrotex.net}
\versionLabel{Dated:}
-\version{2021/02/07}
+\version{2021/02/17}
\copyrightyears{1999-\the\year}
\nocopyright
-\prepared{2021/02/07}
+\prepared{2021/02/17}
\revisionLabel{Distribution Dated:}
\copyrightStatus{True}
diff --git a/macros/latex/contrib/acrotex/doc/eformman.pdf b/macros/latex/contrib/acrotex/doc/eformman.pdf
index 13407570db..3264428650 100644
--- a/macros/latex/contrib/acrotex/doc/eformman.pdf
+++ b/macros/latex/contrib/acrotex/doc/eformman.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/doc/eformman.tex b/macros/latex/contrib/acrotex/doc/eformman.tex
index 8e95e82fe6..82bea44f5a 100644
--- a/macros/latex/contrib/acrotex/doc/eformman.tex
+++ b/macros/latex/contrib/acrotex/doc/eformman.tex
@@ -81,7 +81,7 @@
subject={Documentation for the eforms and insdljs packages},
talksite={\url{www.acrotex.net}},
version={2.0},
- prepared={2021/02/07},
+ prepared={2021/02/17},
preparedLabel={Distribution Dated:},
keywords={LaTeX, hyperref, PDF, exercises, quizzes},
copyrightStatus=True,
diff --git a/macros/latex/contrib/acrotex/doc/install_jsfiles.pdf b/macros/latex/contrib/acrotex/doc/install_jsfiles.pdf
index 7b2d3fab78..221ba16fdb 100644
--- a/macros/latex/contrib/acrotex/doc/install_jsfiles.pdf
+++ b/macros/latex/contrib/acrotex/doc/install_jsfiles.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/examples/jquiztst.pdf b/macros/latex/contrib/acrotex/examples/jquiztst.pdf
index d5ec97c6f8..d9f35cb497 100644
--- a/macros/latex/contrib/acrotex/examples/jquiztst.pdf
+++ b/macros/latex/contrib/acrotex/examples/jquiztst.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/examples/jquiztst.tex b/macros/latex/contrib/acrotex/examples/jquiztst.tex
index e6d3a0aa29..8a52a2bd28 100644
--- a/macros/latex/contrib/acrotex/examples/jquiztst.tex
+++ b/macros/latex/contrib/acrotex/examples/jquiztst.tex
@@ -52,7 +52,7 @@ Department of Mathematics}
\section{Math Fill-In Question}
-The current version of \textsf{exerquiz} included only multiple
+The current version of \textsf{exerquiz} included only multiple
choice questions. That's all well and good, but instructors would
occasionally like to ask questions that would require the student
to fill in the answer, whether it be numerical or symbolic.
diff --git a/macros/latex/contrib/acrotex/examples/jtxttst.pdf b/macros/latex/contrib/acrotex/examples/jtxttst.pdf
index 8638f825f2..298a75f321 100644
--- a/macros/latex/contrib/acrotex/examples/jtxttst.pdf
+++ b/macros/latex/contrib/acrotex/examples/jtxttst.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/examples/webeqtst.pdf b/macros/latex/contrib/acrotex/examples/webeqtst.pdf
index 52446c31f4..59c37795c7 100644
--- a/macros/latex/contrib/acrotex/examples/webeqtst.pdf
+++ b/macros/latex/contrib/acrotex/examples/webeqtst.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/examples/webeqtst.tex b/macros/latex/contrib/acrotex/examples/webeqtst.tex
index 51bd5d5989..7f3e8c7f0d 100644
--- a/macros/latex/contrib/acrotex/examples/webeqtst.tex
+++ b/macros/latex/contrib/acrotex/examples/webeqtst.tex
@@ -458,7 +458,7 @@ is 100\%.
\AC{Group} % pushed text
\DA{/TiRo 10 Tf 0 0 1 rg} % times roman, 10 pt, blue text
\W{1}\S{I} % border width 1, inset button
- ]{qzTeXc}
+ ]{qzTeXc}
\section{Objective-Style Questions}
diff --git a/macros/latex/contrib/acrotex/exerquiz.dtx b/macros/latex/contrib/acrotex/exerquiz.dtx
index 4ed438847b..e1adc71345 100644
--- a/macros/latex/contrib/acrotex/exerquiz.dtx
+++ b/macros/latex/contrib/acrotex/exerquiz.dtx
@@ -22,7 +22,7 @@
%<randomize>\ProvidesFile{aebrandom.def}
%<sumrytbls>\ProvidesFile{aebsumrytbls.def}
%<template>\ProvidesFile{template.def}
-%<package|driver|aebjs|eqexam|randomize|sumrytbls|template> [2021/01/31 v8.6.3 %
+%<package|driver|aebjs|eqexam|randomize|sumrytbls|template> [2021/02/17 v8.6.4 %
%<package> Exerquiz: Exercises and Quizzes for LaTeX/PDF package (dps)]
%<driver> Exerquiz documentation driver file (dps)]
%<aebjs> Exerquiz document level JavaScript (dps)]
@@ -1646,7 +1646,8 @@
% one optional parameter, the name of a counter \texttt{<ctr>} that is to
% be used.\medskip
%
-% \noindent With the exercises\DescribeMacro{\exerSolnInExtFile}, you have the option of including them in the main document, or putting them
+% \noindent With the exercises\DescribeMacro{\exerSolnInExtFile},
+% you have the option of including them in the main document, or putting them
% in an external document. The \cs{exerSolnsInExtFile} command lets you specify an external file name.
% Just use the \textit{basename}, hyperref will add the extension. If an external file is specified, all
% solution links are changed to links between documents. Usage:
@@ -4985,8 +4986,17 @@ else {
ProbType=[*ptypeArray];%
*if@inclkey
*curr@quiz.CorrAns=new Array(*corrAnsArray);*fi
+% \end{macrocode}
+% (2021/02/17) Pass a fourth argument to \texttt{DisplayQuizResults()}, its default
+% value is \texttt{bDisplaySilent=false}, but can be changed locally
+% to \texttt{true}. When \texttt{bDisplaySilent=true}, \texttt{DisplayQuizResults()}
+% does not write its results to any field (Score Field, Points Field, etc.).
+% \changes{v8.6.4}{2021/02/17}{We pass
+% a new \texttt{bDisplaySilent} argument to \texttt{DisplayQuizResults} for ``silent reporting''}
+% \begin{macrocode}
DisplayQuizResults("*curr@quiz",*theeqpointvalue,%
-*thequestionno);
+*thequestionno,bDisplaySilent);
+ bDisplaySilent=false;
var h=this.getField("ScoreData.*curr@quiz");
h.value=Score+";"+NQuestions+";"%
+ptScore+";"+NPointTotal;%
@@ -8519,6 +8529,8 @@ if(event.willCommit) {
\def\eqAppAlert{eqAppAlert}
% \end{macrocode}
% Keystroke action for \cs{RespBoxTxt}
+% \changes{v8.6.4}{2021/02/15}{Corrected coding of \string\cs{AAKqRespBoxTxt}, wrong
+% escape char}
% \begin{macrocode}
\begin{defineJS}[\makeesc\*\makecmt\%]{\AAKqRespBoxTxt}
if(event.willCommit){
@@ -8530,7 +8542,7 @@ if(event.willCommit){
ProcUserResp(retn,event.value,*thequestionno,0%
*ifx*grpquestions*eq@One,*thegrpquestionno*fi);
}
-if (!isQuizInitialized("!currQuiz")) {
+if (!isQuizInitialized("*currQuiz")) {
*eqObjAlert*eqAppAlert(InitMsg("*bqlabelISO"),3);
event.rc = false;
}
@@ -8549,10 +8561,10 @@ if (!isQuizInitialized("!currQuiz")) {
if(event.willCommit) {
var retn = ProcRespTxt(!rbTxtAlt);%
!ifx!@sqTurnOffAlerts!eq@One
- !RespBoxTxtOnBlur!fi%
-!ifx!eqAddAAKeystroke!@empty!else
-!eqAddAAKeystroke!fi
-}
+ !RespBoxTxtOnBlur!fi
+}%
+!ifx!eqAddAAKeystroke!@empty!else%
+!eqAddAAKeystroke!fi%
\end{defineJS}
\def\@@RespBoxTxtActions{%
\AA{\if\eqQuizType\isQZ
@@ -8691,6 +8703,16 @@ if(event.willCommit) {
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \DescribeMacro{\txtRef}\hskip-\marginparsep\texttt{\darg{\ameta{label}}}
+% The \cs{RespBoxTxt} can be used for a matching-type question. We define a special
+% \cs{ref}-type command that produces plain text. Refer to demo file \texttt{qz-matching.tex} for
+% details.
+% \changes{v8.6.4}{2021/02/15}{Support for matching-type question based in
+% \string\cs{RespBoxTxt}}
+% \begin{macrocode}
+\def\txtRef#1{\@ifundefined{r@#1}
+ {??}{\aeb@exiii\@firstoffive\csname r@#1\endcsname}}
+% \end{macrocode}
% \begin{macro}{\RespBoxTxtPC}
% This is pretty much a copy of \cs{RespBoxTxt}, with slight modifications. Here,
% we attempt to award partial credit for words that appear in the answer.
@@ -10167,7 +10189,7 @@ aCorrectAns[!currQuiz.Grp["!thequestionno"].offset],!oField);!fi
%\end{flushleft}
% Define a special value (\cs{formatInitAltApprs}) for \cs{AddAAFormat} used in initializing \cs{RespBoxMath} problems,
% where there are alternate appearances.
-% See \url{http://www.acrotex.net/blog/?p=1335} for a discussion of the use of \cs{formatInitAltApprs}.
+% See the {Acro\!\TeX} Blog article \url{http://www.acrotex.net/blog/?p=1335} for a discussion of the use of \cs{formatInitAltApprs}.
% \changes{v8.1a}{2017/09/03}{Define a special value (\string\cs{formatInitAltApprs}) for \string\cs{AddAAFormat}}
% \begin{macrocode}
\def\formatInitAltApprs{\formatInitAltApprs}
@@ -10260,7 +10282,7 @@ aCorrectAns[!currQuiz.Grp["!thequestionno"].offset],!oField);!fi
%}
% \begin{macrocode}
\def\@eqAddAAKeystroke#1{\def\argi{#1}\ifx\argi\@empty
- \def\eqAddAAKeystroke{}\else\def\eqAddAAKeystroke{#1}\fi} %\r
+ \def\eqAddAAKeystroke{}\else\def\eqAddAAKeystroke{\r #1}\fi} %\r
\def\eqAddAAKeystroke{}
% \end{macrocode}
% \end{macro}
@@ -10381,6 +10403,7 @@ aCorrectAns[!currQuiz.Grp["!thequestionno"].offset],!oField);!fi
var exerquizLoaded = true;
this.disclosed = true;
app.runtimeHighlight=false;
+var bDisplaySilent=false; // dps
\end{newsegment}
\begin{newsegment}{Eq: Global Data}
var ok2Continue = true;
@@ -12155,15 +12178,24 @@ function DisplayQuizResults(qtfield,nPointTotal,nQuestions)
(typeof oQName.GradeScaleLoc=="undefined")%
?GradeScaleDefault:oQName.GradeScaleLoc;
quizGrade = GetGrade.apply(null,gradeScale);
-% quizGrade = GetGrade(\eqGradeScale);
- var f = this.getField("ScoreField."+qtfield);
- if ( f != null ) f.value=(\eqQuizTotalMsg);
- f = this.getField("PointsField."+qtfield);
- if ( f != null) f.value=(\eqQuizPointsMsg);
- f = this.getField("PercentField."+qtfield);
- if ( f != null) f.value=(\eqQuizPercentMsg);
- f = this.getField("GradeField."+qtfield);
- if ( f != null) f.value=(\eqQuizGradeMsg);
+% \end{macrocode}
+% (2021/02/17) If there is a fourth argument for this function, it should
+% be either \texttt{true} or \texttt{false}; if \texttt{true}, \texttt{DisplayQuizResults()}
+% does not display quiz results; the default is \texttt{false}. This feature is used in the
+% demo file \texttt{qz-pin-to-correct.tex} found on the {Acro\!\TeX} Blog.
+% \changes{v8.6.4}{2021/02/17}{Added conditional (\texttt{\_bSilent})}
+% \begin{macrocode}
+ var _bSilent=(arguments.length > 3 ) ? arguments[3] : false;
+ if (!_bSilent) {
+ var f = this.getField("ScoreField."+qtfield);
+ if ( f != null ) f.value=(\eqQuizTotalMsg);
+ f = this.getField("PointsField."+qtfield);
+ if ( f != null) f.value=(\eqQuizPointsMsg);
+ f = this.getField("PercentField."+qtfield);
+ if ( f != null) f.value=(\eqQuizPercentMsg);
+ f = this.getField("GradeField."+qtfield);
+ if ( f != null) f.value=(\eqQuizGradeMsg);
+ }
}
function GetGrade()
{
@@ -12263,7 +12295,12 @@ function ProcessQuestion (key,letterresp,probno,
if ( typeof fieldPopTbl == "function" ) fieldPopTbl(qtfield);
}
% \end{macrocode}
-% Dependencies: \texttt{RightWrong}, \texttt{ProbDist} (if \texttt{qMark} is present).
+% \leavevmode
+% \IndexJS{correctQuiz}\hskip-\marginparsep\texttt{(\ameta{fld-name},\ameta{num-ques})}
+% This function is called when the \uif{Correct} control is pressed on a quiz.
+% Dependencies: \texttt{RightWrong}, \texttt{ProbDist} (if \texttt{qMark} is present). Other dependencies
+% needed to save the state of the quiz after the \uif{End Quiz} control is pressed and before the
+% \uif{Correct} control is pressed:
% \begin{macrocode}
function correctQuiz(qtfield,nQuestions)
{
@@ -12277,6 +12314,9 @@ function correctQuiz(qtfield,nQuestions)
RightWrong=oRecordOfQuizData["RightWrong."+qtfield];
ProbDist=oRecordOfQuizData["ProbDist."+qtfield];
}
+% \end{macrocode}
+% Determine the color scheme to be used.
+% \begin{macrocode}
var oQName=eval(qtfield);
var defaultColor=(typeof oQName.DefaultColorJSLoc=="undefined")%
?\defaultColorJS:oQName.DefaultColorJSLoc;
@@ -12305,7 +12345,7 @@ function correctQuiz(qtfield,nQuestions)
% show the correct answer, but only the incorrect ones.}
% \begin{macrocode}
if ( f != null) {
- if (bFullyCorrect) { // dpsf07
+ if (bFullyCorrect) {
f.display = display.visible;
} else {
for (var n=1; n<=nQuestions; n++) {