<..hook Alexanders’ exam..>
<.alex hook utilities.>
<.hooks for section types.>
\pend:def\@enddocumenthook{{\tt \tmp:cnt=1 \seed:hooks }}
-_-_-
<..alex hook utilities..>
\def\seed:hooks{%
\ifnum \tmp:cnt>\c@section \else
<.trace exam data.>%
<.type-oriented hooks.>
\advance\tmp:cnt by 1
\expandafter\seed:hooks
\fi
}
-_-_-
<..type-oriented hooks..>
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt\endcsname
\@shortanswer
<.hooks for shortanswer.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@fixed
<.hooks for fixed.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@fillin
<.hooks for fillin.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@fillinstar
<.hooks for fillinstar.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@MC
<.hooks for MC.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@MCstar
<.hooks for MCstar.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname
\@shortanswerstar
<.hooks for shortanswerstar.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname
\@truefalse
<.hooks for truefalse.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname
\@truefalsestar
<.hooks for truefalsestar.>
\fi
\expandafter\ifx\csname type@sec\romannumeral\tmp:cnt \endcsname\@fixedstar
<.hooks for fixedstar.>
\fi
-_-_-
<..hooks for shortanswer..>
\def\:temp{<.redef blank.>}%
<.hooks for answers.>%
<.hooks for section heads.>%
<.hooks on instruction preamble.>%
-_-_-
<..hooks for shortanswerstar..>
<.cond head and inst hooks.>%
-_-_-
<..hooks for fixed..>
\def\:temp{<.redef blank.>}%
<.hooks for answers.>%
<.hooks for section heads.>%
<.hooks on instruction preamble.>%
-_-_-
<..hooks for fixedstar..>
\def\:temp{<.redef blank.>}%
<.hooks for answers.>%
<.cond head and inst hooks.>%
-_-_-
<..hooks for fillin..>
\def\:temp{<.redef blank.>}%
<.hooks for answers.>%
<.hooks for section heads.>%
<.hooks on instruction preamble.>%
-_-_-
<..hooks for fillinstar..>
\def\:temp{<.redef blank.>}%
<.hooks for answers.>%
<.cond head and inst hooks.>%
-_-_-
<..hooks for MC..>
\def\:temp{<.reconfigure multiplechoice.>}%
<.hooks for answers.>%
<.hooks for section heads.>%
<.hooks on instruction preamble.>%
-_-_-
MC stands for multi-choice
<..hooks for MCstar..>
\def\:temp{<.reconfigure multiplechoice.>}%
<.hooks for answers.>%
<.cond head and inst hooks.>%
-_-_-
<..hooks for truefalse..>
\def\:temp{<.redef truefalse answer.>}%
<.hooks for answers.>%
<.hooks for section heads.>%
<.hooks on instruction preamble.>%
-_-_-
<..hooks for truefalsestar..>
\def\:temp{<.redef truefalse answer.>}%
<.hooks for answers.>%
<.cond head and inst hooks.>%
-_-_-
<..cond head and inst hooks..>
\expandafter\ifx
\csname head@sec\romannumeral\tmp:cnt \endcsname\relax \else
<.hooks for section heads.>%
\fi
\expandafter\ifx
\csname inst@sec\romannumeral\tmp:cnt \endcsname\relax \else
<.hooks on instruction preamble.>%
\fi
-_-_-
<..hooks for section heads..>
\expandafter\pend:def\csname sec\romannumeral\tmp:cnt @fixed\endcsname{%
\gdef\beforesectsep{0pt \a:sectiontitle
\global\let\beforesectsep\sv:beforesectsep}%
\gdef\aftersectsep{0pt \b:sectiontitle
\global\let\aftersectsep\sv:aftersectsep}%
}%
\global\expandafter
\let\csname sec\romannumeral\tmp:cnt @fixed\expandafter\endcsname
\csname sec\romannumeral\tmp:cnt @fixed\endcsname
-_-_-
<..hook Alexanders’ exam..>+
\NewConfigure{sectiontitle}{2}
-_-_-
<..alex hook utilities..>+
\let\sv:beforesectsep\beforesectsep
\let\sv:aftersectsep\aftersectsep
-_-_-
<..hooks on instruction preamble..>
\expandafter\pend:def
\csname inst@sec\romannumeral\tmp:cnt\endcsname{\a:instructions}%
\expandafter\append:def
\csname inst@sec\romannumeral\tmp:cnt\endcsname{\b:instructions\par}%
\global\expandafter\let
\csname inst@sec\romannumeral\tmp:cnt \expandafter\endcsname
\csname inst@sec\romannumeral\tmp:cnt\endcsname
-_-_-
<..hooks for answers..>
\global \csname qlist@scr@sec\romannumeral\tmp:cnt
\expandafter\expandafter\expandafter
\endcsname
\expandafter\expandafter\expandafter{\expandafter\:temp
\the\csname qlist@scr@sec\romannumeral\tmp:cnt \endcsname}
-_-_-
<..redef blank..>
\ifx \blank\:UnDef
\:warning{tex4ht encountered a problem
with \csname type@sec\current@section\endcsname}
\else
\ifanswer
\ifcblanks
\def\blank####1{\a:answer ####1\b:answer}%
\fi
\ifpblanks
\def\blank####1{\a:answer ####1\b:answer}%
\fi
\else
\ifcblanks
\pend:defI\blank{\a:question}
\append:defI\blank{\b:question}
\fi
\ifpblanks
\pend:defI\blank{\a:question}
\append:defI\blank{\b:question}
\fi
\fi \fi
-_-_-
<..redef truefalse answer..>
\pend:defI\@separator{\def\@tfitem{%
\ifanswer
\item[\a:answer
\csname tf@sol\current@question\endcsname\b:answer]%
\else
\item
\fi}}%
-_-_-
<..hook Alexanders’ exam..>+
\NewConfigure{answer}{2}
\NewConfigure{question}{2}
-_-_-
<..hook Alexanders’ exam..>+
\pend:defI\MCfont{\a:MCfont}
\append:defI\MCfont{\b:MCfont}
\NewConfigure{MCfont}{2}
-_-_-
<..hook Alexanders’ exam..>+
\Configure{MCfont}
{\HCode{<span class="MCfont">}} {\HCode{</span>}}
\Css{dt .MCfont {text-decoration:underline;}}
-_-_-
<..reconfigure multiplechoice..>
\boxfalse
-_-_-
�
<..hook Alexanders’ exam..>+
\NewConfigure{instructions}{2}
-_-_-
<..trace exam data..>
\section:data
-_-_-
<..alex hook utilities..>+
\def\section:data{
\par[\the\tmp:cnt]
\par [qlist@sec\romannumeral\tmp:cnt]
\expandafter\meaning\csname qlist@sec\romannumeral\tmp:cnt\endcsname :
\expandafter \edef\expandafter \:temp\expandafter {\expandafter
\the\csname qlist@sec\romannumeral\tmp:cnt\endcsname}
\meaning\:temp
\par [qlist@scr@sec\romannumeral\tmp:cnt]
\expandafter\meaning\csname qlist@scr@sec\romannumeral\tmp:cnt\endcsname :
\expandafter \edef\expandafter \:temp\expandafter {\expandafter
\the\csname qlist@scr@sec\romannumeral\tmp:cnt\endcsname}
\meaning\:temp
\par [inst@sec\romannumeral\tmp:cnt]
\expandafter\meaning\csname inst@sec\romannumeral\tmp:cnt\endcsname
\par [head@sec\romannumeral\tmp:cnt]
\expandafter\meaning\csname head@sec\romannumeral\tmp:cnt\endcsname
\par [type@sec\romannumeral\tmp:cnt]
\expandafter\meaning\csname type@sec\romannumeral\tmp:cnt\endcsname
\par [sec\romannumeral\tmp:cnt @fixed]
\expandafter\meaning\csname sec\romannumeral\tmp:cnt @fixed\endcsname
\par ****************************************\par
}
\let\section:data=\empty
-_-_-
<..hook Alexanders’ exam..>+
\pend:def\@examtopmatter{\bgroup
\pend:def\namedata{\let\hrulefill=\empty \a:namedata}%
\append:def\namedata{\b:namedata}%
\pend:def\classdata{\a:classdata}%
\append:def\classdata{\b:classdata}%
\let\examtop=\empty \let\endexamtop=\empty
\begin{examtop}}
\append:def\@examtopmatter{%
\end{examtop} \egroup\bigskip}
\NewConfigure{classdata}{2}
\NewConfigure{namedata}{2}
-_-_-
<..hook Alexanders’ exam..>+
\pend:def\@keytopmatter{\bgroup
\let\keytop=\empty \let\endkeytop=\empty
\begin{keytop}}
\append:def\@keytopmatter{%
\end{keytop} \egroup\bigskip}
-_-_-
<..hook Alexanders’ exam..>+
\append:def\frontmatter@wrap@up{%
\ifx\@frontmattertext\relax \else
\pend:def\@frontmattertext{\a:frontmatter}
\append:def\@frontmattertext{\b:frontmatter}
\fi
}
\NewConfigure{frontmatter} {2}
-_-_-