From 26f4947f509c2440ce28e625133a15f6a2446920 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 13 Sep 2018 10:28:30 +0900 Subject: update acrotex --- texmf-dist/tex/latex/acrotex/aebsumrytbls.def | 512 +++++++++++++------------- 1 file changed, 256 insertions(+), 256 deletions(-) (limited to 'texmf-dist/tex/latex/acrotex/aebsumrytbls.def') diff --git a/texmf-dist/tex/latex/acrotex/aebsumrytbls.def b/texmf-dist/tex/latex/acrotex/aebsumrytbls.def index b345be1f..33f1f3ce 100644 --- a/texmf-dist/tex/latex/acrotex/aebsumrytbls.def +++ b/texmf-dist/tex/latex/acrotex/aebsumrytbls.def @@ -1,256 +1,256 @@ -%% -%% This is file `aebsumrytbls.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% exerquiz.dtx (with options: `copyright,sumrytbls') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Exerquiz.sty package, %% -%% Copyright (C) 1999-2018 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. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesFile{aebsumrytbls.def} - [2018/03/21 v8.2.2 % - Exerquiz support for summary tables (dps)] - \ifmakeExSlLocal\protect\endgroup^^J\fi -\def\ccatCurrQzWith(#1){\currQuiz#1} -\def\pbPopulateSumTable{\pushButton[\W0\BG{}\BC{}\S{S}\autoCenter{n} - \TU{\thequestionno}\Ff{\FfReadOnly} - \AA{\AAPageVisible{try{popVisitsTbl("\currQuiz",\thequestionno)}% - catch(e){}}}]{\currQuiz activateSC}{0pt}{0pt}} -\def\pbDoNoCorrectSumryTbl{\makebox[0pt][l]{\pushButton[\F{\FHidden}]% - {\currQuiz NoCorrections}{0pt}{0pt}}} -\newcount\eq@rowcnt -\newcommand{\sumryTblQ}{Question} -\newcommand{\sumryTblR}{Responded} -\newcommand{\sumryTblP}{Page} -\define@key{smrytbl}{ntables}{% - \@tempcntb=#1 - \ifnum\@tempcntb<1 \@tempcntb=1 \fi - \ifnum\@tempcntb>3 \@tempcntb=3 \fi - \edef\smrytbl@ntables{\the\@tempcntb}% -} -\def\smrytbl@ntables{2} -\define@key{smrytbl}{showmarkup}[true]{% - \csname if#1\endcsname\eqshowmarkuptrue - \else\eqshowmarkupfalse\fi -} -\newif\ifsmrytbl@corrections\smrytbl@correctionstrue -\define@key{smrytbl}{nocorrections}[true]{% - \csname if#1\endcsname\smrytbl@correctionsfalse - \else\smrytbl@correctionstrue\fi -} -\define@key{smrytbl}{showOutOf}[true]{% - \csname if#1\endcsname\eqshowOutOftrue\def\stfmtType{OO}% - \gdef\showOutOfinSmryTbl{true}\let\stmarkupbox\relax - \else - \eqshowOutOffalse\let\stfmtType\@empty - \gdef\showOutOfinSmryTbl{false}% - \fi -} -\let\stfmtType\@empty -\define@key{smrytbl}{setDimens}[]{#1} -\def\showOutOfinSmryTbl{false} -\def\stmarkupbox{\makebox[0pt][l]} -\newcommand{\displaySumryTbl}[2][]{% - \begingroup\edef\currQuiz{#2}\edef\oField{#2}\edef\curr@quiz{#2}% - \setkeys{smrytbl}{#1}% - \count0=\smrytbl@ntables - \eq@rowcnt=0\relax\@tempcntb=\value{questionno}% - \ifnum\count\z@=2\relax - \divide\@tempcntb2\relax - \advance\@tempcntb\ifodd\value{questionno}2\else1\fi - \xdef\@beginSecCol{\the\@tempcntb}% - \advance\@tempcntb-1\relax - \fi - \ifnum\count\z@=3 - \edef\eq@n{\the\@tempcntb}% - \divide\@tempcntb\count\z@ - \edef\eq@q{\the\@tempcntb}% - \@tempcnta=\@tempcntb\multiply\@tempcnta3 - \edef\eq@p{\the\@tempcnta}% - \@tempcnta=\eq@n - \advance\@tempcnta-\eq@p\relax - \ifnum\@tempcnta=0 - \@tempcntb=\eq@q \advance\@tempcntb1 - \xdef\@beginSecCol{\the\@tempcntb}% - \advance\@tempcntb\eq@q\relax - \xdef\@beginThrdCol{\the\@tempcntb}% - \else\ifnum\@tempcnta=1 - \@tempcntb=\eq@q \advance\@tempcntb1 - \edef\nB@lCols{\the\@tempcntb}% - \advance\@tempcntb1\relax - \xdef\@beginSecCol{\the\@tempcntb}% - \advance\@tempcntb\eq@q\relax - \xdef\@beginThrdCol{\the\@tempcntb}% - \else\ifnum\@tempcnta=2 - \@tempcntb=\eq@q \advance\@tempcntb1 - \edef\nB@lCols{\the\@tempcntb}% - \advance\@tempcntb1 - \xdef\@beginSecCol{\the\@tempcntb}% - \advance\@tempcntb\nB@lCols - \xdef\@beginThrdCol{\the\@tempcntb}% - \fi\fi\fi - \@tempcntb=\eq@n - \fi - \let\@eqListExp\@@eqListExp - \eqQzQuesList - \endgroup -} -\def\eq@begintab{% - \begin{tabular}[t]{lcc}\sumryTblQ&\sumryTblR&\sumryTblP\\\sthline - {\Large\strut}% -} -\def\sthline{\hline} -\def\eq@endtab{\end{tabular}} -\def\sumrytblCkMUsep{\kern3bp} -\def\sumrytbllinkHook#1{#1} -\newcommand{\sumryTblProbFmt}[1]{\textbf{\textcolor{blue}{#1}}} -\newcommand{\sumrytablesep}{\space} -\def\stmarkupWidth{12bp}\def\stmarkupHeight{9bp}\def\stmarkupTextSize{0} -\def\st@scndclmn{% - \checkBox[\Ff{\FfReadOnly}]% - {\ccatCurrQzWith(SanityCheck).\the\eq@rowcnt}% - {\markupHeight}{\markupHeight}{Yes}\ifeqshowmarkup - \stmarkupbox{\sumrytblCkMUsep\textField[% - \Ff\FfReadOnly\BC{}\textColor{\pcMarkupColor}% - \textSize{\stmarkupTextSize}\autoCenter{n}% - ]{\ccatCurrQzWith(SanityCheck\stfmtType Pts).\the\eq@rowcnt}% - {\stmarkupWidth}{\stmarkupHeight}}\fi -} -\def\st@thrdclmn#1{% - \setLink[\linktxtcolor{\@linkcolor} - \A{\JS{this.pageNum=(#1-1)}}]{\sumrytbllinkHook{#1}}} -\def\@@eqListExp#1#2{\global\advance\eq@rowcnt1\relax - \ifnum\eq@rowcnt=1\relax - \pbPopulateSumTable\ifsmrytbl@corrections\else - \pbDoNoCorrectSumryTbl\fi\expandafter\eq@begintab\fi - \ifnum\count0>1 \ifnum\eq@rowcnt=\@beginSecCol\relax - \eq@endtab\expandafter\sumrytablesep\expandafter\eq@begintab - \fi\fi - \ifnum\count0=3 \ifnum\eq@rowcnt=\@beginThrdCol\relax - \eq@endtab\expandafter\sumrytablesep\expandafter\eq@begintab - \fi\fi - \sumryTblProbFmt{#1}&\st@scndclmn&\st@thrdclmn{#2}\\[1bp] - \ifnum\eq@rowcnt=\thequestionno\relax\expandafter\eq@endtab\fi -} -\def\writeProListAux{% - \eq@IWAuxOut{\string\expandafter\string\gdef - \string\csname\space\currQuiz QzQuesList\string\endcsname - {\eqQzQuesList}}% - \eq@IWAuxOut{\string\expandafter\string\gdef - \string\csname\space\currQuiz nQuestions\string\endcsname - {\thequestionno}}% -} -\def\setParamSumryTblAux{% - \edef\eqQzQuesList{\@nameuse{\currQuiz QzQuesList}}% - \@ifundefined{\currQuiz nQuestions}{}{% - \value{questionno}=\@nameuse{\currQuiz nQuestions}}% -} -\newenvironment{sumryTblAux}[1]{% - \DeclareQuiz{#1}\setParamSumryTblAux}{}% -\begin{insDLJS}[correctSumryTbl]{sumtbljs}{Eq: Populate Summary Table} -function correctSumryTbl(qtfield,nQuestions) { - var oQName=eval(qtfield); - var rightColor=(typeof oQName.RightColorJSLoc=="undefined")% -?\rghtColorJS:oQName.RightColorJSLoc; - var wrongColor=(typeof oQName.WrongColorJSLoc=="undefined")% -?\wrngColorJS:oQName.WrongColorJSLoc; - var partialColor=(typeof oQName.PartialColorJSLoc=="undefined")% -?\partialColorJS:oQName.PartialColorJSLoc; - var sc=this.getField(qtfield+"SanityCheck"); - var nc=this.getField(qtfield+"NoCorrections"); - if (sc != null && nc == null ) { - for (var i=0; i 0 )?% -partialColor:wrongColor; - else cb.strokeColor=wrongColor; // obj q - continue; - } - // either multiple selection or grouped math - if ( RightWrong[i+1][0] == "grp" ) { - // grouped question - var f = this.getField("grpobj."+qtfield+"."+(i+1)); - var l = f.getArray().length; - // is this right? - for (var sum=0, j=1; j<=l; j++) - sum+=(!!RightWrong[i+1][j]); - if ( sum == l ) cb.strokeColor=["RGB", 0, .6, 0]; - else cb.strokeColor=( sum > 0 )?% -partialColor:wrongColor; - continue; - } - // multiple selection - if ( RightWrong[i+1][0] == 1 ) cb.strokeColor=rightColor; - else cb.strokeColor=(RightWrong[i+1][1]== 1)?% -partialColor:wrongColor; - } - } - var f1=this.getField(qtfield+"SanityCheckPts"); - var f2=this.getField(qtfield+"SanityCheckOOPts"); - var h=this.getField(qtfield+"activateSC"); - if ( f1 != null ) { - for ( var i = 1; i <= nQuestions; i++) { - if ( ProbValue[i] == undefined ) ProbValue[i]=0 - // find the next non-null field - var g=this.getField(qtfield+"SanityCheckPts."+i); - var qpts=(ProbDist[i]==undefined) ? 0 : ProbDist[i]; - var thesePts= qpts + (( qpts == 1 )?% -" \eqptLabel":" \eqptsLabel"); - g.value = thesePts; - } - } - if ( f2 != null ) { - for ( var i = 1; i <= nQuestions; i++) { - if ( ProbValue[i] == undefined ) ProbValue[i]=0 - // find the next non-null field - var g=this.getField(qtfield+"SanityCheckOOPts."+i); - var qpts=(ProbDist[i]==undefined) ? 0 : ProbDist[i]; - var ptValue = oQName.PtValues[i]; - var probPts = ptValue + (( ptValue == 1 )?% -" \eqptLabel":" \eqptsLabel"); - g.value = qpts +" \stOutOf\space"+probPts; - } - } -} -function popVisitsTbl(qtfield,nQuestions) { - if ( aQuizControl[qtfield] == 1) { - this.resetForm([qtfield+"SanityCheck"]); - for ( var i=0; i < nQuestions; i++ ) { - var f=this.getField(qtfield+"SanityCheck."+(i+1)); - f.checkThisBox(0,(typeof Responses[i+1]!="undefined")); - } - } -} -function fieldPopTbl(qtfield) { - var f=this.getField(qtfield+"activateSC"); - if ( f != null) { - var n=Number(f.userName); - var a = [ qtfield, n ]; - popVisitsTbl.apply(null,a); - } -} -\end{insDLJS} -\endinput -%% -%% End of file `aebsumrytbls.def'. +%% +%% This is file `aebsumrytbls.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% exerquiz.dtx (with options: `copyright,sumrytbls') +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Exerquiz.sty package, %% +%% Copyright (C) 1999-2018 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. %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ProvidesFile{aebsumrytbls.def} + [2018/03/21 v8.2.2 % + Exerquiz support for summary tables (dps)] + \ifmakeExSlLocal\protect\endgroup^^J\fi +\def\ccatCurrQzWith(#1){\currQuiz#1} +\def\pbPopulateSumTable{\pushButton[\W0\BG{}\BC{}\S{S}\autoCenter{n} + \TU{\thequestionno}\Ff{\FfReadOnly} + \AA{\AAPageVisible{try{popVisitsTbl("\currQuiz",\thequestionno)}% + catch(e){}}}]{\currQuiz activateSC}{0pt}{0pt}} +\def\pbDoNoCorrectSumryTbl{\makebox[0pt][l]{\pushButton[\F{\FHidden}]% + {\currQuiz NoCorrections}{0pt}{0pt}}} +\newcount\eq@rowcnt +\newcommand{\sumryTblQ}{Question} +\newcommand{\sumryTblR}{Responded} +\newcommand{\sumryTblP}{Page} +\define@key{smrytbl}{ntables}{% + \@tempcntb=#1 + \ifnum\@tempcntb<1 \@tempcntb=1 \fi + \ifnum\@tempcntb>3 \@tempcntb=3 \fi + \edef\smrytbl@ntables{\the\@tempcntb}% +} +\def\smrytbl@ntables{2} +\define@key{smrytbl}{showmarkup}[true]{% + \csname if#1\endcsname\eqshowmarkuptrue + \else\eqshowmarkupfalse\fi +} +\newif\ifsmrytbl@corrections\smrytbl@correctionstrue +\define@key{smrytbl}{nocorrections}[true]{% + \csname if#1\endcsname\smrytbl@correctionsfalse + \else\smrytbl@correctionstrue\fi +} +\define@key{smrytbl}{showOutOf}[true]{% + \csname if#1\endcsname\eqshowOutOftrue\def\stfmtType{OO}% + \gdef\showOutOfinSmryTbl{true}\let\stmarkupbox\relax + \else + \eqshowOutOffalse\let\stfmtType\@empty + \gdef\showOutOfinSmryTbl{false}% + \fi +} +\let\stfmtType\@empty +\define@key{smrytbl}{setDimens}[]{#1} +\def\showOutOfinSmryTbl{false} +\def\stmarkupbox{\makebox[0pt][l]} +\newcommand{\displaySumryTbl}[2][]{% + \begingroup\edef\currQuiz{#2}\edef\oField{#2}\edef\curr@quiz{#2}% + \setkeys{smrytbl}{#1}% + \count0=\smrytbl@ntables + \eq@rowcnt=0\relax\@tempcntb=\value{questionno}% + \ifnum\count\z@=2\relax + \divide\@tempcntb2\relax + \advance\@tempcntb\ifodd\value{questionno}2\else1\fi + \xdef\@beginSecCol{\the\@tempcntb}% + \advance\@tempcntb-1\relax + \fi + \ifnum\count\z@=3 + \edef\eq@n{\the\@tempcntb}% + \divide\@tempcntb\count\z@ + \edef\eq@q{\the\@tempcntb}% + \@tempcnta=\@tempcntb\multiply\@tempcnta3 + \edef\eq@p{\the\@tempcnta}% + \@tempcnta=\eq@n + \advance\@tempcnta-\eq@p\relax + \ifnum\@tempcnta=0 + \@tempcntb=\eq@q \advance\@tempcntb1 + \xdef\@beginSecCol{\the\@tempcntb}% + \advance\@tempcntb\eq@q\relax + \xdef\@beginThrdCol{\the\@tempcntb}% + \else\ifnum\@tempcnta=1 + \@tempcntb=\eq@q \advance\@tempcntb1 + \edef\nB@lCols{\the\@tempcntb}% + \advance\@tempcntb1\relax + \xdef\@beginSecCol{\the\@tempcntb}% + \advance\@tempcntb\eq@q\relax + \xdef\@beginThrdCol{\the\@tempcntb}% + \else\ifnum\@tempcnta=2 + \@tempcntb=\eq@q \advance\@tempcntb1 + \edef\nB@lCols{\the\@tempcntb}% + \advance\@tempcntb1 + \xdef\@beginSecCol{\the\@tempcntb}% + \advance\@tempcntb\nB@lCols + \xdef\@beginThrdCol{\the\@tempcntb}% + \fi\fi\fi + \@tempcntb=\eq@n + \fi + \let\@eqListExp\@@eqListExp + \eqQzQuesList + \endgroup +} +\def\eq@begintab{% + \begin{tabular}[t]{lcc}\sumryTblQ&\sumryTblR&\sumryTblP\\\sthline + {\Large\strut}% +} +\def\sthline{\hline} +\def\eq@endtab{\end{tabular}} +\def\sumrytblCkMUsep{\kern3bp} +\def\sumrytbllinkHook#1{#1} +\newcommand{\sumryTblProbFmt}[1]{\textbf{\textcolor{blue}{#1}}} +\newcommand{\sumrytablesep}{\space} +\def\stmarkupWidth{12bp}\def\stmarkupHeight{9bp}\def\stmarkupTextSize{0} +\def\st@scndclmn{% + \checkBox[\Ff{\FfReadOnly}]% + {\ccatCurrQzWith(SanityCheck).\the\eq@rowcnt}% + {\markupHeight}{\markupHeight}{Yes}\ifeqshowmarkup + \stmarkupbox{\sumrytblCkMUsep\textField[% + \Ff\FfReadOnly\BC{}\textColor{\pcMarkupColor}% + \textSize{\stmarkupTextSize}\autoCenter{n}% + ]{\ccatCurrQzWith(SanityCheck\stfmtType Pts).\the\eq@rowcnt}% + {\stmarkupWidth}{\stmarkupHeight}}\fi +} +\def\st@thrdclmn#1{% + \setLink[\linktxtcolor{\@linkcolor} + \A{\JS{this.pageNum=(#1-1)}}]{\sumrytbllinkHook{#1}}} +\def\@@eqListExp#1#2{\global\advance\eq@rowcnt1\relax + \ifnum\eq@rowcnt=1\relax + \pbPopulateSumTable\ifsmrytbl@corrections\else + \pbDoNoCorrectSumryTbl\fi\expandafter\eq@begintab\fi + \ifnum\count0>1 \ifnum\eq@rowcnt=\@beginSecCol\relax + \eq@endtab\expandafter\sumrytablesep\expandafter\eq@begintab + \fi\fi + \ifnum\count0=3 \ifnum\eq@rowcnt=\@beginThrdCol\relax + \eq@endtab\expandafter\sumrytablesep\expandafter\eq@begintab + \fi\fi + \sumryTblProbFmt{#1}&\st@scndclmn&\st@thrdclmn{#2}\\[1bp] + \ifnum\eq@rowcnt=\thequestionno\relax\expandafter\eq@endtab\fi +} +\def\writeProListAux{% + \eq@IWAuxOut{\string\expandafter\string\gdef + \string\csname\space\currQuiz QzQuesList\string\endcsname + {\eqQzQuesList}}% + \eq@IWAuxOut{\string\expandafter\string\gdef + \string\csname\space\currQuiz nQuestions\string\endcsname + {\thequestionno}}% +} +\def\setParamSumryTblAux{% + \edef\eqQzQuesList{\@nameuse{\currQuiz QzQuesList}}% + \@ifundefined{\currQuiz nQuestions}{}{% + \value{questionno}=\@nameuse{\currQuiz nQuestions}}% +} +\newenvironment{sumryTblAux}[1]{% + \DeclareQuiz{#1}\setParamSumryTblAux}{}% +\begin{insDLJS}[correctSumryTbl]{sumtbljs}{Eq: Populate Summary Table} +function correctSumryTbl(qtfield,nQuestions) { + var oQName=eval(qtfield); + var rightColor=(typeof oQName.RightColorJSLoc=="undefined")% +?\rghtColorJS:oQName.RightColorJSLoc; + var wrongColor=(typeof oQName.WrongColorJSLoc=="undefined")% +?\wrngColorJS:oQName.WrongColorJSLoc; + var partialColor=(typeof oQName.PartialColorJSLoc=="undefined")% +?\partialColorJS:oQName.PartialColorJSLoc; + var sc=this.getField(qtfield+"SanityCheck"); + var nc=this.getField(qtfield+"NoCorrections"); + if (sc != null && nc == null ) { + for (var i=0; i 0 )?% +partialColor:wrongColor; + else cb.strokeColor=wrongColor; // obj q + continue; + } + // either multiple selection or grouped math + if ( RightWrong[i+1][0] == "grp" ) { + // grouped question + var f = this.getField("grpobj."+qtfield+"."+(i+1)); + var l = f.getArray().length; + // is this right? + for (var sum=0, j=1; j<=l; j++) + sum+=(!!RightWrong[i+1][j]); + if ( sum == l ) cb.strokeColor=["RGB", 0, .6, 0]; + else cb.strokeColor=( sum > 0 )?% +partialColor:wrongColor; + continue; + } + // multiple selection + if ( RightWrong[i+1][0] == 1 ) cb.strokeColor=rightColor; + else cb.strokeColor=(RightWrong[i+1][1]== 1)?% +partialColor:wrongColor; + } + } + var f1=this.getField(qtfield+"SanityCheckPts"); + var f2=this.getField(qtfield+"SanityCheckOOPts"); + var h=this.getField(qtfield+"activateSC"); + if ( f1 != null ) { + for ( var i = 1; i <= nQuestions; i++) { + if ( ProbValue[i] == undefined ) ProbValue[i]=0 + // find the next non-null field + var g=this.getField(qtfield+"SanityCheckPts."+i); + var qpts=(ProbDist[i]==undefined) ? 0 : ProbDist[i]; + var thesePts= qpts + (( qpts == 1 )?% +" \eqptLabel":" \eqptsLabel"); + g.value = thesePts; + } + } + if ( f2 != null ) { + for ( var i = 1; i <= nQuestions; i++) { + if ( ProbValue[i] == undefined ) ProbValue[i]=0 + // find the next non-null field + var g=this.getField(qtfield+"SanityCheckOOPts."+i); + var qpts=(ProbDist[i]==undefined) ? 0 : ProbDist[i]; + var ptValue = oQName.PtValues[i]; + var probPts = ptValue + (( ptValue == 1 )?% +" \eqptLabel":" \eqptsLabel"); + g.value = qpts +" \stOutOf\space"+probPts; + } + } +} +function popVisitsTbl(qtfield,nQuestions) { + if ( aQuizControl[qtfield] == 1) { + this.resetForm([qtfield+"SanityCheck"]); + for ( var i=0; i < nQuestions; i++ ) { + var f=this.getField(qtfield+"SanityCheck."+(i+1)); + f.checkThisBox(0,(typeof Responses[i+1]!="undefined")); + } + } +} +function fieldPopTbl(qtfield) { + var f=this.getField(qtfield+"activateSC"); + if ( f != null) { + var n=Number(f.userName); + var a = [ qtfield, n ]; + popVisitsTbl.apply(null,a); + } +} +\end{insDLJS} +\endinput +%% +%% End of file `aebsumrytbls.def'. -- cgit v1.2.3