From 6b7ef024ba8f7c1560c7347a072db848c3555541 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 2 Jul 2021 06:04:52 +0900
Subject: thorshammer update

---
 texmf-dist/tex/latex/thorshammer/thorshammer.sty | 53 ++++++++++++++----------
 1 file changed, 30 insertions(+), 23 deletions(-)

(limited to 'texmf-dist/tex/latex/thorshammer/thorshammer.sty')

diff --git a/texmf-dist/tex/latex/thorshammer/thorshammer.sty b/texmf-dist/tex/latex/thorshammer/thorshammer.sty
index a2571433..355f5794 100644
--- a/texmf-dist/tex/latex/thorshammer/thorshammer.sty
+++ b/texmf-dist/tex/latex/thorshammer/thorshammer.sty
@@ -19,7 +19,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{thorshammer}
- [2020/01/13 v1.5.7 Support commands for Thor's way]
+ [2021/06/24 v1.5.11 Support commands for Thor's way]
 \RequirePackage{xkeyval}
 \edef\th@dquoteCat{\the\catcode`\"}
 \catcode`\"=12\relax
@@ -44,7 +44,7 @@
   \let\distrToStudentsOff\relax\let\distrToStudentsOff\relax}}
 \ProcessOptionsX
 \edef\thOrdQz{\ifthordinary true\else false\fi}
-\RequirePackage{insdljs}[2019/08/06]
+\RequirePackage{insdljs}[2021/06/19]
 \ifx\usedAdbFuncs\dl@NO
   \def\inputAltAdbFncs{\InputIfFileExists{altadbfncs.def}%
     {\PackageInfo{insdljs}{Inputting code for usealtadobe option}}%
@@ -55,8 +55,8 @@
   \let\inputAltAdbFncs\relax
 \fi
 \inputAltAdbFncs
-\RequirePackage{exerquiz}[2019/08/13]
-\RequirePackage{eq-save}[2019/08/07]
+\RequirePackage{exerquiz}[2021/05/29]
+\RequirePackage{eq-save}[2021/04/27]
 \let\execjs\dl@YES
 \@ifundefined{CommentStream}{\newwrite\CommentStream}{}
 \def\csarg#1#2{\expandafter#1\csname#2\endcsname}
@@ -342,14 +342,14 @@ new Array("PointsField.\currQuiz","EssayField.\currQuiz"));\r
   \addtocounter{questionno}{-1}}}}\global
   \let\qMark@Hook\qMark@HookSave}}
 \def\essayitem#1{\essayQ{#1}\item\PTs{#1}}
-\begin{defineJS}[\catcode`\@=0\relax]{\pwdKeyJS}
+\begin{defineJS}[\makeesc\@]{\pwdKeyJS}
 if (event.willCommit) {
   if (event.value==@p(3)) {
     @commonPassKey
   }
 }
 \end{defineJS}
-\begin{defineJS}[\catcode`\@=0\relax]{\commonPassKey}
+\begin{defineJS}[\makeesc\@\makecmt\%]{\commonPassKey}
 if(typeof aQuizzesInDoc=="undefined")
   var aQuizzesInDoc=new Array();
 if (aQuizzesInDoc.indexOf("@oField"))
@@ -358,8 +358,9 @@ if (typeof @oField=="undefined")
   var @oField=new Object;
 restoreQuizData();
 this.calculate=true;
+@ifthtestmode@else%
 var f=this.getField("postQzMsg");
-if (f!=null) f.display=display.hidden;
+if (f!=null) f.display=display.hidden;@fi
 var f=this.getField("pbStuSvCl");
 if (f!=null) f.display=display.hidden;
 var f=this.getField("ScoreField.@p(1)");
@@ -390,7 +391,7 @@ enter a nonnegative number only"}
 \def\TooMuchCreditMsg#1{\flJSStr*[noquotes]{\cTooMuchCredit}{#1}}
 \TooMuchCreditMsg{"You've assigned too much credit for this %
 problem, assigning the maximum instead"}
-\begin{defineJS}[\makeesc\@\catcode`\%=14\relax]{\essayQKey}
+\begin{defineJS}[\makeesc\@\makecmt\%]{\essayQKey}
 if (event.willCommit) {
   var qpts=(1*event.value);
   if (isNaN(qpts)) {
@@ -496,7 +497,7 @@ cFilenameInit: cSave });
 if(\instrAutoClose&&bOK) this.closeDoc(true);
 }
 \end{insDLJS}
-\begin{defineJS}[\catcode`\@=0\relax]{\freezeQuizMU}
+\begin{defineJS}[\makeesc\@]{\freezeQuizMU}
 var f, fname;
 var bOK=true;
 if(@instrAutoSave) {
@@ -568,7 +569,8 @@ if(bOk)}
 \toks@=\expandafter{\postSubmitQuiz\t\t
   oRecordOfQuizData["ProbDist.\oField"]=ProbDist;\r\t\t
   oRecordOfQuizData["RightWrong.\oField"]=RightWrong;\r\t\t
-  var f=this.getField("postQzMsg");\r\t\t
+  \ifthtestmode\else
+  var f=this.getField("postQzMsg");\r\t\t\fi
   if (f!=null) f.display=display.visible;\r\t\t
   var f=this.getField("pbStuSvCl");\r\t\t
   if (\stuAutoSave&&f!=null)f.display=display.visible;} %\r\t\t
@@ -579,7 +581,7 @@ any of your answers without starting the quiz over from the
 beginning.\n\n Press \\"Yes\\" to end the quiz."}
 \def\ThorsAlertTitle#1{\flJSStr*[noquotes]{\ThorsAlert@Title}{#1}}
 \ThorsAlertTitle{"Thor's Hammer"}
-\begin{defineJS}[\makeesc\*\catcode`\%=14\relax]{\eq@EndQzBtnScript}
+\begin{defineJS}[\makeesc\*\makecmt\%]{\eq@EndQzBtnScriptThor}
 if (!isQuizInitialized("*currQuiz"))
   eqAppAlert(InitMsg("*bqlabelISO"),3);
 else {
@@ -590,7 +592,7 @@ cTitle: *ThorsAlert@Title, nIcon: 2, nType: 2});
       *currQuiz.PtValues=(new %
 Array(*pointValuesArray));
       ProbType=[*ptypeArray];
-*if@inclkey%
+*if@inclkey
       *currQuiz.CorrAns=(new %
 Array(*corrAnsArray));
 *fi%
@@ -605,7 +607,10 @@ Array(*corrAnsArray));
   }
 }
 \end{defineJS}
-\def\eq@@EndQuizButtonActions{\A{\JS{\eq@EndQzBtnScript}}}
+\def\eq@@EndQuizButtonActions{\A{\JS{\eq@EndQzBtnScriptThor}}} % dps0624
+\let\eq@@EndQuizButtonActionsThorSave\eq@@EndQuizButtonActions % dps0624
+\def\useEndQuizThor{\let\eq@@EndQuizButtonActions
+  \eq@@EndQuizButtonActionsThorSave}
 \let\stuASOn\ef@YES
 \def\stuAutoSaveOn{\let\stuASOn\ef@YES
   \def\stuAutoSaveScript{\t app.execMenuItem("SaveAs");\r}%
@@ -630,7 +635,7 @@ Array(*corrAnsArray));
 \newif\ifUseStuSaveAsDialog\UseStuSaveAsDialogfalse
 \def\useStuSaveAsDialogOn{\UseStuSaveAsDialogtrue}
 \def\useStuSaveAsDialogOff{\UseStuSaveAsDialogfalse}
-\begin{defineJS}[\makeesc\*\catcode`\%=14\relax]{\autoSaveStuJS}
+\begin{defineJS}[\makeesc\*\makecmt\%]{\autoSaveStuJS}
   var bOK=true;
   global.bOkClose=true;
   var _path=this.path;
@@ -804,6 +809,7 @@ Array(*corrAnsArray));
     \immediate\closeout\CommentStream}}
 \newcounter{th@qzCnt}
 \def\theth@qzCnt{\alph{th@qzCnt}}
+\let\qzLtr\theth@qzCnt % dps5-29
 \newcommand{\InputQuizBody}[1]{\newpage %\thPageOne
   \@ifundefined{thisQuizOrig}{\edef\thisQuizOrig{\thisQuiz}
   \let\Hy@EveryPageAnchor\relax}{}\stepcounter{th@qzCnt}%
@@ -826,13 +832,15 @@ Array(*corrAnsArray));
   \renewcommand\sqslsecrunhead{\eq@sqslsecrunhead}%
   \eq@noformstrue
   \immediate\openout \quiz@solns \jobname.qsl
-  \@ifundefined{ps@webheadings}{%
-    \def\th@QzHeaderL{\th@QzHeaderLQ}%
-    \def\th@QzHeaderC{\th@QzHeaderCQ}%
-  }{%
-    \lheader{\th@QzHeaderLQ}%
-    \cheader{\th@QzHeaderCQ}%
-  }%
+  \ifthordinary\else
+    \@ifundefined{ps@webheadings}{%
+      \def\th@QzHeaderL{\th@QzHeaderLQ}%
+      \def\th@QzHeaderC{\th@QzHeaderCQ}%
+    }{%
+      \lheader{\th@QzHeaderLQ}%
+      \cheader{\th@QzHeaderCQ}%
+    }%
+  \fi
 }
 \def\mkClFlsSpcls{\let\oct\eqbs\let\u\relax}
 \newenvironment{makeClassFiles}{%
@@ -842,8 +850,7 @@ Array(*corrAnsArray));
 \def\setArrayLength{\ifbasicmethods0\else lst.length\fi}
 \def\setfilesuffix{\ifuseclassOpt"-"+fN+"_"+lN\else
   \ifbasicmethods""\else"-"+(i+1)\fi\fi+".pdf"}
-\begin{defineJS}[\def\defineJSjsR{^^J}\let\u\relax
-  \catcode`\@=0\relax]{\sadQuizzes}
+\begin{defineJS}[\dfnJSCR{^^J}\let\u\relax\makeesc\@]{\sadQuizzes}
 if(@bFlattenState)
   this.addScript({
     cName: "thorshammer: Do not flatten",
-- 
cgit v1.2.3

