summaryrefslogtreecommitdiff
path: root/texmf-dist/source/latex/eqexam/doc/eqexamman.tex
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/source/latex/eqexam/doc/eqexamman.tex')
-rw-r--r--texmf-dist/source/latex/eqexam/doc/eqexamman.tex4611
1 files changed, 4611 insertions, 0 deletions
diff --git a/texmf-dist/source/latex/eqexam/doc/eqexamman.tex b/texmf-dist/source/latex/eqexam/doc/eqexamman.tex
new file mode 100644
index 00000000..c8ec9c86
--- /dev/null
+++ b/texmf-dist/source/latex/eqexam/doc/eqexamman.tex
@@ -0,0 +1,4611 @@
+\documentclass{article}
+%\usepackage{makeidx,showidx}
+\usepackage[fleqn]{amsmath}
+\usepackage{graphicx}
+\usepackage[
+ web={designv,
+ latextoc,forcolorpaper,
+ centertitlepage},
+ eforms
+]{aeb_pro}
+%\usepackage[designv,
+% latextoc,forcolorpaper,
+% centertitlepage]{web}
+%\usepackage{eforms}
+
+%\usepackage[nopoints,fortextbook,nomarginwrite,usecustomdesign]{eqexam}
+%\usepackage{longtable,colortbl}
+%\useFullWidthForPaper
+
+\usepackage{eqexaman}
+
+%\usepackage{srcltx}
+
+\hfuzz=1pt
+
+\def\AEBBook{\textsl{{Acro\!\TeX} eDucation System Tools: {\LaTeX} for interactive PDF documents}}
+\def\AEBP{\textsf{AeB Pro}}
+
+\DeclareFontFamily{U}{wi}{}
+\DeclareFontShape{U}{wi}{m}{n}{<-> wingding}{}
+\DeclareFontFamily{U}{webd}{}
+\DeclareFontShape{U}{webd}{m}{n}{<-> webdings}{}
+
+\font\zqacr=zqacr at 8pt
+
+
+
+\setlength{\mathindent}{\leftmargini}
+%\def\meta#1{\textit{$\langle$#1$\rangle$}}
+
+\makeatletter
+
+%\def\numberline#1{{\setlength{\fboxsep}{0pt}\fbox{\hb@xt@\@tempdima{#1\hfil}}}}
+
+%\renewcommand*\l@section{\addvspace{2pt}\@dottedtocline{1}{1.5em}{2.5em}}
+\renewcommand*\l@subsection{\addvspace{1pt}\@dottedtocline{2}{1.5em}{3em}}
+\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{4.5em}{1.2em}}
+
+%\renewcommand*\l@subsubsection{\addvspace{1pt}\@dottedtocline{3}{7.4em}{1.2em}}
+
+%\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+%\renewcommand*\l@subsection{\@dottedtocline{2}{4.8em}{3.4em}}
+%\renewcommand*\l@subsubsection{\@dottedtocline{3}{8.2em}{1.2em}}
+%\renewcommand*\l@subsubsection{\@dottedtocline{3}{7em}{1.2em}}
+
+
+\newcommand{\exAeBBlogPDF}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi
+\vskip\medskipamount\noindent\makebox[0pt][r]{%
+ \makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}%
+ \raisebox{-2pt}{\color{red}\href{#1?#2}{{\zqacr b\hspace{9.5pt}}}}\enspace}\ignorespaces}
+
+\newcommand{\exAeBBlogArticle}[2][\urlAcroTeXBlog/]{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi
+\vskip\medskipamount\noindent\makebox[0pt][r]{\makebox[0pt][l]{\hspace{-1pt}\textcolor{blue}{\Pisymbol{webd}{254}}}%
+\raisebox{.5pt}{\color{red}\href{#1?#2}{\ding{045}}\hspace{7.5pt}\enspace}}\ignorespaces}
+\definePath{\urlAcroTeXBlog}{http://www.acrotex.net/blog}
+
+\renewcommand*\descriptionlabel[1]{\hspace\labelsep
+ \normalfont #1}
+\newcommand{\aebDescriptionlabel}[1]{%
+ \setlength\dimen@{\amtIndent+\labelsep}%
+ {\hspace*{\dimen@}#1}}
+\makeatother
+\newenvironment{aebDescript}
+ {\begin{list}{}{\setlength{\labelwidth}{0pt}%
+ \setlength{\leftmargin}{\leftmargin}%
+ \setlength{\leftmargin}{\leftmargin+\amtIndent}%
+ \setlength\itemindent{-\leftmargin}%
+ \let\makelabel\aebDescriptionlabel
+ }}{\end{list}}
+
+\def\hardspace{{\fontfamily{cmtt}\selectfont\symbol{32}}}
+\def\AcroBlog{{Acro\!\TeX} Blog}
+\newlength{\aebdimen}
+\def\anglemeta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\def\meta#1{\textit{\texttt{#1}}}
+\let\pkg\textsf
+\let\env\texttt
+\let\opt\texttt
+\let\app\textsf
+\def\AEB{\textsf{AeB}}
+\def\AcroTeX{Acro\!\TeX}
+\def\HTML{HTML}\def\FDF{FDF}
+\def\PDF{PDF}\def\URL{URL}
+\let\amtIndent\leftmargini
+\def\bNH{\begin{NoHyper}}\def\eNH{\end{NoHyper}}
+\def\nhnameref#1{\bNH\nameref{#1}\eNH}
+\def\nhNameref#1{\bNH\Nameref{#1}\eNH}
+\def\nhurl#1{\bNH\url{#1}\eNH}
+\def\grayV#1{\textcolor{gray}{#1}}
+\def\darg#1{\{#1\}}
+\def\parboxValign{t}
+\renewcommand*{\backrefalt}[4]{%
+ \ifcase #1\or
+ See page~#2.\else See pages~#2.\fi
+}
+\newenvironment{aebQuote}
+ {\list{}{\leftmargin\amtIndent}%
+ \item\relax}{\endlist}
+\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{%
+ \raisebox{.5\baselineskip+#1}{%
+ \expandafter\parbox\expandafter[\parboxValign]%
+ {\marginparwidth}{\aebbkFmtMp#2}}}}
+\def\aebbkFmtMp{\kern0pt\itshape\small
+ \ifusebw\color{gray}\else\color{blue}\fi
+ \raggedleft\hspace{0pt}}
+\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}%
+ \kern-.6em \hbox{$\mathcal S$}}$}
+\def\FitItIn{\eq@fititin}
+\def\endredpoint{\FitItIn{{\large\ifusebw\color{black}\else\color{red}\fi$\blacktriangleleft$}}}
+
+
+%\makeindex
+
+\title{The \texorpdfstring{\textsf{eqexam} Package\\}{eqexam Package, }
+part of the\texorpdfstring{\\Acro\TeX}{AcroTeX} eDucation Bundle}
+\author{D. P. Story}
+\subject{%
+ A LaTeX package for creating Test, quizzes, both for paper and for
+ online use; supports writing problems sets for textbook authors.%
+}
+\keywords{LaTeX, hyperref, PDF, exercises, quizzes}
+\university{{\AcroT} Software Development Team}
+\email{dpstory@acrotex.net}
+\version{v4.9, 2017/03/16}
+\copyrightyears{2005-\the\year}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="The eqexam Manual";
+var manualfilename="Manual_BG_Print_eqexam.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=false;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+\begin{document}
+
+\maketitle
+
+\tableofcontents
+
+\section{Forward}
+
+For the past several years (this year is 2016), I've been writing a book
+titled,
+\begin{quote}
+\AEBBook.
+\end{quote}
+The book~\cite{book:AEBB} covers {\AEB}, which includes the \pkg{eforms}
+package, and {\AEBP} in \emph{great detail} and includes many examples to
+illustrate concepts and techniques. Numerous new examples are available on
+the CD-ROM that accompanies the book.
+
+During the time of the writing, each of the packages covered was examined,
+bugs were fixed, and many new and major features were created. Any new
+features developed in the course of writing the book are documented in the
+book; however, they are \emph{not included in this documentation}. You can
+either buy the yet-to-be-submitted book sometime in the future, or discover
+the features by studying the DTX documentation of the program files. Sorry,
+it took me three years to write the book, I don't want to spend another year
+on this documentation. \verb!:-{)!
+
+\begin{flushright}
+Dr. D. P. Story\\[3pt]
+January 16, 2016
+\end{flushright}
+
+\section{Introduction}
+
+In my classroom work at The University of Akron, I've been using a
+personal {\LaTeX} package, which is called \textsf{eqexam}, for creating
+my in-class tests, quizzes, homework assignments, and review documents
+(pre-tests/sample tests). In recent weeks---at the end of the Fall
+Semester, 2004, and prior to the Spring Semester, 2005, I have filled the
+mundane and boring days with work on \textsf{eqexam}, fixing and enhancing
+it quite a bit.
+
+The \textsf{eqexam} package is a stand-alone for {\LaTeX}, but is also
+tightly integrated with the {\cAcroEB}. \textsf{eqexam} will be
+distributed by itself, as well as a part of the {\cAcroB}. The integration
+with the {\AcroB} gives it many of the online features that users of the
+Bundle are familiar with.
+
+\newtopic (Version 3.0 or later) The method of formatting an \textsf{eqexam}
+document has changed, each \texttt{problem}/\texttt{problem*} environment
+is now in a list environment, the \texttt{eqequestions} environment. This
+environment is not normally used by the document author, but its
+parameters may be redefined. The purpose of this reformatting, is to open
+up \textsf{eqexam} for use by other packages. Textbook authors can now, I
+hope, easily integrate \textsf{eqexam} into the custom book format
+being used.
+
+\newtopic Let's have an overview of the package, with suggestions for
+possible uses.
+\begin{enumerate}
+ \item The first, and most obvious application of this package
+ is to create a \textcolor{blue}{pExam} or a
+ \textcolor{blue}{pQuiz}. (Here, the `\textcolor{blue}{p}'
+ prefix refers to \underline paper or \underline pulp; thus, we
+ can use \textsf{eqexam} to write paper Exams and/or pulp
+ Quizzes). You can write the questions and the solutions, and
+ publish (i.e., print the document on a printer) the exam/quiz
+ with no solutions---ready to be taken in class---, or {\LaTeX}
+ the source document with solutions listed after each question
+ to create an answer key, for your personal use, or for the use
+ by the class.
+
+ \item So much for pulp. Now on to `\textcolor{blue}{e}' (for
+ electronic publication). In some of my classes, I put sample
+ questions (review tests) on the web as {\PDF} documents. In
+ this case, you can create a {\PDF} document without the
+ solutions, and give the class time to solve the problems; then
+ publish the document (in {\PDF} on the web) with solutions.
+ The solutions can appear immediately after the questions, or
+ can be accumulated at the end of the document.
+
+ \item[] In the case where the solutions are at the end of the
+ document, you can add links from the question to the solution.
+
+ \item[] Documents can be published with color (to enhance the
+ on screen appearance) or can be published in black and white,
+ meant to be printed. Or, you can do both: a screen
+ version and a paper version.
+
+ \item By invoking the \texttt{online} option, the white space
+ left for hand-written answers to the questions become Acroform
+ multi-line text fields, multiple choice questions become radio
+ buttons, and fill-in questions also become text fields. The
+ student can bring up the exam, and take it at a computer (in a
+ CBT\footnote{Computer Based Testing.} lab). After the student
+ is finished, he/she can print out the exam, and submit it to
+ the instructor for traditional grading.
+
+ \item Now, here is an exciting feature of the \textsf{eqexam}
+ package, that of email submittal! This feature is not too
+ useful for technical fields (i.e., mathematics related fields)
+ that require students to enter special symbols, but for some
+ academic disciplines (English, History, Sociology, Politics
+ and Government, etc.) this feature could be quite
+ exciting.\footnote{Of course, I am addressing now the some six
+ people worldwide in these fields that use {\LaTeX} and \PDF!
+ For you six, this feature is for you!}
+
+ \item[] When you take the \texttt{email} option of
+ \textsf{eqexam}, as with the \texttt{online} option, the white
+ space left for hand-written answers to the questions become
+ Acroform multi-line text fields, multiple choice questions
+ become radio buttons, and fill-in questions also become text
+ fields. Additionally, a button is automatically provided to
+ submit by email the results of the test to the instructor. The
+ results arrive at the instructor's mailer as an {\FDF}
+ attachment. The instructor can open the {\FDF} and view in the
+ originating {\PDF} the responses given by the student.
+
+ \item[] The instructor can print out the document and grade in
+ a traditional way, or if the instructor has
+ \textbf{Acrobat~Pro} or \textbf{Standard}, the instructor can
+ use mark-up annotations within the PDF, save a copy of the
+ students test to a class folder, and email a copy of the
+ students exam, marked up with grade.\footnote{Seems doubtful
+ that anyone at this time has the expertise to do this! But
+ it's available if anyone ever wants it.}
+
+ \item[] If the exam is given for credit, it can be taken in a
+ secure lab.
+
+ \item Perhaps a more reasonable application of this email
+ submission feature of \textsf{eqexam} is the building and
+ publication of surveys and questionnaires! Perhaps
+ teacher evaluations! The environments of \textsf{eqexam} can
+ be easily used to write surveys and questionnaires to
+ solicit the opinion of a target population. Responses are
+ emailed to the designated person, who can summarize them.
+
+ \item[] By the way, speaking of summarizing results, a new
+ feature of \textbf{Acrobat Pro~7.0}, allows you to take a
+ folder of {\FDF} files, such as the ones created by email
+ submission, and extract all form fields and place results to a
+ comma-delimited file (\texttt{.csv}). This comma-delimited
+ file can be opened by a spreadsheet program and manipulated.
+ Cool.
+
+ \item (08/05/11) Version 3.0 of \textsf{eqexam} has a major option,
+ \texttt{fortextbook},\footnote{The \texttt{fortextbook} option is briefly
+ described on page~\pageref*{fortextbook}.} designed to support (U.S.)
+ textbook authors. Documentation for this option is found in the
+ \texttt{doc/fortextbook} folder. See also the series of blogs at the
+ \ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{{Acro\TeX} Blog}.
+
+\end{enumerate}
+
+%\subsection{What's New}
+%
+%\begin{enumerate}
+%
+% \item (Version 1.7) Added the ability to randomize items in a
+% multiple choice/selection list. See \Nameref{s:random} and the
+% \texttt{allowrandomize} option, as listed in \Nameref{eqoptions}.
+%
+% \item (Version 1.6) In this version, I've added the command
+% \cs{thisterm} (see \Nameref{preamble}) and expanded the control of
+% multiple versions. Now you can have up to $26$ versions of the same
+% test! For details of this new multiple version scheme, see the
+% discussion in \Nameref{mutiVerNew}.
+%
+% \item[] Also added are \cs{forproblem} and \cs{foritem}. See \mlNameref{solnSets}.
+%
+% \item (Version 1.4) Added a \texttt{manswers} environment for
+% multiple choice questions where multiple selections are permitted.
+% \textsf{Exerquiz} version 6.04 or greater is required with the
+% \texttt{online} and \texttt{email} options. See the section
+% \Nameref{multiSelect} for details.
+%
+% \item (Version 1.3) Added in the \cs{bChoices} and
+% \cs{eChoices} pair for specifying multiple choice
+% alternatives. See the brief discussion in
+% the section \Nameref{multichoice}.
+%\end{enumerate}
+
+\section{Required and Optional Packages}
+
+The following packages that are not part of the normal {\LaTeX}
+distribution are \emph{required}:
+\begin{enumerate}
+\item \texttt{calc}: Used for calculation of the position of the
+ marginal points.
+
+\item \texttt{pifont}: Used when the \texttt{proofread} option is
+ used to indicate the correct answers to multiple choice questions.
+
+\item \texttt{comment}: Used to have optional content, useful for
+ developing exams for multiple sections of the same class.
+
+\item \texttt{multicol}: Used to create questions in multi-column mode.
+
+\item \texttt{verbatim}: Used to write solutions to the hard drive.
+\end{enumerate}
+
+\noindent Additionally, the following packages may be used
+depending on the options chosen:
+\begin{enumerate}
+\item \texttt{web}: Used when the \texttt{pdf}, \texttt{links},
+ \texttt{online} or the \texttt{email} option is taken.
+
+\item \texttt{exerquiz}: Used when the
+ \texttt{links}, \texttt{online} or the \texttt{email} option is
+ taken.
+\end{enumerate}
+Of course, \texttt{web} and \texttt{exerquiz}, in turn, input a
+whole plethora of packages. Consult the documentation for the
+\cAcroEB.
+
+\section{Installing \textsf{eqexam}}
+
+Create a folder in your \texttt{latex} search path named
+\textsf{eqexam} and place the package files \texttt{eqexam.dtx},
+\texttt{eqexam.ins}, \texttt{eqexam.def} and any \texttt{.cfg}
+files. (If you have an \texttt{acrotex} folder, you can place the
+files there as well.)
+
+Next, \texttt{latex} \texttt{eqexam.ins} to create
+\texttt{eqexam.sty} and \texttt{eqalone.def}. The other files
+(\texttt{*.tex} and \texttt{*.pdf}) can be placed anywhere.
+
+The \textsf{eqexam} is a stand alone package that is tightly
+integrated with the \cAcroB. The file \texttt{eqexam.def} comes
+from the {\cAcroB} to provide the necessary support for many of
+the commands and environments defined in \textsf{eqexam}. The file
+\texttt{eqalone.def} are miscellaneous definitions that are needed
+for the stand-alone version. When you choose one of the options
+\texttt{links}, \texttt{online} or \texttt{email}, then
+\textsf{Exerquiz} is included in the package files. When you use
+one of these options you will need the most recent version of the
+\cAcroEB, the one published concurrently with this package.
+
+\section{Demonstration files}
+
+\exAeBBlogPDF{cat=107} The original
+\href{\urlAcroTeXBlog/?cat=107}{\pkg{eqexam} demonstration files} are posted
+on the \href{\urlAcroTeXBlog/}{{Acro\TeX} Blog}. Throughout the manual, individual
+files are references and a link is provided to that resource. The source file is attached
+to all PDFs on the {Acro\TeX} Blog website.
+
+\exAeBBlogPDF{tag=eqexam-package}
+Additional demonstration files developed after the original set are also available
+from the {Acro\TeX} Blog. See the articles tagged as
+\textit{\href{\urlAcroTeXBlog/?tag=eqexam-package}{eqexam-package}}.
+
+%http://www.acrotex.net/blog/?tag=eqexam-package
+
+
+\section{Page Layout Considerations}
+
+With Version~3.0, you can design your own page layout scheme, perhaps to
+conform to a book style. The following are some basics on formatting for
+\textsf{eqexam}.
+
+The following two commands appear in \textsf{eqexam}, the first sets some basic
+page parameters.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand{\eqeSetExamPageParams}{%
+ \setlength{\headheight}{12pt}
+ \setlength{\topmargin}{-.5in}
+ \setlength{\headsep}{20pt}
+ \setlength{\oddsidemargin}{0pt}
+ \setlength{\evensidemargin}{0pt}
+ \setlength{\marginparsep}{11pt}
+ \setlength{\marginparwidth}{35pt}
+ \setlength{\footskip}{11pt}
+}
+\end{Verbatim}
+The second command calculates values for \cs{textwidth} and \cs{textheight}
+based on the the settings of the first command.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand{\eqExamPageLayout}{%
+ \setlength\textwidth\paperwidth
+ \addtolength{\textwidth}{-2in}
+ \addtolength{\textwidth}{-\oddsidemargin}
+ \setlength\textheight{\paperheight}
+ \addtolength\textheight{-2in}
+ \addtolength\textheight{-\headheight}
+ \addtolength\textheight{-\headsep}
+ \addtolength\textheight{-\topmargin}
+ \addtolength\textheight{-\footskip}
+}
+\end{Verbatim}
+When the package option \texttt{usecustomdesign} \textit{is not taken,}
+then the two commands \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout}
+are executed immediately after the above definitions. These are the
+original parameters used by \textsf{eqexam}, designed to yield a maximum
+text body in which to typeset an exam. The margins are set at 1 inch, the
+\cs{topmargin} is raised up, all to maximize space.
+
+Now, if the package option \texttt{usecustomdesign} is specified, the
+commands \cs{eqeSet\-Exam\-Page\-Params} and \cs{eqExamPageLayout} are \emph{not
+executed}, the package designer can either do a \cs{renewcommand} for
+these two commands in the preamble with custom values inserted (and
+execute \cs{eqeSetExamPageParams} and \cs{eqExamPageLayout}), or the
+designer may use another package to set the page layout parameters (or
+take the default of the class being used). In the latter case,
+neither \cs{eqeSetExamPageParams} nor \cs{eqExamPageLayout} should be executed.
+
+\newtopic The following commands directly effect how the problems are
+displayed within an \textsf{eqexam} environment.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\eqexammargin{\normalsize\normalfont\bfseries00.\ }
+\end{Verbatim}
+The command \cs{eqexammargin} is a convenient way of specifying the
+\cs{labelwidth} as set by the \texttt{eqequestions} environment (see
+below). The command uses \cs{settowidth} to set the \cs{eqemargin} length.
+The \cs{eqemargin} may also be set directly with \cs{setlength}.
+\cs{eqexammargin} can be executed anytime between exam environments (or
+even between problems, though this is not a intuitive option). Normally it
+is executed once for the entire document; but may be executed multiple
+times to change margins.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand{\widthtpboxes}{35pt}
+\end{Verbatim}
+This command sets the width of the boxes that appear in the right margin
+when one of more of the options \texttt{pointsonright},
+\texttt{pointsonboth}, \texttt{totalsonleft}, \texttt{totalsonright}, are
+used. These boxes are used for exams, and not relevant for problem sets of
+textbooks. Normally, this parameter is not redefined.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newenvironment{eqequestions}{%
+ \begin{list}{}{%
+ \setlength{\labelwidth}{\eqemargin}%
+ \setlength{\topsep}{3pt}\setlength{\parsep}{0pt}%
+ \setlength{\itemindent}{0pt}\setlength{\itemsep}{3pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \settowidth{\labelsep}{\ }%
+ }\item\relax}{\end{list}}
+\end{Verbatim}
+This environment is opened at the beginning of a \texttt{problem}
+(\texttt{problem*}), and closed at the end of these environments.
+
+\section{Building an Exam}
+
+In this section, we outline the steps to create an exam using the
+\textsf{eqexam} package. Consult the sample exams for additional
+examples.
+
+\subsection{The Preamble}\label{preamble}
+
+Of course, we begin with the standard article class, and the
+\textsf{eqexam} package:
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\documentclass{article}
+\usepackage[!meta(options)]{eqexam}
+\end{Verbatim}
+\noindent The \meta{options} are discussed in
+section~\ref{eqoptions}. Next comes a exam identification
+information:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\title[T1]{Test 1}
+\subject[C1]{Calculus I}
+\author{D. P. Story}
+\keywords{Calculus I, Section 004}
+\university{%
+ THE UNIVERSITY OF AKRON\\
+ Mathematics and Computer Science
+}
+\date{\thisterm, \the\year}
+\duedate{October 17, 2005}
+\end{Verbatim}
+\noindent The \cs{title}, \cs{subject}, \cs{author} and \cs{date}
+are the same as is used in the \textsf{web} package. These are
+used by the standard {\LaTeX} macro to create the heading line of
+the first page of the exam, and are used in the running headers.
+
+The \cs{title}, \cs{subject} have optional first arguments, where
+you can list a shorted version of the title or the subject. The
+shortened versions, if present, are used in the running headers.
+
+The \cs{keywords} is used when you publish your exam in {\PDF} and
+you use the \texttt{pdf} option (or \texttt{online}, \texttt{links},
+\texttt{email}). The value of the argument of \cs{keywords} appears
+in the keywords field of the document info dialog.
+
+When you take the \texttt{coverpage} option, the value of
+\cs{university} is used, along with some of the others on the
+cover page.
+
+I've also defined a keyword of \cs{duedate}, this might be useful
+when using \textsf{eqexam} to create homework assignments with a
+due date, or just to record the date of the exam. The argument of \cs{duedate} fills the text macro
+\cs{theduedate}. So that if you say \verb|\duedate{05/31/06}|, the macro
+\cs{theduedate} will expand to `05/31/06'.
+
+\newtopic Beginning with version~1.6, \cs{thisterm} is defined.
+The academic year of many American universities are divided into semesters
+(or terms); Fall, Spring, and Summer. The command \cs{thisterm} takes the current
+date and determines if it is the Fall, Spring or Summer Semester. For example,
+if the date of the compile is October 17, 2005, then \verb!\thisterm, \the\year!
+expands to `Fall, 2005'. This command is useful with the \cs{date} command.
+
+The command \cs{thisterm} can be redefined to conform to the terms
+of the document author's university. See the definition in
+\texttt{eqexam.dtx}, copy and modify it.
+
+\subsection{The \texttt{exam} Environment}\label{exam}
+
+An exam is contained within the \texttt{exam} environment.
+
+One of the things that I do in my courses, especially for the
+final exam, is to have a two-part exam. Typically, the first part
+is worth $100$ points and covers the new material not already
+tested; the second part is usually a $50$ point review. I grade
+these two parts separately and record them separately. Therefore,
+an \textsf{eqexam} test may contain one or more \texttt{exam}
+environments.\footnote{Remember, this was originally a personal
+package, meant to suit my own needs.}
+
+\newtopic After the preamble, we then say
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{document}
+
+\maketitle
+
+\begin{exam}[Part I.]{Part1}
+
+\begin{instructions}[Part I.]
+Solve each of the problems without error. If you make an error,
+points will be subtracted from your total score.
+\end{instructions}
+...
+...
+...
+\end{exam}
+
+\begin{exam}[Part II.]{Part2}
+
+\begin{instructions}[Part II.]
+The following is a short review of previously mastered material.
+\end{instructions}
+...
+...
+...
+\end{exam}
+\end{document}
+\end{Verbatim}
+After the \verb+\begin{document}+ and standard \cs{maketitle}, we begin an
+exam by opening an \texttt{exam} environment.
+
+\settowidth{\aebdimen}{\ttfamily\string\begin\darg{exam}[\meta{friendly\_name}]\darg{\meta{exam\_name}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\begin{exam}[!meta(friendly_name)]{!meta(exam_name)}
+...
+\end{exam}
+\end{dCmd}
+\noindent This environment has two arguments: the first optional, the second
+required. The first argument is a user friendly name (used when the solutions
+are listed at the end of the document when there are multiple \texttt{exam}
+environments); the second required argument is the name of the of the exam,
+\texttt{Part1} or \texttt{Part2}, for example. This argument is used to build
+the names of the PDF Acroform field names. This argument should consist of
+letters and numbers only. You can use the command \cs{autoExamName} for the
+\meta{exam\_name}; this command will name each \texttt{exam} environment
+\texttt{exam1}, \texttt{exam2}, \texttt{exam3}, etc.
+
+Following the opening of the exam, typically, the instructor would have
+some instructions, this is the purpose of the \texttt{instructions}
+environment. It has one optional argument, heading text for the
+instructions; if this optional parameter is not provided, then the default
+word is used, the default word is determined by \cs{defaultInstructions},
+its default definition is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\defaultInstructions{Instructions.}
+\end{Verbatim}
+Following this label, the total number of points for this part is
+inserted, unless the \texttt{nosummarytotals} option is taken.
+
+\redpoint The optional argument of the \texttt{instructions}
+environment has a color associated with it, and is visible when you
+compile the document with the \texttt{forcolorpaper} option. This
+color can be set by the command \cs{instructionsColor}; this command
+takes a single argument, a named color:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\instructionsColor{blue}
+\end{Verbatim}
+\noindent The above is the default definition.
+
+
+\newtopic At this point, you would insert your questions. Following the
+listing of all the questions (and optionally, their solutions), you
+finish up by closing out the \texttt{exam} environment.
+
+Repeat, if additional parts to the exam are desired. Finally,
+finish off the document with \verb+\end{document}+.
+
+\redpoint You must \texttt{latex} your document \emph{three times} to be
+sure all points have been properly calculated.
+
+\subsection{The \texttt{problem} and \texttt{problem*} Environments}
+
+All questions are posed using the \texttt{problem} and
+\texttt{problem*} environments. The former is for a single
+question, the latter is for a question with multiple parts.
+
+\subsubsection{\texttt{problem}}\label{problem}
+
+The \texttt{problem} encloses a single question; the question
+itself may contain special constructs such as one or more fill-in
+the blanks.
+
+The syntax for \texttt{problem} is
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont,
+ commandchars=!()]
+\begin{problem}[!meta(num)|*!meta(num)|empty][h|H]
+!anglemeta(Statement of question, which may contain special constructs)
+...
+...
+\begin{solution}[!meta(vspace)]
+...
+...
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\noindent The environment takes two optional arguments. The first
+argument \meta{num} is the number of points for this problem, for
+example, if we want to have a $5$ point question, we would begin the
+environment like so, \verb+\begin{problem}[5]+; on the other hand, if we
+say \verb+\begin{problem}+, the problem has no points associated with it.
+If you specify points weight for a problem, the points appear in the
+margins (when one of the option \texttt{pointsonleft},
+\texttt{pointsonright}, or \texttt{pointsonboth} is specified); if the
+\texttt{*} form is specified (\meta{*num}), the point weight appears
+``in-line,'' just after the problem number; thus, typesetting a problem
+with the specification \verb!\begin{problem}[*5]! yields
+\begin{quote}
+\textbf{1.} (5 pts) \dots
+\end{quote}
+This is useful when the problems are put into a two-column format; the
+problems in the right-hand column do not have the margin to hold the
+points, in this case, we place the points ``in-line.''
+
+\newtopic The \texttt{problem} is actually a redefined \texttt{exercise}
+environment, as defined in \textsf{exerquiz}. The second parameter
+is inherited from the \texttt{exercise} environment. The second
+argument can optionally be an \texttt{h} or a \texttt{H}.
+
+Use \texttt{h} if you do not want the solution to appear at the
+end of document (when you do not use the \texttt{nosolutions} or
+the \texttt{solutionsafter} options); the solution, however, will
+appear if the \texttt{solutionafter} option is specified.
+
+For the \texttt{H} argument, the solution will not appear at the
+end of the document (just as in \texttt{h}), nor will it appear if you
+specify the \texttt{solutionsafter} option.
+
+To make things work correctly, if you do not want to have points
+for a question and want to hide the solution, use `\texttt{[]}'
+(empty brackets with no spaces) for the first argument.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[][H]
+($5$ Points Extra Credit) Solve this problem for extra credit.
+\begin{solution}
+This solution will not appear in all cases, unless the second
+parameter is eliminated or is changed to h, in the latter case,
+the solution appears just for \texttt{solutonsafter}.
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\noindent Here, this problem has no points that will be added into
+the total number of points for the test.
+
+The \texttt{solution} environment encloses the solutions. This environment
+is optional. The environment takes one optional parameter, namely the
+vertical space to leave for the student to work the problem. This vertical
+space is \emph{created only} when the document author takes the
+\texttt{nosolutions} option. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[10]
+Do this problem.
+\begin{solution}[2in]
+This is the solution.
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\noindent This defines a $10$ point problem and leaves $2$ inches
+of vertical space following the problem statement for the student
+to respond, provided the \texttt{nosolutions} option has been taken.
+
+Be aware that the solution environment searches for its optional
+parameter, and will expand macros looking for a left bracket (\texttt{[}).
+In documents where the optional parameter is not used; this can lead to
+problems in compiling. For example, if you say,
+\verb!\begin{solution} \textbf{My solution:}...!, the command \cs{textbf}
+will be expanded prematurely and result in `My solution' not appearing in
+bold. Similarly, if you write \verb!\begin{solution} \begin{equation}...!
+can lead to compilation stopping. Suggested workarounds:
+\begin{itemize}
+ \item Supply empty brackets: \verb!\begin{solution}[]!
+ \item Use \cs{relax}: \verb!\begin{solution}\relax\textbf{...}!.
+ The \cs{relax} should not be on the line by itself.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{solution}\relax % Not this
+\textbf{...}
+...
+\end{Verbatim}
+The above causes an unwanted newline. The next two examples show the
+``correct'' method.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{solution}\relax\textbf{...} % correct
+...
+\end{Verbatim}
+\noexpand The \cs{relax} appearing on the second line.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{solution}
+\relax\textbf{...} % correct
+...
+\end{Verbatim}
+\end{itemize}
+If you have no need for the vertical space in your document and putting in
+these workarounds is too much trouble, you can use a global solution. Use
+\cs{noSolnOpt} to globally turn off the check for the option parameter by
+the \texttt{solution} environment; \cs{ckSolnOpt} turns on parameter
+checking (the default). To summarize:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\ckSolnOpt % turn on checking for the optional argument (the default)
+\noSolnOpt % turn off checking for the optional argument
+\end{Verbatim}
+Place either of these two commands between problems to turn off (or back on) the
+parameter checking.
+
+\redpoint See \Nameref{eqoptions} for more details on
+the two options \texttt{nosolutions} and \texttt{solutionsafter}.
+
+\subsubsection{\texttt{problem*}}\label{problemstar}
+
+This environment is used when you want to ask a multi-part
+question, a series of related questions that are to be treated as
+a group.
+
+The syntax is
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont,
+ commandchars=!()]
+\begin{problem*}[!meta(num)|!anglemeta(num)ea|\auto|empty][\Do!anglemeta(do_num)]
+Do each of the following problems, and be quick about it.
+\begin{parts}
+
+\item[h|H] The first question.
+\begin{solution}[1.5in]
+This is the solution to the first problem.
+\end{solution}
+
+\item[h|H] The second question.
+\begin{solution}[3in]
+This is the solution to the second problem.
+\end{solution}
+
+\end{parts}
+\end{problem*}
+\end{Verbatim}
+The \texttt{problem*} environment takes two optional parameters,
+the first one takes one of four values:
+\begin{aebDescript}
+ \item[\meta{num}] When the value of the first parameter is
+ a number, this represents the total number of points for this
+ multi-part question. Here, the instructor does not specify the
+ weight of each part.
+
+ \item[\meta{*num}] The points appear ``in-line'' rather than
+ in the margin.
+
+ \item[\anglemeta{num}\texttt{ea}] When you specify a number followed by
+ `\texttt{ea}' (which is short for \underbar{ea}ch). Thus,
+ `\texttt{[5ea]}' signifies that each part of this problem has
+ weight of $5$ points.
+
+ \item[\texttt{*\anglemeta{num}ea}] The points appear ``in-line'' rather than
+ in the margin.
+
+ \item[\cs{auto}] If the value of the first parameter is
+ \cs{auto}, then the total number of points is calculated
+ automatically from the points defined by the \cs{PTs} macro.
+ The \cs{PTs} would be placed following \cs{item} of each part
+ that is to be given points. For example:
+
+ \item[*\cs{auto}] The points appear ``in-line'' rather than
+ in the margin.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[\auto]
+Do each of the following problems, and be quick about it.
+\begin{parts}
+
+\item\PTs{3} The first question.
+\begin{solution}[1.5in]
+This is the solution to the first problem.
+\end{solution}
+
+\item\PTs{4} The second question.
+\begin{solution}[3in]
+This is the solution to the second problem.
+\end{solution}
+
+\end{parts}
+\end{problem*}
+\end{Verbatim}
+This defines a $7$ point problem.
+
+\item[\texttt{empty}] You need not specify any points at all. In
+this case do not include this first parameter, in which case, the
+second parameter is not used, so don't include it either.
+
+\end{aebDescript}
+
+\noindent Now for a description of the second parameter the
+\texttt{[\cs{Do}\anglemeta{do\_num}]} parameter. In my senior- or graduate-level
+classes, I sometimes ask a questions with multiple parts. As part
+of the instructions for that problem I write, ``Do exactly three
+of the following five problems.'' These questions are usually
+proof-type problems, and they can choose their best three to
+grade. In this context, all parts of the problem must be of the same
+weight; the weight of each is \anglemeta{num} of the \texttt{[\anglemeta{num}ea]}.
+
+This is what \texttt{[\cs{Do}\anglemeta{do\_num}]} does. When you specify
+\texttt{\cs{Do}3}, then only the points of $3$ of the problems are
+added into the exam total. This second parameter is only checked
+if the first parameter is \texttt{[\anglemeta{num}ea]}. For example,
+specifying
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[5ea][\Do3]
+\end{Verbatim}
+creates a $15$ point question. This assumes there are $3$ or
+more parts to this question.
+
+By the way, there are two macros that are defined when the \cs{Do}
+is used, they are \cs{DoNum} and \cs{OutOfNum}; these expand to
+the (English) word for the number of problems to do, and the
+(English) word for the total number of problems. For example, if
+there were five parts to the problem below,\dots
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[5ea][\Do3]
+Solve exactly \textit{\DoNum} of the following {\OutOfNum}
+problems. ....
+\end{problem*}
+\end{Verbatim}
+\noindent The instructions would read, ``Solve exactly
+\textit{three} of the following five problems.'' These macros can
+be easily redefined to reflect other languages. The numbers
+themselves are contained in the two macros \cs{nDoNum} and
+\cs{nOutOfNum}.
+
+\redpoint \texttt{parts} and \cs{item}: For a multi-part problem
+(\texttt{problem*}), the actual problems are enclosed in a
+\texttt{parts} environment, and each question is posed as an
+\cs{item} of that \texttt{list} environment. The command \cs{item}
+takes the \texttt{[h|H]} optional argument. As in the case of the
+\texttt{problem} environment, \texttt{h} prevents the solution
+from appearing at the end of the document (but it appears with
+\texttt{solutionsafter}), and \texttt{H} removes the solution in
+all cases.
+
+\paragraph{\texorpdfstring{\cs{leadinitem}}{\CMD{leadinitem}}}
+When using the \texttt{problem*} environment, there is an introductory sentence
+that sets up the multi-part problem set. For various reasons, some authors
+have asked to be able to pose multi-part questions without the
+introductory sentence. This is harder request than it sounds, but now
+there is the \cs{leadinitem} command. Study the code below.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[\auto]
+\leadinitem\PTs{3} The first question.
+\begin{solution}[1.5in]
+This is the solution to the first problem.
+\end{solution}
+
+\begin{parts}
+\item\PTs{4} The second question.
+\begin{solution}[3in]
+This is the solution to the second problem.
+\end{solution}
+...
+\end{parts}
+\end{problem*}
+\end{Verbatim}
+There is no introductory sentence. The problem starts off with
+\texttt{\cs{leadinitem}\cs{PTs\{3\}} The first question}; this problem
+is stated outside of the \texttt{parts} environment. The rest of the parts
+to this problem are listed, as usual, from within the \texttt{parts} environment.
+Only one \cs{leadinitem} is allowed per \texttt{problem*} environment.
+
+\newtopic The results of this code is viewed as follows, when typeset.
+
+\bigskip
+\noindent\hfill\begin{minipage}{\linewidth-2\leftmargini}
+\noindent\llap{($10^{\text{pts}}$)\quad}\textbf{1.}\ (a)\ The first question.\\[3pt]
+\phantom{\textbf{1.}\ }(b)\ The second question.\\[3pt]
+\phantom{\textbf{1.}\ }\dots
+\end{minipage}
+\bigskip
+
+The general syntax for \cs{leadinitem} is the same as that of the \cs{item} command within the
+\texttt{parts} environment; \verb!\leadinitem[h|H]!, \texttt{h} prevents the solution
+from appearing at the end of the document (but it appears with
+\texttt{solutionsafter} or with \texttt{answerkey}), and \texttt{H} removes the solution in
+all cases.
+
+\subsubsection{Page Breaking}
+
+The \texttt{exam}, \texttt{problem} and \texttt{problem*}
+environments use a (simple) page breaking algorithm to move a
+problem (or the beginning of an exam) to the next page.
+
+If an \texttt{exam} environment begins at the lower third of the
+page, it is moved to the next page. You can influence this page
+break by using \cs{fvsizeskip} just before the beginning of the
+\texttt{exam} environment, like so,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\fvsizeskip{.4}
+\end{Verbatim}
+\noindent \cs{fvsizeskip} takes a decimal number between $0$ and
+$1$. In the example above, the environment will move to a new page
+if it begins in the lower \texttt{.4\cs{textheight}} of the page. The
+default value is $.3$.
+
+There is a similar algorithm for \texttt{problem} and
+\texttt{problem} but is measured as a multiple of
+\cs{baselineskip}. If you place
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\nbaselineskip{8}
+\end{Verbatim}
+\noindent just before a problem that appears near the bottom of
+the page, then it will be moved to the next page if it is within
+\texttt{8\cs{baselineskip}} of the bottom. The default for this
+command is $6$.
+
+\medskip\noindent
+The following are strategies for fitting the maximum
+number of questions on the minimum number of pages.
+\begin{enumerate}
+ \item \textbf{Moving: }Rearrange the order of the questions,
+ if a problem can't fit entirely on a page, you can
+ exchange or move a shorter problem to that place, and move the longer
+ problem to another page.
+
+ \item \textbf{Tweaking: }Modify the space defined by the
+ \texttt{solutions} environment to fit a problem on the page that
+ is below it.
+
+ \item \textbf{Placing work on back: }Using the
+ \hyperref[onbackofpage]{\cs{OnBackOfPage}} command,
+ page~\pageref{onbackofpage}, you can direct the student to
+ answer the question on the back of another page, and thus,
+ little space is needed to follow that
+ question.
+
+ \item \textbf{Working on separate sheets: }Of course, for some
+ types of exams, the exam just contains the questions, and the
+ students answer the questions on separate sheets of paper. For
+ this, you can use the \texttt{nospacetowork} option.
+\end{enumerate}
+
+
+\subsection{Fill-in Questions}
+
+In this section we cover the various fill-in constructs.
+
+\subsubsection{Short Fill-in Questions}
+For a question requiring one or more short fill-in responses,
+\textsf{eqexam} has the \cs{fillin} command, the syntax is
+\settowidth{\aebdimen}{\ttfamily\string\fillin[u|b]\darg{\meta{width}}\darg{\meta{answer}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\fillin[u|b]{!meta(width)}{!meta(answer)}
+\end{dCmd}
+The first optional parameter determines whether the fill-in is
+underlined `\texttt{[u]}' or not `\texttt{[b]}', the default it to
+underline the fill-in. The second is the amount of horizontal
+space you want to leave for the student to write in the response.
+The third argument is the correct answer. This correct answer
+will appear when you compile the document with the
+\texttt{answerkey} option.
+
+\redpoint An example of \cs{fillin}.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[5]
+It is well known that \fillin{1in}{Newton} and \fillin{1in}{Leibniz}
+are jointly credited as the founders of modern calculus.
+\begin{solution}
+It is well known that \underbar{Newton} and \underbar{Leibniz}
+are jointly credited as the founders of modern calculus.
+\end{solution}
+\end{problem}
+\end{Verbatim}
+
+\redpoint When you choose the \texttt{online} or \texttt{email}
+option, \cs{fillin} generates a text field.
+
+When the \texttt{usexkv} option, and if the \textsf{xkeyval} package is available on the
+system, \textsf{eqexam} extends the capability and control of \cs{fillin}.
+See \begin{NoHyper}\Nameref{extendfillin}\end{NoHyper}.
+
+\subsubsection{True/False Questions}
+
+True and false questions are, of course, just a special case of
+fill-in. A special command is available for true/false:
+\settowidth{\aebdimen}{\ttfamily\string\TF[\meta{width}]\darg{\meta{answer}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\TF[!meta(width)]{!meta(answer)}
+\end{dCmd}
+\indent The required parameter, \meta{answer}, is the correct answer (e.g.,
+`T' or `F'). The macro creates an underlined blank space the width of which
+is \meta{wide}. When the \meta{width} is \emph{not specified},
+\cs{defaultTFwidth} (default \texttt{30pt}) is used (and this value can be redefined).
+
+The \cs{TF} command behaves differently from the generic
+\cs{fillin} command. Suppose you want to create a multi-part question
+(using \texttt{problem*}) consisting entirely of true/false
+questions. When an \cs{item} leads off with the \cs{TF} there are two possible
+formatting options: This one:
+
+\begingroup\parskip6pt\parindent30pt
+
+\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces}%
+\parbox{4in}{\noindent
+ \Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of
+ the founders of Calculus.}
+
+\medskip\noindent or this one:\medskip
+
+
+\def\Item#1{\par\hangindent\parindent\indent\llap{#1\enspace}\ignorespaces}
+\leavevmode\parbox{4in}{\Item{(a)}\underbar{\hspace{30pt}} Isaac Newton is considered to be one of
+ the founders of \hspace*{30pt} Calculus.}
+
+\endgroup
+
+\newtopic The first alignment is the default. To get the second
+alignment, you need to set the value of \cs{fillinWidth} to the
+common width value of the \cs{TF} fields. For example:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\fillinWidth\defaultTFwidth
+\end{Verbatim}
+\noindent When \cs{fillinWidth} is set to a positive length (the
+common width of the \cs{TF} field), the second alignment above is
+created.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[3ea]
+\textit{True} or \textit{False}.
+
+\fillinWidth\defaultTFwidth
+
+\begin{parts}
+
+ \item \TF{T} It is well known that Isaac Newton and
+ Gottfried Leibniz are jointly credited as the founders
+ of modern calculus.
+ ...
+ \item ...
+ ...
+\end{parts}
+\end{problem*}
+\end{Verbatim}
+
+\redpoint \textbf{Important:} The example above demonstrates the
+correct placement of \cs{fillinWidth}, just outside the
+\texttt{parts} environment, before it has the time to set up
+the paragraph shape of the environment.
+
+The change is only local to that \texttt{parts} environment.
+The \cs{fillinWidth} command goes outside a \texttt{parts}
+environment, and can cause strange results if executed within a
+\texttt{parts} environment. Setting it to a \meta{width} value
+other than the common width of the \cs{TF} fields will also create
+bad formatting.
+
+\redpoint Just use \cs{fillinWidth} as illustrated in the above
+example.
+
+\redpoint When you choose the \texttt{online} or \texttt{email}
+option, \cs{TF} generates a text field.
+
+\subsubsection{Long Fill-in Questions}
+
+There is no special command for a longer response question, just
+leave enough vertical white space for the student to respond, for
+example,
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[5]
+Do this problem
+\begin{solution}[1.5in]
+That's how you do it!
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\noindent The above example leaves $1.5$ inches of vertical space to do the
+work.
+
+\redpoint When you choose the \texttt{online} or \texttt{email}
+option, this vertical space is changed into a multi-line text
+field.
+
+\subsection{Multiple Choice}\label{multichoice}
+
+For multiple choice questions, we use the \texttt{answers}
+environment. If the \texttt{online} or \texttt{email} option is
+taken, the choices are made into radio button fields so that
+\emph{only one alternative} can be chosen. When multiple selections
+are permitted, the \texttt{manswers} environment can be used, see
+\Nameref{multiSelect}.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[\auto] Answer each of the following.
+\begin{parts} %\sqLinks
+ \item\PTs{5} In what year did Columbus sail the ocean blue?
+ \begin{answers}{4}
+ \Ans0 1490 &\Ans0 1491\\
+ \Ans1 1492 &\Ans0 1493
+ \end{answers}
+ \item\PTs{6} In what year did Columbus sail the ocean blue?
+ \begin{answers}{1}
+ \Ans0 1490
+ \Ans0 1491
+ \Ans1 1492
+ \Ans0 1493
+ \end{answers}
+\end{parts}
+\end{problem*}
+\end{Verbatim}
+\noindent \textbf{Note:} No solutions are given for this problem.
+
+\redpoint Because the labels and values of the alternatives are
+based on the alphabet, the number of alternatives is restricted to
+twenty-six.
+
+The \texttt{answers} environment is borrowed from \texttt{exerquiz} and
+operates the same way. The one required argument is the number of columns
+to be used in displaying the alternative answers. If the number of columns
+is $1$, a \texttt{list} environment is used, otherwise a \texttt{tabular}
+environment is used.
+
+In the first item in the example above, we specify $6$ columns,
+and must use tabular notation (separate columns with
+`\texttt{\&}') and end rows with `\verb+\\+'. The second item in
+the example above uses $1$ column, the tabular notation is not
+needed, or used.
+
+The \cs{Ans} macro is used to designate which alternative is the
+correct answer ($1$ for correct, $0$ for not correct).
+
+\subsubsection{Using \texorpdfstring{\cs{bChoices}/\cs{eChoices}}
+{\CMD{bChoices}/\CMD{eChoices}}}
+Beginning with Version 1.3, an alternate style of specifying the
+alternatives is defined. A new pair of commands are defined: \cs{bChoices}
+and \cs{eChoices}. These two enclose the alternatives like so:
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{exam}{Exam1}
+\begin{instructions}
+Select the ``best'' answer and darken the corresponding oval on
+your scantron sheet.
+\end{instructions}
+\begin{problem}[5] In what year did Columbus sail the ocean blue?
+ \begin{answers}{3}
+ \bChoices
+ \Ans0 1490\eAns
+ \Ans0 1491\eAns
+ \Ans1 1492\eAns
+ \Ans0 1493\eAns
+ \eChoices
+ \end{answers}
+\end{problem}
+\begin{problem}[5] In what year did Columbus sail the ocean blue?
+ \begin{answers}{1}
+ \bChoices
+ \Ans0 1490\eAns
+ \Ans0 1491\eAns
+ \Ans1 1492\eAns
+ \Ans0 1493\eAns
+ \eChoices
+ \end{answers}
+\end{problem}
+\end{exam}
+\end{Verbatim}
+\noindent Notice that the set of alternatives are the same, and
+are specified in exactly the same way; the first question,
+however, is a tabular environment with $6$ columns (the argument
+of $6$ of the \texttt{answers} environment), the second question
+is a list environment (since the argument \texttt{answers}
+environment is $1$). Notice also that `\texttt{\&}' and
+`\verb!\\!' are not used, and that each alternative is terminated
+by \cs{eAns}.
+
+The \cs{bChoices} and \cs{eChoices} are creatures of the \textsf{exerquiz}
+package, and are fully documented in the reference for the
+\ulSetLink{http://www.math.uakron.edu/~dpstory/acrotex/aeb_man.pdf}{\cAcroB}.
+
+
+\subsubsection{\texorpdfstring{\cs{sqForms} versus \cs{sqLinks}}
+{\CMD{sqForms} versus \CMD{sqLinks}}}
+
+There are two styles of multiple choice: (1) enumerate the
+alternatives using letters; (2) enumerate the alternatives using
+boxes (that the student would check or fill-in). The default is (1),
+but you can change the default to (2) by using the \texttt{useforms}
+option. This styles can be locally changed by specifying the
+\cs{sqLinks} or \cs{sqForms} commands. In the above example, the
+\cs{sqLinks} command is commented out, but shows the correct
+position for it to change to style (1), which I am calling
+``links''. Within a multi-part, multiple choice set of questions,
+you can change one item to ``links'' and the next to ``forms.''
+Changes are local as long as you place the commands, \cs{sqLinks} or
+\cs{sqForms} within an environment (\texttt{parts},
+\texttt{problem}, or \texttt{problem*}).
+
+\subsubsection{Using Circles for Multiple Choice}\label{allowcirc4mc}
+
+Then the package option \texttt{allowcirc4mc} is used, the font standard
+{\LaTeX} font \texttt{lcircle10} is loaded at which point \textsf{eqexam}
+can use it to create circles, instead of rectangles, to indicate the parts
+in a multiple choice (MC) question. To use circles in a multiple choice
+question, execute the command,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\useCircForMC
+\end{Verbatim}
+prior to the MC question.
+
+\goodbreak
+
+To return to the use of rectangles, execute the command,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\useRectForMC
+\end{Verbatim}
+prior to the MC question.
+
+Both commands have a local context. If expanded inside a group, the
+definition going into the group will hold on exit from the group.
+
+\subsubsection{Using \texorpdfstring{\cs{proofingsymbol}}{\CMD{proofingsymbol}}
+and friends}
+
+By default, a check mark (\ding{52}) is used to indicate which of the
+alternatives in a MC problem is correct; however, there are other
+``proofing symbols'' that can be used. Below are two additional suggested
+proofing symbols.
+
+\makeatletter
+\font\eqe@lcir=lcircle10 at 10pt
+\bgroup
+\setbox0=\hbox{\eqe@lcir h}
+\xdef\eqe@cirDiam{\the\wd0}
+\@tempdima=.5\wd0
+\xdef\eqe@cirRadius{\the\@tempdima}
+\egroup
+\def\circGlyph#1#2{\hbox{\smash{\raisebox{\eqe@cirRadius}%
+ {\makebox[\eqe@cirDiam]{\llap{\rlap{\eqe@lcir#1}%
+ \hskip#2\relax}}}}}}
+\makeatother
+
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\useCheckForProof (!normalfont Check !ding(52), the default)
+\useCrossForProof (!normalfont Cross !ding(56), alternative to check)
+\useCircForProof (!normalfont Circle !circGlyph(x)(1pt), appropriate with )\useCircForMC
+\end{Verbatim}
+All of these user friendly commands are based on the \cs{proofingsymbol}
+command. For example, the definitions of \cs{useCheckForProof} and
+\cs{useCrossForProof} are,
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\newcommand{\useCheckForProof}{\symbolchoice{check}%
+ \proofingsymbol{\ding{52}}}
+\newcommand{\useCrossForProof}{\symbolchoice{cross}%
+ \proofingsymbol{\raisebox{-1pt}
+ {\rlap{\kern-1pt\Large\ding{56}}}}}
+\end{Verbatim}
+Both definitions use the \textsf{pifont} package to create the symbols.
+Note that some adjustment of size and position is used for the cross
+symbol.
+
+The command \cs{symbolchoice} is defined in the \textsf{eforms} package
+and does nothing in \textsf{eqexam} unless either \texttt{online} or
+\texttt{email} options are taken. From the \textsf{eforms} manual,
+possible values for \cs{symbolchoice} are \texttt{check}, \texttt{circle},
+\texttt{cross}, \texttt{square}, \texttt{diamond}, and \texttt{star}. The
+\cs{proofingsymbol} command is for marking the multiple choices when
+either the \texttt{answerkey} or \texttt{vspace\-with\-solns} option is
+taken. The choice of \cs{proofingsymbol} is `{\LaTeX}ed' into the
+document. The \cs{proofingsymbol} may be used to create other proofing
+symbols, as desired.
+
+\newtopic\textbf{Summary.} Currently, there only two geometric shapes used
+for multiple choice, rectangles (the default) and circles. To Shift
+between these two types, use \cs{useRectForMC} and \cs{useCircForMC},
+respectively. Accompanying the choice for geometric shape for MC is the
+symbol used to make the choice/correct answer. When the \texttt{answerkey} or
+\texttt{vspace\-with\-solns} option is used, the correct answer is marked
+using a symbol, current choices are \cs{useCheckForProof},
+\cs{useCrossForProof} and \cs{useCircForProof} (used with
+\cs{useCircForMC}).
+
+When the \texttt{vspace\-with\-solns} is used, solutions are written to
+the back of the document and markup up as they are with the
+\texttt{answerkey} option. To get the answers in the solutions section to
+have the same choices, you must write to the solutions file using
+\cs{writeToSolnFile}. Below is an example.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\useCircForMC\useCircForProof
+\writeToSolnFile{\protect\useCircForMC\protect\useCircForProof}
+\begin{problem}[5] In what year did Columbus sail the ocean blue?
+ \begin{answers}{3}
+ \bChoices
+ \Ans0 1490\eAns
+ \Ans0 1491\eAns
+ \Ans1 1492\eAns
+ \Ans0 1493\eAns
+ \eChoices
+ \end{answers}
+\end{problem}
+\end{Verbatim}
+Any multiple choice question that follows will also draw circles for
+multiple choice questions, and mark them with a filled circle.
+To shift back to the default, expand the following commands prior the next
+question.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\useRectForMC\useCheckForProof
+\writeToSolnFile{\protect\useRectForMC\protect\useCheckForProof}
+...
+\end{Verbatim}
+
+\subsection{Multiple Selection}\label{multiSelect}
+
+When writing a multiple choice question for which more than one
+alternative is permitted, use the \texttt{manswers} environment
+(\underbar multiple \underbar{answers}). The distinction between the
+\texttt{answers} and \texttt{manswers} environments is lost when
+publishing to paper, but becomes important with the \texttt{online}
+and \texttt{email} options.
+
+Use the \texttt{manswers} environment in the same way you use
+\texttt{answers}, except code in more than one correct answer. For
+example,
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[5]
+Which of the following are primary colors?
+\begin{manswers}{6} % specify tabular with 6 columns
+ \bChoices
+ \Ans1 Blue\eAns
+ \Ans0 Green\eAns
+ \Ans1 Yellow\eAns
+ \Ans0 Orange\eAns
+ \Ans1 Red\eAns
+ \eChoices
+\end{manswers}
+\begin{solution}
+Yes, red, blue and yellow are primary colors.
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\noindent You can use the \cs{bChoices}/\cs{eChoices} pair to specify the
+alternatives, or you can use the standard tabular notation. As with the
+\texttt{answers} environment an argument of \texttt1 specifies a list
+environment. See \Nameref{multichoice} for more examples on the use of the
+\cs{bChoices}/\cs{eChoices} pair.
+
+\subsection{Randomizing Choices}\label{s:random}
+
+Beginning with version~1.7 of \textsf{eqexam}, the choices of a
+multiple choice/selection question can be randomized. The \texttt{random.tex}
+macro file by Donald Arseneau is used for this purpose.
+
+\newtopic The randomization is only allowed if the \texttt{allowrandomize}
+option of \textsf{eqexam} is used; otherwise, no randomization
+can occur.
+
+The randomization is only defined for choices listed between the
+pair \cs{bChoices} and \cs{eChoices}. The
+\cs{bChoices} command now takes two optional key-value arguments:
+\begin{itemize}
+ \item \texttt{nCols=\anglemeta{num}}: The number of columns to create, as described.
+ You can also use the old style by specifying just
+ \anglemeta{num}. Thus, \cs{bChoices[nCols=2]} and \cs{bChoices[2]}
+ are equivalent.
+ \item \texttt{random=\anglemeta{\upshape true|false}}: Specify this option if you want the choices
+ to be randomized. You can use the key word \texttt{random} instead of
+ \texttt{random=true}. For example, the following commands all will randomize the
+ choices, \cs{bChoices[random]} or \cs{bChoices[nCols=2,random]} or
+ \cs{bChoices[2,random=true]}. The default is to not randomize the
+ choices.
+\end{itemize}
+
+\newtopic The following is an example of the \texttt{random} option of \cs{bChoices}.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[5]
+Try to guess the correct answer.
+ \begin{answers}{3}
+ \bChoices[nCols=2,random]
+ \Ans0 1 a choice\eAns
+ \Ans1\label{eq} 2 another choice\eAns
+ \Ans0 3 still another choice\eAns
+ \Ans0 4 another\eAns
+ \Ans0 5 incoming\eAns
+ \Ans0 6 more choices\eAns
+ \Ans0 7 another still\eAns
+ \Ans0 8 too many\eAns
+ \Ans0 9 choices\eAns
+ \eFreeze
+ \Ans0 10 None of these\eAns
+ \eChoices
+ \end{answers}
+\end{problem}
+\end{Verbatim}
+
+\newtopic Note the presence of the command \cs{eFreeze}. Any of
+the items listed after \cs{eFreeze} are not randomized, and are
+placed at the end of the list. So, for the example above, the first
+nine items will be randomized, whereas, the last item (None of
+these) will placed at the end of the list.
+
+\newtopic Additionally, there are five other commands that support the
+randomization feature.
+
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\saveRandomSeed
+\inputRandomSeed
+\end{Verbatim}
+
+\newtopic A pseudo-random sequence of numbers requires an initial seed
+value. The \texttt{random.tex} macro file creates, by default, a
+seed value based on the data and time (the number of minutes since
+midnight); consequently, after every minute, the random sequence
+will change. By setting the value of the count register \cs{randomi}, as in
+\texttt{\string\randomi=24},
+the document author can also set the initial seed of the pseudo-random
+sequence.
+
+The command \cs{saveRandomSeed} will write the last seed used in the
+source file to an auxiliary file (\cs{jobname\_ran.sav}), while the
+command \cs{inputRandomSeed} inputs the seed stored in the
+\cs{jobname\_ran.sav} back into the beginning of the source file.
+These two commands should be placed in the preamble.
+
+By invoking both of these commands, a new pseudo-random sequence will be generated
+each time the source file is latexed.
+
+Assuming a \cs{jobname\_ran.sav} has already been created, by
+invoking the command \cs{inputRandomSeed} only (and not
+\cs{saveRandomSeed}), the seed already saved will be used for every
+subsequent compiling of the source document. Using the same seed is
+necessary in two situations:
+\begin{enumerate}
+ \item When the document contains one or more \cs{label} commands, using the same
+ seed gives you the same sequence every time you latex the document. This will
+ give the auxiliary files a chance to come up to date so that any referencing of the label
+ will be accurate.
+
+ \item When creating an exam with randomization that has several
+ versions, which later you publish the solutions to, it is
+ important that the randomization for the document is the same as
+ that for the solution document. By using \cs{inputRandomSeed} (and
+ not \cs{saveRandomSeed}), you should get the same sequence for the
+ solution document (unless you modify the source file, adding or
+ removing questions that have randomization).
+\end{enumerate}
+
+\newtopic\textbf{Things to look for:} If \textsf{eqexam} is not rearranging the order
+of the choices as you expect it to, it could be that
+\textsf{eqexam} is reading an old \texttt{.sav} file. Either delete that file
+in your source folder, or comment out \cs{inputRandomSeed} in your document.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\useRandomSeed{!meta(num)}
+\end{Verbatim}
+
+You may have several sections of the same class take the exam with the
+questions rearranged for each. Save the seed value used by
+\textsf{eqexam} to randomize the choices (open the \texttt{.sav}
+and copy and paste line you see into your document, for example, it
+could read \cs{randomi=132088850}. Then use \cs{useRandomSeed} to
+use that seed value for that class, for example
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\useRandomSeed{132088850} % 11:00 class
+% \useRandomSeed{634952429} % 12:30 class
+\end{Verbatim}
+Of course comment out \cs{inputRandomSeed}.
+
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\turnOnRandomize
+\obeyLocalRandomize
+\end{Verbatim}
+
+The command \cs{turnOnRandomize} overrides all local settings of \cs{bChoices}
+and causes all choice lists to be randomized. While \cs{obeyLocalRandomize}
+returns control to the local settings. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\turnOnRandomize
+...
+\bChoices
+ \Ans...\eAns
+ \Ans...\eAns
+ ...
+\eChoices
+\end{Verbatim}
+will cause the choice list to be randomized, even though the
+\texttt{random} option was not specified. Whereas, in this code
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\turnOnRandomize
+...
+\obeyLocalRandomize
+,,,
+\bChoices
+ \Ans...\eAns
+ \Ans...\eAns
+ ...
+\eChoices
+\end{Verbatim}
+the choices will not be randomized, because the \texttt{random}
+option was not specified; or they will be randomized if the
+\texttt{random} option is used.
+
+\newtopic\textcolor{red}{Limitations:} There are natural limitations on the use
+of \cs{bChoices} and \cs{eChoices} and consequently, there are
+limitations on the randomization. The content between \cs{Ans} and
+\cs{eAns} cannot have any verbatim text. This is usually not a
+problem for mathematical content, but could be a limitation for
+computer science where questions about syntax may be posed. I have
+in mind a work-around, but haven't pursued the problem as of yet.
+
+\subsection{Labeling Choices}
+
+The \cs{bChoices} command has a \texttt{label} key,
+\verb~\bChoices[label=~\texttt{\anglemeta{label}]}, used to specify a (unique) label for the
+current set of choices. When a label is specified, \textsf{eqexam} creates
+commands that save the label of each correct answers (for multiple
+choice/multiple selection problems), and saves the answer text for each
+correct answer. These can be read back into the document using some
+user-interface commands: \cs{useSavedAlts}, \cs{useSavedAns},
+\cs{useSavedAltsAns}, and \cs{useSavedNumAns}.
+
+%\handpoint The demo file for this feature is named \texttt{test03.tex}.\medskip
+
+\exAeBBlogPDF{p=1206} The demo file for this feature is named
+\texttt{test03.tex}, download
+\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}} from the {\AcroBlog}
+website. The source file is attached to the PDF.
+
+
+\settowidth{\aebdimen}{\ttfamily\string\useSavedAltsAns[\meta{num}]\darg{\meta{label}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\useSavedAlts[!meta(num)]{!meta(label)}
+\useSavedAns[!meta(num)]{!meta(label)}
+\useSavedAltsAns[!meta(num)]{!meta(label)}
+\useSavedNumAns{!meta(label)}
+\end{dCmd}
+\noindent The optional argument is useful \emph{only if} the \cs{bChoices} appears in a
+\texttt{manswers} environment where there are more than one selectable answer. The required
+parameter is the value of the \texttt{label} key.
+\begin{description}\def\NH{\hspace{-\labelsep}}
+ \item\NH\cs{useSavedAlts\darg{\meta{label}}} expands to the
+ \meta{label} of the correct answer(s). For example
+ \cs{useSavedAlts\darg{\meta{label}}} might expand to (c); if there
+ are multiple answers, it might expand to (a), (c), a
+ comma-delimited list of labels of the (correct) answers. For
+ multiple selection, \cs{useSavedAlts[2]\darg{\meta{label}}} might
+ expand to (c), the label of the second correct answer.
+
+ \item\NH\cs{useSavedAns\darg{\meta{label}}} expands to the \emph{text}
+ of the correct answer(s). As an example,
+ \cs{useSavedAns\darg{\meta{label}}} might expand to $ y = x^3 $; if
+ there are multiple answers, it might expand to $ y = x^3 $, $ y =
+ -x^3 $, a comma-delimited list of the text of the (correct)
+ answers. For multiple selection,
+ \cs{useSavedAns[2]\darg{\meta{label}}} might expand to $ y = -x^3
+ $, the text of the second correct answer.
+
+ \item\NH\cs{useSavedAltsAns\darg{\meta{label}}} combines the two
+ previous commands. Again, for example,
+ \cs{useSavedAltsAns\darg{\meta{label}}} might expand to (c) $ y =
+ x^3 $. When there are multiple answers, it expands to a comma
+ delimited of labels and text. As with the other two commands, the
+ optional argument can be used to pick off a particular choice.
+ \item \NH\cs{useSavedNumAns\darg{\meta{label}}} is the number of
+ correct answers in the current list of choices.
+\end{description}
+
+\subsection{Gizmos and Gadgets}
+
+I have a couple of crazy gizmos that you can use.
+
+\subsubsection{The \texttt{workarea} Environment}
+
+For a mathematics test, we often pose
+a question that needs to be worked out. Vertical space is created
+by the \texttt{solutions} environment, and appears when the
+\texttt{nosolutions} or \texttt{vspacewithsolns} option is used; however, often we want to
+mark up this vertical space with additional instructions, a
+diagram or a figure. The problem is how can the author write over
+the provided white space. For this, \textsf{eqexam} provides the
+\texttt{workarea} environment. The syntax is:
+%\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\settowidth{\aebdimen}{\ttfamily\anglemeta{Material that will overwrite the solutions vertical space}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\begin{workarea}[!meta(width)]{!meta(depth)}
+...
+!anglemeta(Material that will overwrite the solutions vertical space)
+...
+\end{workarea}
+\end{dCmd}
+This environment is placed immediately \emph{after} the \texttt{solutions}
+environment, and the value of its parameter should be the same as the
+optional parameter at the beginning the \texttt{solutions} environment
+(\cs{begin\darg{solutions}[\meta{depth}]}). The optional \meta{width}
+parameter is the width of the work area, which is \cs{linewidth} by default.
+The required \meta{depth} parameter is the depth of the work area and it
+should match the optional parameter of the \texttt{solutions} environment,
+directly above it.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[3]
+This is a question.
+
+\begin{solution}[2in]
+This is the solution, let's hope it's correct, or I would be
+embarrassed to no end.
+\end{solution}
+
+\begin{workarea}{2in}
+\textit{Hint}: Think long and hard before answering.
+\par\vfill\hfill\setlength{\fboxsep}{2mm}
+\fbox{Answer:\fillin[n]{1in}{The correct answer.}}
+\end{workarea}
+\end{problem}
+\end{Verbatim}
+\noindent When the \texttt{nosolutions} option is taken, the
+\texttt{solutions} leaves $2$~inches of white space. The
+\texttt{workarea} environment that follows also specifies
+$2$~inches, and the content of this environment will overlap the
+white space. (The student would then work around the written
+material.) Here, we give a hint, and leave an answer box (a
+fill-in) for the student to insert his/her answer.
+
+When the \texttt{nosolutions} is not specified, the vertical space
+is not provided, and the \texttt{workarea} does nothing. If
+\texttt{solutionsafter} is specified, that space is replaced by
+the provided solution.
+
+\subsubsection{The \texorpdfstring{\cs{placeAtxy}}{\textbackslash placeAtxy} Command}
+
+The \cs{placeAtxy} command is another device that I've used to
+place a block of text or a graphic on top of the vertical space
+created by the \texttt{solutions} environment when the
+\texttt{nosolutions} or \texttt{vspacewithsolns} option is in effect.
+\settowidth{\aebdimen}{\ttfamily\string\placeAtxy\darg{\meta{x\_dim}}\darg{\meta{y\_dim}}\darg{\meta{content}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\placeAtxy{!meta(x_dim)}{!meta(y_dim)}{!meta(content)}
+\end{dCmd}
+\noindent The first two arguments are the $x$ and $y$ coordinates
+(with dimensions) of where the \meta{content} is to be placed.
+If this command is placed below the \texttt{solutions}
+environment, then the origin is the lower left corner of the
+solutions box.
+
+The following example, places the frame box \framebox{Place a
+graph here} (roughly) one inch up and one inch shifted to the
+right, measured from the bottom left corner of the \texttt{solutions}
+environment (when the \texttt{nosolutions} option is in effect).
+As with \texttt{workarea}, \cs{placeAtxy} does nothing if the
+\texttt{nosolutions} option has not been taken.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[3]
+This is a question.
+\begin{solution}[2in]
+This is the solution, let's hope it's correct, or I would be
+embarrassed to no end.
+\end{solution}
+\placeAtxy{1in}{1in}{\framebox{Place a graph here}}
+\end{problem}
+\end{Verbatim}
+\noindent The \cs{placeAtxy} command can also be used in
+combination with the \texttt{workarea} environment.
+
+%
+% Fixed with version 1.3. 02/07/05
+%
+% \redpoint With this release of \textsf{eqexam}, the
+% \texttt{splitsolution} environment does not obey the `\texttt{h}'
+% or `\texttt{H}' options. These options were discussed in section
+% on the \hyperref[problem]{\texttt{problem} environment}, on
+% page~\hyperref[problem]{\pageref*{problem}}.
+
+\subsubsection{The \texttt{splitsolution} Environment}
+
+I developed this environment to solve a problem with the
+\texttt{online} and \texttt{email} options. The white space
+created by the \texttt{solution} environment is converted into
+text fields (\PDF{} form fields). If the \texttt{workarea}
+environment or the \cs{placeAtxy} command is used to place content
+on the white space, the student will be in the position of having
+to type on top of this content. (See the demo file
+\texttt{\href{\urlAcroTeXBlog/?p=1198}{test01.pdf}}\marginpar{\mbox{\makebox[0pt][l]{\textcolor{blue}{\Pisymbol{webd}{254}}}\raisebox{-2pt}{\color{red}{{\zqacr
+b\hspace{9.5pt}}}}}} for an illustration of this.)
+
+
+Therefore, it was necessary to have a way to separate the space
+reserved for the text field, and the additional content you might
+want to appear in this white space area. The
+\texttt{splitsolution} environment is my solution to this problem.
+
+As of 2012/12/10, a new syntax has been implemented for the
+\texttt{splitsolution} and \texttt{panel} environments. Below is a
+side-by-side comparison of the new syntax and the old.
+
+\settowidth{\aebdimen}{\small\ttfamily\string\begin\darg{splitsolution}[\meta{width}][\meta{depth}]}
+\newtopic\begin{minipage}{\aebdimen+2\fboxsep+2\fboxrule}
+\begin{Verbatim}[commandchars=!(),fontsize=\small,frame=single]
+(!normalsize!normalfont!bfseries New Syntax)
+\begin{splitsolution}[!meta(width)][!meta(depth)]
+\begin{panel}[l|r]
+...
+\end{panel}
+\begin{solution}
+...
+\end{solution}
+\end{splitsolution}
+\end{Verbatim}
+\end{minipage}\quad
+\begin{minipage}{.45\linewidth}
+\begin{Verbatim}[commandchars=!(),fontsize=\small]
+(!normalsize!normalfont!bfseries Old Syntax)
+\begin{splitsolution}{!meta(depth)}
+\begin{panel}[l|r]{!meta(width)}
+...
+\end{panel}
+\begin{solution}
+...
+\end{solution}
+\end{splitsolution}
+\end{Verbatim}
+\end{minipage}
+\newtopic There has not been any feedback to this feature, so I am confident that
+this change has little impact on users. Both \meta{width} and
+\meta{height} are optional arguments for the new syntax of
+\texttt{splitsolution}. If there are no optional arguments, the default
+values of \cs{panelwidth} and \cs{panelheight}; these are automatically
+measured. If only one optional parameter is given, it is interpreted as
+\meta{height} (and the \meta{width} is taken to be \cs{panelwidth}). The
+default value of the optional parameter for the \texttt{panel} environment
+is now \texttt{r} rather than \texttt{l}.
+
+\redpoint Consider the following example.
+\begin{Verbatim}[numbers=left,xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[7]
+This is a question worth $7$ points.
+\begin{splitsolution}
+\begin{panel}\relax
+\includegraphics[scale=.2]{fig1}
+\end{panel}
+\begin{solution}
+This a really good solution. I hope this solution is correct or I
+will be total embarrassed to no end. Even if it is wrong, maybe
+the students will appreciate my tremendous effort. You can see
+from the figure that the solution is obvious.
+\end{solution}
+\end{splitsolution}
+\end{problem}
+\end{Verbatim}
+Note the use of \cs{relax} in line~(4). The first object in the panel
+environment is a command. To prevent the command from expanding
+prematurely, place a \cs{relax} as above. This will give you the default
+parameter of \texttt{r} and prevent expansion. The use of \cs{relax} is
+only needed when there is a command immediately following the opening of
+the \texttt{panel} environment; otherwise, just \verb!\begin{panel}! should
+work correctly. The optional argument can always be specified,
+\verb!\begin{panel}[r]!; this too would prevent the premature expansion of
+any command that immediately follows.
+
+The \texttt{panel} environment takes its contents and writes it verbatim
+to a \textsf{CUT} file, then inputs it back in (at the end of the \texttt{panel}
+environment), and places its contents in the box \cs{eqpanelbox} where it
+takes it measurements of \cs{panelwidth} and \cs{panelheight} (the total
+height).
+
+The \texttt{splitsolution} environment \emph{must} enclose two
+other environments: The \texttt{panel} and the \texttt{solutions}
+environments, \emph{in that order}.
+
+The \texttt{panel} environment comes first and takes optional argument.
+The optional parameter has takes a value of `\texttt{r}' (the default) or
+`\texttt{l}'. The \texttt{r} (resp., \texttt{l}) option means the panel is
+to appear on the right (resp., left) of the solution (or vertical white
+space).
+
+After the \texttt{panel} environment comes the \texttt{solutions}
+environment. The optional parameter of this environment need not
+be specified, as it gets its value from the \texttt{split\-solution}
+parameter.
+
+There is a small gap of \texttt{3pt} (the default) inserted between the
+panel and the solution. The value of this gap is contained in the
+\cs{panelgap} command,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\panelgap{3pt}
+\end{Verbatim}
+which can be redefined.
+
+\redpoint The depth (the default is \cs{panelheight}) that you specify as
+the parameter of the \texttt{splitsolution} environment needs to be large
+enough to accommodate your typeset solution; otherwise, the solution will
+overlap the next problem. This is because, unlike the solutions inside a
+\texttt{solution} environment (but not in a \texttt{splitsolution}
+environment) are typeset in a \texttt{minipage} with a specified depth.
+
+To extend the height of the solution, use the following method.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\begin{splitsolution}[\panelheight+1in]
+...
+\end{splitsolution}
+\end{Verbatim}
+This sets the total height to be the natural height of the panel plus 1 inch.
+
+\section{\textsf{eqexam} Options}\label{eqoptions}
+
+The options documented here are entered as optional arguments of the eqexam package:
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\usepackage[!meta(optionals)]{eqexam}
+\end{Verbatim}
+The optional arguments can also be introduced through \texttt{exambuilder.cfg}, the configuration file.
+Create a text file with the name of \texttt{exambuilder.cfg}
+and create the line shown below.
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\ExecuteOptionsX{!meta(optionals)}
+\end{Verbatim}
+Place \texttt{exambuilder.cfg} in the folder of the source file and not on the {\LaTeX}
+search path.
+
+\redpoint The \textsf{eqexam} package has numerous options, some
+inherited from \textsf{web}, some from \textsf{exerquiz}, and a
+number of new ones.
+\begin{description}
+ \item[\texttt{forpaper}] Take this option when you want to create
+ a black and white paper version of your test.
+
+ \item[\texttt{forcolorpaper}] Take this option
+ when you want to have a nice colorful paper version,
+ or are publishing on the web in {\PDF}. See \Nameref{customColor}.
+
+ \item[\texttt{nosolutions}] This is the normal option taken when
+ you are printing a test for distribution to a class of
+ students. When this option is taken, vertical space is
+ generated by the \texttt{solutions} environment based on
+ the value of its optional parameter. This leaves room for
+ the student to solve/answer the question.
+
+ \item[\texttt{nohiddensolutions}] If you use the \texttt{h}
+ optional parameter for \texttt{problem} or \cs{item}, the
+ solution will not be listed (at the end of the document)
+ \emph{when you do not specify} \texttt{nosolutions}; but
+ solutions will be typeset for the \texttt{solutionsafter} option.
+ This option will override this feature.
+
+ \item[\texttt{noHiddensolutions}] Normally, when you use the
+ \texttt{H} optional parameter for \texttt{problem} or \cs{item}, the
+ solution will not be listed when you use the \texttt{nosolutions} or
+ \texttt{so\-lu\-tions\-af\-ter} options for \textsf{eqexam}. This option will
+ override this feature.
+
+ \item[\texttt{solutionsafter}] Causes solutions to appear
+ following the statement of the problem.
+
+ When the \texttt{solutionsafter} is in effect, the word
+ \textit{Solution:} is typeset at the beginning of the solutions.
+ The command \cs{renameSolnAfterTo} can be used for conveniently
+ changing the \texttt{solutionsafter} label, for example, executing
+ the command \verb!\renameSolnAfterTo{\textbf{Proof:}}! prior to a
+ \texttt{solution} environment changes the label to
+ \textbf{Proof:}; \verb!\renameSolnAfterTo{}! produces no
+ label. These changes will be local to the group in which they are
+ made, or global of there they are not made in a group.
+
+ The command \cs{resetSolnAfterToDefault} sets the label text back to
+ the default. The default label is \verb!\textit{Solution}:!.
+
+ \item[\texttt{preview}] The bounding boxes are shown when this
+ option is taken, provided the \texttt{online} or \texttt{email}
+ option is chosen. See the description of these two options
+ below.
+
+ \item[\texttt{proofing}] Using this option will cause the
+ correct answer for multiple choice questions to be marked with
+ a check mark; the correct answers for fill-in questions
+ (\cs{fillin} or \cs{TF}) are also shown.\medskip
+
+ The \texttt{answerkey} option, described below,
+ executes the \texttt{proofing} and \texttt{solutions\-after}
+ options.
+
+\end{description}
+
+\redpoint The following options are unique to the \textsf{eqexam} package.
+
+\begin{description}
+\item[\texttt{pointsonleft}] The points for the problem are displayed in
+ the left margin.
+
+\item[\texttt{pointsonright}] The points for the problem are on the left
+ margin.
+
+\item[\texttt{pointsonboth}] Points are displayed in both margins.
+
+\item[\texttt{nopoints}] Causes points not to be displayed, or
+ calculated. Useful for writing documents that do not have points,
+ such as a questionnaire.
+
+\item[\texttt{totalsonleft}] The totals for each page can be
+ displayed at the bottom left corner of each page using this option.
+
+\item[\texttt{totalsonright}] The totals for each page can be
+ displayed at the bottom right corner of each page using this
+ option.
+
+\item[\texttt{nototals}] Use this option if you don't want any
+ totals at the bottom of the page.
+
+\item[\texttt{noparttotals}] When multiple \texttt{exam} environments appear on
+ the same page, they are separated by a horizontal rule. The page total
+ for the closing \texttt{exam} environment is inserted into the margin on
+ the same line as the horizontal rule. This option turns off the insertion
+ of the page total for the closing \texttt{exam} environment.\medskip
+
+ There are two commands that can be used for local control of
+ this feature, they are \cs{eoeTotalOff} and \cs{eoeTotalOn}.
+ When an \texttt{exam} ends near the bottom of one page, the
+ new exam will begin on the next page, this results in the
+ horizontal rule being generated with the end of exam totals,
+ and the totals at the bottom as well. If these two numbers are
+ the same, then you can turn off the end of exam total using
+ \cs{eoeTotalOff}. Use this command just above
+ \verb+\end{exam}+ and the changes will be local to that exam
+ part.
+
+\item[\texttt{parttotalsonright}] Place the part totals in the right
+ margin, this is the default.
+
+\item[\texttt{parttotalsonleft}] Place the part totals in the left
+ margin.
+
+\item[\texttt{nosummarytotals}] When you use the
+ \texttt{instructions} environment, the total points for
+ \texttt{exam} are displayed following the instruction heading.
+ Using this option turns off this feature.
+
+\item[\texttt{noseparationrule}] When the document has multiple
+ \texttt{exam} environments, a separation rule is placed between
+ them. This option turns off that feature.
+
+ The design of the separation rule may be modified by the document author
+ by redefining \cs{separationrule}, its definition is given below:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand{\separationrule}{\makebox[\linewidth]%
+{\centering\rule{.67\linewidth}{.4pt}}}
+\end{Verbatim}
+
+\item[\texttt{coverpage}] Some instructors like to have a cover
+ page for their exams, use this option to create a cover page. Use
+ the \cs{eqexcoverpagedesign} command to design your own cover page.
+
+\item[\texttt{coverpagesumry}] is a companion to the \texttt{coverpage} option,
+ \texttt{coverpagesumry} takes one of three values: \texttt{bypages}, \texttt{byparts}, \texttt{none}.
+
+\begin{description}
+ \item[\texttt{coverpagesumry=bypages}] If \texttt{bypages} is chosen, an ``Exam Record''
+ appears on the cover page. See the left-hand figure in
+ Figure~\ref{fig:ExamRecord}. A page total appears on each line. Note
+ ``Page~3,'' in the figure; the total there is ``$37\,\text{pts}\
+ (12\,\text{pts}+25\,\text{pts})$.'' This means that there are 37
+ points on page~3; on this page the first \texttt{exam} environment
+ ended and a second \texttt{exam} environment begins, there are 12
+ points on page~3 from the first \texttt{exam} environment, and 25
+ points on that page from the second \texttt{exam} environment.
+
+\begin{figure}[htb]
+\begin{center}
+\includegraphics[width=.4\linewidth]{bypages}\quad
+\includegraphics[width=.4\linewidth]{byparts}
+\caption{Exam Record}\label{fig:ExamRecord}
+\end{center}
+\end{figure}
+
+ \item [\texttt{coverpagesumry=byparts}] If \texttt{byparts} is chosen, an
+ ``Exam Record'' appears on the cover page that lists the number of
+ points per part. (Each exam environment is considered here a
+ ``part.'') See the right-hand figure in
+ Figure~\ref{fig:ExamRecord}.
+
+ \item [\texttt{coverpagesumry=none}] If this option is chosen (the default), no
+ ``Exam Record'' is generated. If the key \texttt{coverpagesumry} does not
+ appear in the option list of \textsf{eqexam}, no ``Exam Record'' is written.
+
+ \end{description}
+
+ See \Nameref{examrecord} for more details on this topic.
+
+\item[\texttt{nospacetowork}] When the \texttt{nosolutions} option
+ is taken, the \texttt{solutions}
+ environment leaves vertical space in which to respond to the
+ question. Use this option to override this behavior.\medskip
+
+ The command \cs{SpaceToWork} causes the white space to be
+ created again, and the \cs{NoSpaceToWork} turns it off again.
+ Use these two commands to turn on and off the creation of
+ vertical spaces in different parts of your exam.
+
+\item[\texttt{answerkey}] This is a convenience option equivalent
+ to \texttt{proofing} and \texttt{solutionsafter}. Useful for
+ creating an ``answer key'' with answers and solutions displayed.
+
+\item[\texttt{solutionsonly}] Using this option, it is possible to obtain
+a typeset document consisting of only the solutions to \textsf{eqexam} document.
+See \Nameref{solutionsonly} for further details.
+
+\item[\texttt{vspacewithsolns}] An unusual feature requested by a user
+ for homework assignments. This option is a combination of
+ \texttt{nosolutions} (where vertical space is left by the
+ \texttt{solutions} environment to respond to the question), but
+ the solutions are written the \cs{jobname.sol} and input back in
+ at the end of the document.
+
+ This option is incompatible with \texttt{answerkey},
+ \texttt{nosolutions}, and \texttt{solutionsafter}, so when
+ \texttt{vspacewithsolns} is used, it ``cancels'' these other
+ options.
+
+ The command \cs{showAllAnsAtEnd} is inserted at the top of the
+ \cs{jobname.sol} file and when \cs{jobname.sol} are input back
+ in, the command \cs{showAllAnsAtEnd} is executed. The definition
+ of \cs{showAllAnsAtEnd} is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand{\showAllAnsAtEnd}{%
+ \makeAnsEnvForSolnsAtEnd
+ \answerkeytrue\eq@proofingtrue
+ \eq@solutionsaftertrue\vspacewithsolnstrue
+ \displayworkareafalse\withsoldoctrue
+}
+\end{Verbatim}
+Basically, this turns on all the switches that correspond to the
+\texttt{answerkey} option. This command may be redefined to suite your
+purposes.
+
+\handpoint When this option is taken, the switch \cs{ifvspacewithsolns}
+may be used to bring in alternate content.
+
+See \Nameref{vspacewithsolns} for further details.
+
+\item[\texttt{ftbsolns}] An alias for \texttt{vspacewithsolns}.
+
+\item[\texttt{useforms}] Multiple choice questions have two forms,
+ (1) the choices are labeled using letters (a), (b), (c), etc.; or
+ (2) using a rectangular fill box. The default is~(1). The
+ \texttt{useforms} switches the default to~(2). You can use the
+ commands \cs{sqLinks} and \cs{sqForms} to change back and forth
+ between these two types within the exam document. Using one of
+ these commands outside a \texttt{problem} environment will
+ globally change the default, from within, it will only change the
+ default locally.
+
+\item[\texttt{myconfig}] If this option is taken, \textsf{eqexam}
+ looks for the configuration file \texttt{eqexam.cfg}. This
+ configuration file is input at the end of the package, and can be used
+ to redefine, for language localization purposes, any of the (text)
+ macros described in this manual. See the section \Nameref{custom} for
+ a partial listing of macros that can be redefined and placed in
+ \texttt{eqexam.cfg}.\medskip
+
+\item[\texttt{myconfigi}\dots\texttt{myconfigvi}] Six additional
+ options for inputting a configuration file. If you take one of
+ these options, \textsf{eqexam} inputs the corresponding
+ configuration file \texttt{eqexami.cfg}\dots\texttt{eqexamvi.cfg}.
+
+\item[\texttt{cfg}] Syntax: \texttt{cfg=\anglemeta{basename}}. If this option is taken,
+\textsf{eqexam} looks for a file named \texttt{\anglemeta{basename}.cfg} and is input.
+
+ For one of my recent classes, I wrote many
+ standard handouts documents: first day handout, assignment documents,
+ homework assignments, review documents, test documents, and
+ in-class notes. Each document-type had its own \textsf{eqexam}
+ format (configuration file, \texttt{eqexami.cfg}\dots\texttt{eqexamiv.cfg}.
+ It got confusing to keep track of all these configuration files. At which point
+ I decided to add a \emph{named} configuration scheme. If you use the key \texttt{cfg}
+ in the option list \texttt{cfg=firstday}, \textsf{eqexam} will look for a file
+ named \texttt{firstday.cfg}
+
+\item[\texttt{obeylocalversions}] An option put in to give greater control over
+ versions. Perhaps you have a \textsf{eqexam} file that has questions
+ with multiple versions. You would like to pick and choose the versions
+ to be used. In this case, using \texttt{obeylocalversions} will cause
+ \textsf{eqexam} to obey any \cs{selectVersion} commands embedded in
+ the document.
+
+\item[\texttt{allowrandomize}] Use this option to randomize
+ the multiple choice/selection questions. See \Nameref{s:random} for details.
+
+\item[\texttt{showgrayletters}] When \texttt{showgrayletters} is used, multiple choice
+questions will have a gray capital letter
+\texttt{A}, \texttt{B}, \texttt{C}, etc. underneath it. This letter
+can then be referred to in the text or the solution using the \cs{REF} command.
+
+See \Nameref{showgraylettersOpt} for more information.
+
+ \item[\texttt{usexkv}] When this option is used, and the document
+ author has the \textsf{xkeyval} package on his/her system, there is a
+ re-definition of the \cs{fillin} command. For more information,
+ see \Nameref{extendfillin}.
+
+ \item[\texttt{allowcirc4mc}] Allows to use of circles (created by
+ the \texttt{lcircle10} font) for multiple choice questions. See
+ \Nameref{allowcirc4mc} for details.
+
+
+\end{description}
+
+\redpoint The next option concerns a major new feature, available
+in \textsf{eqexam}, version 3.0 or later.
+
+\begin{description}
+ \item[\texttt{fortextbook}]\label{fortextbook} This option is designed support
+ textbook authors. See \mlNameref{ftbop} for a greater explanation.
+\end{description}
+
+\redpoint The next two apply to files that have several versions in them,
+these were defined for use by the \textsf{AeB Exam Builder}
+utility,\footnote{\url{http://www.acrotex.net/builders/}} but they are
+available to the document author.
+
+\begin{description}
+ \item[\texttt{max}] The value of \texttt{max}, \texttt{max=\anglemeta{N}},
+ is a positive integer. The value of \texttt{max} is the
+ number of versions for this document. This option executes
+ \cs{numVersions\darg{\anglemeta{N}}} at the end of the package.
+
+ \item[\texttt{rendition}] This is a key-value pair.
+ \texttt{rendition=\anglemeta{alpha}}, where \anglemeta{alpha} letter corresponding to
+ the version that is to be typeset. At the end of the package, the
+ command \cs{forVersion\darg{\anglemeta{alpha}}} is executed.
+
+\end{description}
+
+\redpoint The next four options require the {\cAcroB}, and all of
+its required packages, such as \textsf{hyperref}, their use
+implies you are going to publish the document as a {\PDF}.
+
+\begin{description}
+
+\item[\texttt{pdf}] This option doesn't do much, it brings in the
+ \textsf{web} package, which in turn, places the values of the
+ keywords (\cs{title}, \cs{author}, \cs{subject}, etc.) into the
+ Document Description dialog of the {\PDF}.
+
+\item[\texttt{links}] This option brings in both \texttt{web} and
+ \texttt{exerquiz}. When you do not use a solutions option
+ (\texttt{nosolutions} and \texttt{solutionafter}), the solutions
+ appear at the end of the document. When the \texttt{links} option
+ is used, links from the questions to the solutions are created.
+ Unless you use a ``paper option'' (\texttt{forpaper} and
+ \texttt{forcolorpaper}), each solution is on a different page,
+ making a document with a lot of pages. When you also specify a
+ paper option, the solutions are separated by a \cs{medskip}.
+
+\item[\texttt{online}] The \texttt{online} option implies the
+ previous two options, but does more. When this option is taken,
+ and the \texttt{nosolutions} option is specified, {\PDF} forms are
+ created: multiple choice questions become radio button fields;
+ fill-in questions become text fields, and the vertical space
+ created by the \texttt{solutions} environment become multi-line
+ text fields.\medskip
+
+ This may be a useful option for an exam taken in a
+ CBT\footnote{Computer Based Testing} lab, where the students
+ can type in their responses and when finished, print the
+ document to a lab printer to hand in.
+
+\item[\texttt{email}] This option implies the \texttt{online}
+ option, in addition, adds a submit button to the upper left corner
+ of the first page of the exam. The student can take the test in a
+ CBT lab, then submit the results to the instructor via email.
+
+\end{description}
+\noindent See the section \Nameref{email} for additional details
+of these last two options.
+
+\redpoint When any one of the four options above are taken, a
+driver needs to be specified as well, the choices are\dots
+
+\begin{description}
+\item[\texttt{dvipsone}] For users of the
+ {Y\!{\footnotesize\&}\!Y\TeX} System, such as myself.
+
+\item[\texttt{dvips}] For users of \textsf{dvips}, the
+ dvi-to-postscript converter.
+
+\item[\texttt{pdftex}] For users of \textsf{pdftex} application.
+
+\item[\texttt{dvipdfm}] For users of \textsf{dvipdfm} application.
+
+\item[\texttt{textures}] For \textsf{textures} users. (This
+option is totally untested.)
+\end{description}
+\noindent These options are passed on to \textsf{hyperref} and to
+\texttt{eforms}\footnote{A component of \AcroB.} for the proper
+creation of links and form fields.
+
+\subsection{Configuration Files}
+
+The \textsf{eqexam} looks for two configuration files, they are
+\texttt{web.cfg} and \texttt{eqexam.cfg}.
+
+The first one \texttt{web.cfg} may be already present on your hard
+drive if you use the {\AcroB}. Typically, desired default driver
+option is placed in here, for example, \texttt{web.cfg} might
+contain the single line,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\ExecuteOptions{dvips}
+\end{Verbatim}
+\noindent for users of the \textsf{dvips} application for
+converting \texttt{.dvi} files to \texttt{.ps} file. The drivers
+supported by \textsf{eqexam} are listed in the previous section.
+
+The second configuration file, \texttt{eqexam.cfg}, is input at
+the end of the package, provided the document author takes the
+\texttt{myconfig} option. Use this file to redefine some of the
+commands described in \Nameref{custom}, and elsewhere, to
+customize \textsf{eqexam}. An obvious use for this is to have a
+language customization of the package, input through
+\texttt{eqexam.cfg}.
+
+If you place \texttt{eqexam.cfg} in the {\LaTeX} search path,
+these customization will be global to all documents that specify
+the \texttt{myconfig} option. If is is placed in the source
+document folder (which is not in the {\LaTeX} search path) the
+changes are local to all documents developed in that folder.
+
+\subsection{The \texttt{solutionsonly} Option}\label{solutionsonly}
+
+With this option, it is possible to obtain a listing of only the solutions
+in an \textsf{eqexam} source file. A possible application of this feature
+is if you publish homework or practice test questions, you can later
+publish the solutions to them.
+
+%\handpoint The demo file for this option is \texttt{eqex\_solnsonly.tex}, where you
+%will find detailed instructions for how to do this. See also the file
+%\texttt{text03.tex}, which demos both the \texttt{solutionsonly} option and the
+%\texttt{vspacewithsolns} option.
+
+\exAeBBlogPDF{p=1227} The demo file for this option is
+\texttt{\href{\urlAcroTeXBlog/?p=1227}{eqex\_solnsonly.pdf}}, available from
+the {\AcroBlog} website. The source file is attached to the PDF. Within the
+source file, you will find detailed instructions for how to create a
+solutions-only file.
+
+
+\subsection{The \texttt{vspacewithsolns} Option}\label{vspacewithsolns}
+
+With option is a combination of \texttt{nosolutions} (where vertical
+spaces are left for extended response questions, and multiple choice and
+fill-in the blank are left, well, blank) and compiling the document
+with no options at all, in this case the solutions appear at the end of
+the document.
+
+To summarize, when \texttt{vspacewithsolns} is used, the test section is
+left blank for the student to fill in, but at the end of the document are
+the solutions. I've recently used this option to compile an old test (from
+a previous semester) and publish it on the web. The student can try
+solving the old test, with the solutions at the end of the
+document.\footnote{Another option is to first publish your old exam with
+the \texttt{nosolutions} option, then, after a suitable time, publish the same document
+with the \texttt{solutionsonly} option.}
+
+\newtopic An alias for this option is the option \texttt{ftbsolns}.
+
+\exAeBBlogPDF{p=1220} The demo file for this feature is named
+\texttt{\href{\urlAcroTeXBlog/?p=1220}{hw02.pdf}}. See also the file
+\texttt{\href{\urlAcroTeXBlog/?p=1206}{test03.pdf}}, which demos both the
+\texttt{solutionsonly} option and the \texttt{vspacewithsolns} option.
+
+\subsection{The \texttt{fortextbook} Option and \textsf{fortextbook} Package}\label{ftbop}
+
+This option is designed for authors of textbooks. The \texttt{fortextbook}
+option defines the \texttt{probset} environment---used to create problems
+sets in the textbook---as a re-purposing of the \texttt{exam}
+environment. When the text is compiled with the \texttt{studented} option
+(student edition), only odd-numbered solutions/answers are written to the
+end of the document; when the \texttt{instred} option (instructor edition) is
+used, all solutions/answers are written to the end of the document, there
+are options for annotating the book with the answers in the margins or
+following the questions (instructor edition).
+
+Documentation for this option is found in the \texttt{doc/fortextbook}
+folder. See the file \texttt{fortextbook.pdf} and its source file
+\texttt{fortextbook.ltx}.
+
+To use the \texttt{fortextbook} option, a whole panoply of options are needed,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\usepackage[%
+ fortextbook,ftbsolns,usecustomdesign,
+ forcolorpaper,noseparationrule,usexkv
+]{eqexam}
+\end{Verbatim}
+Accompanying the \textsf{eqexam} is a simple wrapper package called
+\texttt{fortextbook}, which basically calls \textsf{eqexam} with all the above
+options. So, the textbook author needs only to specify,
+
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\usepackage{fortextbook}
+\end{Verbatim}
+The documentation for this option is quite extensive and is
+available in the separate document \texttt{fortextbook.pdf}. This
+document is a short ``textbook'' that illustrates and documents
+the features of this option.
+
+See the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{}
+Blog}} for several articles on the \texttt{fortextbook} option,
+beginning with the first article
+\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=604}{The
+\texttt{fortextbook} option, Part 1, The Instructor Edition}}. A
+listing of all articles of the
+\ulSetLink{http://www.math.uakron.edu/~dpstory/eqexam.html}{\textsf{eqexam}
+package} may be obtained by following
+\ulSetLink{http://www.acrotex.net/blog/?tag=eqexam-package}{this
+link}.
+
+The full series of articles on the \texttt{fortextbook} option may be found under the
+\ulSetLink{http://www.acrotex.net/blog/?tag=fortextbook}{fortextbook tag} at the blog site.
+
+
+
+\section{The \texttt{online} and \texttt{email} Options}\label{email}
+
+When you use the \texttt{online} option, all fields created by the
+\cs{fillin} command, and this includes \cs{TF}, are converted into
+text fields, and the white space created by the \texttt{solutions}
+environment is converted to a multi-line text field. The fields
+manifest themselves when the document is viewed within the Adobe
+Reader, or any other {\PDF} viewer that supports form fields.
+
+This may be a useful option to the few people out there who are
+not in a technical field that requires specialized symbols to
+respond to a question. An exam created by the \texttt{online}
+option can be filled out online, printed, and submitted to the
+course instructor, perhaps within a lab setting.
+
+There are other applications, such as creating a course survey, or
+a questionnaire of some type the students can fill out and submit.
+The \texttt{email} option may be more appropriate for these
+applications.
+
+\subsection{The \texttt{email} Option}
+
+When you pass the \texttt{email} option to \textsf{eqexam}, this
+does everything the \texttt{online} option does, in addition, it
+creates a ``Submit'' button that appears in the top-left margin of
+the exam (it does not appear on the cover page), and is placed
+there by the \cs{maketitle} command, that normally goes just after
+the opening of the document environment, \verb+\begin{document}+.
+
+The forms button is all setup to submit to the server-side script,
+\textsf{eqAttach.asp}, an active server page using
+\textsf{vbscript} as its scripting language. This script, when
+properly installed and functional, receives the form data
+generated by the document and attaches it to an email, which it
+sends off to the designated destination. Before discussing how to
+install and use \textsf{eqAttach.asp}, let me cover some commands
+that controls this button as well as options for changing what is
+sent to the server-side script.
+
+When you take the \texttt{email} option, you need to supply a
+minimum of two pieces of information: the path to the server-side
+script \textsf{eqAttach.asp} and the email address of the person
+the results are to be sent. The command \cs{SubmitInfo} is used to
+supply this info, for example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\SubmitInfo{http://localhost/scripts}{dpstory@uakron.edu}
+\end{Verbatim}
+This command takes two arguments, the first is the URL to the
+server-side folder that contains \textsf{eqAttach.asp}, the second
+argument is the email address of the recipient of the email. (You
+can have multiple recipients by separating the address by an
+comma.)
+
+After the student submits the responses to the questions, an email
+is sent to the recipient (the instructor, perhaps). When the
+recipient receives the email, s/he can save the {\FDF} attached file
+(containing the student responses) to a folder on the local hard
+drive. At least for a Windows machine when you open the {\FDF}, the
+{\PDF} will be fetched and the student data will be populated into
+the form fields.
+
+Once this is done, the instructor can either save the populated
+file to the hard drive for later processing (the Acrobat
+application needed for this step) or print it to a printer for
+grading by hand.
+
+If the instructor has Acrobat, s/he can use the markup capability
+of Acrobat to grade the electronic version of the test, and return
+the electronic version, with markup, to the student.
+
+Below is the subject and message body of a ``typical'' submittal for the
+student ``John Q. Student''.
+
+\begin{flushleft}
+Message Subject:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Exam Results: Test 1 of U. S. History
+\end{Verbatim}
+\end{flushleft}
+
+\begin{flushleft}
+Message Body:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Exam Information:
+ Course Name: U. S. History
+ Exam: Test 1
+ Student: John Q. Student
+ TimeOfQuiz: 1/19/2005 12:07:56 PM
+\end{Verbatim}
+The {\FDF} is attached.
+\end{flushleft}
+
+
+\noindent The following commands can be used to modify the email message.
+
+\redpoint\cs{EmailCourseName} is used to specify the name of the
+course. The default value for this is \cs{websubject}, obtained
+from the \cs{subject} macro used in the preamble; however, if you
+want a different name in the email, perhaps with more information
+included, you can redefine the value using this macro.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\EmailCourseName{\websubject} % the default
+\end{Verbatim}
+
+\noindent\textbf{\color{red}Important:} When you use {\TeX}
+formatting in the subject, such as
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\subject{\bfseries Calculus 1}
+\end{Verbatim}
+and you are using the \texttt{email} option, it will
+be necessary to use \cs{EmailCourseName} to redefine the subject, e.g.,
+\verb+\EmailCourseName{Calculus 1}+, to avoid possible {\TeX} compile
+errors, or to prevent {\TeX} primitives being a part of your
+email!
+
+\redpoint\cs{EmailExamName} is used to specify the exam name of
+the course. The default value for this is \cs{webtitle}, obtained
+from the \cs{title} macro used in the preamble; however, if you
+want a different name in the email, perhaps with more information
+included, you can redefine the value using this macro.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\EmailExamName{\webtitle} % the default
+\end{Verbatim}
+
+\noindent\textbf{\color{red}Important:} If you use some {\TeX}
+formatting in the title, such as
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\title{\bfseries Test 1}
+\end{Verbatim}
+and you are using the \texttt{email} option, it will be necessary
+to use \cs{EmailExamName} to redefine the title, e.g.,
+\verb+\EmailExamName{Test 1}+, to avoid possible {\TeX} compile
+errors, or to prevent {\TeX} primitives being a part of your
+email!
+
+\redpoint\cs{EmailSubject} The document author might want a custom
+subject in the email, instead of the standard one. By using this
+macro, he can design his own email subject.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\EmailSubject{} % the default
+\end{Verbatim}
+\noindent In this case \textsf{eqAttach.asp} inserts the standard one.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Exam Results: \webtitle of \websubject
+\end{Verbatim}
+\noindent The email would read ``\texttt{Exam Results: Test 1 of
+Calculus I}'', for example.
+
+To change the email subject we would put the following command in
+the preamble:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\EmailSubject{Another Set of Cool Results}
+\end{Verbatim}
+
+\redpoint \cs{ServerRetnMsg} The server script
+(\textsf{eqAttach.asp}) returns a message acknowledging the
+receipt of the data, this command allows the document author to
+customize the return message. The default definition is:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\ServerRetnMsg{}
+\end{Verbatim}
+\noindent In this case \textsf{eqAttach.asp} inserts the standard
+one, ``Exam results successfully sent to your instructor!''.
+
+To change the return message to something more meaningful, put
+this command in the preamble, for example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\ServerRetnMsg{Your responses to the \\TeX Survey have been
+ received, thank you!}
+\end{Verbatim}
+
+\redpoint\cs{SubmitButtonLabel} is the label that appears on the
+submit button.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\SubmitButtonLabel{Submit} % the default
+\end{Verbatim}
+
+
+\subsubsection{Installing \textsf{eqAttach.asp}}
+
+On the server side, in order for \textsf{eqAttach.asp} to run
+correctly, Microsoft Internet Information Server (IIS), version
+4.0 or greater, is needed. The script \textsf{eqAttach.asp} needs
+to be placed where ASP scripts have execute permissions.
+
+The \textsf{eqAttach.asp} uses the \textsl{Acrobat FDF
+Toolkit}\footnote{Currently located at the
+\href{http://partners.adobe.com/public/developer/acrobat/devcenter.html}
+{Acrobat Family Developer Center}.}, version 6.0. Follow the
+directions for installation contained in the accompanying
+documentation.
+
+Install \textsf{eqAttach.asp} in a folder (perhaps called
+\texttt{Scripts}) designated to execute scripts. If you don't
+have such a folder, then the following steps explain how to
+create a virtual directory through IIS that points to this folder.
+
+\begin{enumerate}
+\item Create a new folder on the system (\texttt{Scripts}, for
+example). Its recommended location is inside the \texttt{Inetpub}
+folder.
+
+\item Place \textsf{eqAttach.asp} in this newly created folder.
+
+\item In the MMC snap-in for IIS, create a virtual directory by
+right-clicking on the Default Web Site and selecting \texttt{New >
+Virtual Directory}.
+
+\item Type ``Scripts'' (or whatever the name of the folder you
+created in~Step~1) as the alias for the virtual directory, and
+then link it to the physical directory you created in Step~1.
+
+\item Make sure that ``Script execution'' privileges are enabled.
+If not, enable them.
+\end{enumerate}
+
+
+\subsubsection{Setting up and Modifying the Script}
+
+On the server side, in order for \textsf{eqAttach.asp} to run
+correctly, Microsoft Internet Information Server (IIS), version
+4.0 or greater, is needed. The script \textsf{eqAttach.asp} should
+be placed where ASP scripts have execute permissions. There are
+two methods of sending e-mail:
+\begin{enumerate}
+ \item \texttt{CDONTS}: This method (which is commented out by
+ default) can be used on an NT server. Uncomment if you want to
+ use CDONTS, and comment out the CDOSYS code lines that follow.
+ \item \texttt{CDOSYS}: This can be run on a Win2000 or WinXP
+ server.
+\end{enumerate}
+
+The script needs to be modified appropriate to your server, in
+particular, search down in \texttt{eqAttach.asp} for the
+configuration line
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+eqMail.Configuration.Fields.Item
+ ("http://schemas.microsoft.com/cdo/configuration/smtpserver")
+ = "mySMTP"
+\end{Verbatim}
+\noindent replace \texttt{mySMTP} with your SMTP server.
+
+\subsubsection{Some Options}
+
+The default behavior of \textsf{eqAttach.asp} is to return a
+message to the document that indicates the receipt of the data,
+this message is``Exam results successfully sent to your
+instructor!'' The message, as explained earlier, can be changed
+using the \cs{ServerRetnMsg}, like so
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\ServerRetnMsg{Your TeX survey results have been received, thank you.}
+\end{Verbatim}
+\noindent Now, if for whatever reason you don't want this
+confirmation message to return to the document for display in
+alert box, you can sent the \texttt{silent} as part of the query
+string. For example, if
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?silent\#FDF}
+ {myname@mymailprovider}
+\end{Verbatim}
+\noindent placed in the preamble of your document specifies the
+path to the script, silent mode, and the email address of the
+recipient of the form data.
+
+\medskip\noindent
+Another other feature of \textsf{eqAttach.asp} that can be changed
+through the query string is the \texttt{/F} key-value pair of the
+\texttt{FDF} sent out in email. The value of this key is the path
+to the document that sent the \texttt{FDF}, it may be a url (an
+address on the Internet) or it could be a file specification of a
+local hard drive. If you specify \texttt{nopath} in the query
+string, like so
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\SubmitInfo{http://myWebSite/scripts/eqAttach.asp?nopath\#FDF}
+ {myname@mymailprovider}
+\end{Verbatim}
+\noindent then \textsf{eqAttach.asp} strips out the file path and
+leaves only the file name.
+
+\redpoint This is what I did with the \texttt{tex\_survey.tex}
+source file. I placed \texttt{tex\_survey.pdf} in a \texttt{LaTeX
+Survey} folder on my desktop. As the emails came in, I saved the
+\textsf{FDF} attachments to this folder. By (double) clicking on
+the \textsf{FDF}, \texttt{tex\_survey.pdf}, which is in the same
+folder, opened and the form data populated the fields from whence
+they were sent. It worked well for me.
+
+If you don't use the \texttt{nopath} option, when you click
+on an \texttt{FDF} file you've received by email, your browser
+opens and the PDF on the Internet is brought into the
+browser and the form data populates the form fields, \dots at least on
+a Windows machine. \texttt{:-)}
+
+\subsubsection{References}
+
+The following links were used as a reference in the development of the
+\texttt{Email.asp} script.
+\begin{itemize}
+ \item CDOSYS:
+ \begin{itemize}
+ \item \href{http://invisionportal.com/show_tutorial.asp?TutorialID=160}{Invision Portal} Tutorial: CDOSYS email tutorial
+ \item \href{http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cdosys/html/_cdosys_imessage_interface.asp}
+ {MSDN}: CDO for Windows 2000. The IMessage Interface. (Use MIE to view this page.)
+ \item \href{http://www.asp101.com/articles/john/cdosmtprelay/default.asp}{ASP 101} Sending Email Via an External SMTP Server Using CDO
+ \end{itemize}
+ \item CDONTS
+ \begin{itemize}
+ \item \href{http://www.juicystudio.com/tutorial/asp/cdonts.html}{Juicy Studio} The ASP CDONTS Component
+ \item \href{http://www.devasp.com/Samples/mail.asp}{DevASP} Sending Mail from ASP with CDONTS.NewMail Object
+ \end{itemize}
+\end{itemize}
+
+\section{Bells, Whistles and other Customizations}
+
+\subsection{Customizations}\label{custom}
+
+We enumerate some commands for changing the default design of \textsf{eqexam}.
+
+\subsubsection{Course Info Commands}\label{courseInfo}
+
+\textsf{eqexam} has several commands for the student to provide some identification
+information.
+
+\redpoint \cs{eqexamName}. This command defines the macro
+\cs{eq@ExamName} that creates the underlined space for the student
+to enter his/her name, and also defines the text box form field,
+in the case the \texttt{online} or \texttt{email} options are
+taken. There are two (design) parameters for \cs{eqexamName}
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\eqexamName[!meta(eforms_opts)]{!meta(width)}
+\end{Verbatim}
+\noindent The first optional parameter can be used to modify the
+appearance of the text field, see the \href{eformman.pdf}{eForms}
+documentation for details. The second parameter is the width of
+the field. The default definition is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\eqexamName[\Ff\FfRequired]{2.25in}
+\end{Verbatim}
+\noindent Here, the text field that will be generated (when
+\texttt{online} or \texttt{email} is specified) will be a required
+field. The total width of the space provided is $2.25$ inches.
+
+The command \cs{examNameLabel} controls the label to be used for
+this name field. It takes one parameter, the label
+to be used for the name field; the default definition is
+\verb+\examNameLabel{Name:}+.
+
+\redpoint \cs{eqSID}. This command defines the macro \cs{eq@SID}
+that creates the underlined space for the student to enter his/her
+student Identification number (SID), and also defines the text box
+form field, in the case the \texttt{online} or \texttt{email}
+options are taken. There are two (design) parameters for
+\cs{eqSID}
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\newcommand\eqSID[!meta(eforms_opts)]{!meta(width)}
+\end{Verbatim}
+\noindent The first optional parameter can be used to modify the
+appearance of the text field, see the \href{eformman.pdf}{eForms}
+documentation for details. The second parameter is the width of
+the field. The default definition is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\eqSID[\Ff\FfRequired]{2.25in}
+\end{Verbatim}
+\noindent Here, the text field that will be generated (when
+\texttt{online} or \texttt{email} is specified) will be a required
+field. The total width of the space provided is $2.25$ inches.
+
+The command \cs{examSIDLabel} controls the label used for this SID field.
+It takes one parameter, the label to be used for the name field; the
+default is \verb+\examSIDLabel{SID:}+.
+
+\redpoint \cs{eqEmail}. This command defines the macro
+\cs{eq@Email} that creates the underlined space for the student to
+enter his/her student email address, and also defines the text box
+form field, in the case the \texttt{online} or \texttt{email}
+options are taken. There are two (design) parameters for
+\cs{eqEmail}
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\newcommand\eqEmail[!meta(eforms_opts)]{!meta(width)}
+\end{Verbatim}
+\noindent The first optional parameter can be used to modify the
+appearance of the text field, see the \href{eformman.pdf}{eForms}
+documentation for details. The second parameter is the width of
+the field. The default definition is
+\begin{Verbatim}[xleftmargin=\leftmargini,]
+\eqEmail{2.25in}
+\end{Verbatim}
+\noindent Here, the text field that will be generated (when
+\texttt{online} or \texttt{email} is specified). The total width
+of the space provided is $2.25$ inches.
+
+
+The command \cs{examEmailLabel} controls the label to be used for
+this email field. It takes one parameter, the
+label to be used for the name field; the default definition is
+\verb+\examEmailLabel{Email:}+.
+
+
+\subsubsection{Changing the Title and Cover Page}
+
+\redpoint \cs{maketitle}. The main heading that appears at the top
+of the first page of the exam is created by the {\LaTeX}
+(redefined) command \cs{maketitle}. The \cs{maketitle} has some
+code to place the email button in the top margin, followed by the
+expansion of the command \cs{maketitledesign}, whose definition is
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand\maketitledesign
+{%
+ \makebox[\textwidth]{\normalsize
+ \shortstack[l]{\strut\websubject\\\@date}\hfill
+ \shortstack[c]{\webtitle\\\strut\@altTitle}\hfill
+ \shortstack[l]{\strut\eq@ExamName\\\webauthor}}%
+}
+\end{Verbatim}
+This command can be redefined using \cs{renewcommand} to suite your needs, for example,
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\makeatletter
+\renewcommand\maketitledesign
+{%
+ \makebox[\textwidth]{\normalsize
+ \shortstack[l]{\strut\websubject\\\webauthor, \@date}\hfill
+ \shortstack[l]{\webtitle\\\strut\@altTitle}\hfill
+ \shortstack[l]{\strut\eq@ExamName\\\eq@SID}}%
+}
+\makeatother
+\end{Verbatim}
+\noindent This code adds in a field for the student to enter
+his/her student Id, here we enclose the code in a
+\cs{makeatletter}/\cs{makeatother} because this redefinition
+occurs in the preamble, and the code has an `\texttt{@}' in it.
+
+Command elements that are appropriate to the redefinition are \cs{maketitledesign} are\dots
+\begin{description}
+ \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command.
+ \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command.
+ \item[\cs{altTitle}] An additional text field that is placed below \cs{webtitle}.
+ \item[\cs{@date}] This is the date as determined by the \cs{date} command.
+ \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined
+ by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}.
+ \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as
+ defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}.
+ \item[\cs{eq@Email}] This is the student email field for the student to enter an email address, as
+ defined by default, or redefined by \cs{eqEmail}, see \Nameref{courseInfo}.
+ \item[\cs{theduedate}] This is a text macro defined by the \cs{duedate} command. For example, setting
+ \verb+\duedate{03/10/05}+ defines \cs{theduedate} so that it expands to \texttt{03/10/05}. May
+ be useful when redefining \cs{maketitledesign} for a homework assignment page.
+\end{description}
+
+\redpoint \cs{eqexcoverpagedesign}. When the \texttt{coverpage} option is
+taken, a default cover page appears unless it is redefined. The
+\textsf{eqexam} package provides \cs{eqexcoverpagedesign} to design your
+own cover page. The default cover page uses the
+
+\begin{description}
+ \item[\cs{websubject}] This is the course name, as determined by the \cs{subject} command.
+ \item[\cs{webtitle}] This is the exam name as determined by the \cs{title} command
+ \item[\cs{webuniversity}] This is the value set by the \cs{university} command, given
+ in the preamble.
+ \item[\cs{@date}] This is the date as determined by the \cs{date} command.
+ \item[\cs{eq@ExamName}] This is the name field for the student to enter his/her name, as defined
+ by default or redefined by \cs{eqexamName}, see \Nameref{courseInfo}.
+ \item[\cs{eq@SID}] This is the student ID field for the student to enter his/her ID, as
+ defined by default, or redefined by the command \cs{eqSID}, see \Nameref{courseInfo}.
+ \item[\cs{eq@Email}] This is the student email field for the student to enter his/her email address, as
+ defined by default, or redefined by \cs{eqEmail}, see \mlNameref{courseInfo}.
+\end{description}
+Copy the definition of \cs{eqexcoverpagedesign} from
+\textsf{eqexam.dtx} and modify as desired. Place the new
+definition in the preamble (enclosed between
+\cs{makeatletter} and \cs{makeatother}) or in a custom style file. No
+special support for this design is offered, because a cover page
+can be designed in so many different ways.
+
+\newtopic Another command associated with the \texttt{coverpage} option,is the
+\cs{place\-Cover\-Page\-Logo}, a simple command used to insert a logo on the cover page.
+The logo can be used to cover the score in the next page if the
+instructor places the score under the logo. Example of usage
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\placeCoverPageLogo{5in}{-1.5in}{\includegraphics{nwfsc_logo}}
+\end{Verbatim}
+Working from the upper left corner, the first parameter is the amount to move to logo
+to the right, the second parameter is the amount to move the logo vertically. The
+Third parameter is the content; perhaps an \cs{includegraphics} command.
+
+
+\subsubsection{Changing the Running Headers}
+
+There are two running headers, one header for the exam itself, and
+another when the solutions are shown at the end of the document.
+
+\redpoint Running Header for Exam. The commands \cs{lheadeqe},
+\cs{cheadeqe} and \cs{rheadeqe} are used for defining the left, right, and
+center running headers. \textbf{Note:} these commands have been recently
+renamed, originally they were named \cs{lhead}, \cs{chead} and \cs{rhead},
+but this conflicts with the \textsf{fancyhdr} package. If
+\textsf{fancyhdr} has not been loaded by the time \textsf{eqexam} is
+loaded, the eqexam definitions for \cs{lhead}, \cs{chead} and \cs{rhead}
+still hold. Generally, it is recommended that the new command be used,
+\cs{lheadeqe}, \cs{cheadeqe} and \cs{rheadeqe}.
+
+\begin{enumerate}
+\item \begin{Verbatim}[commandchars=!()]
+\lheadeqe{!meta(text)}
+\end{Verbatim}
+Changes the left header text of the running header. This command defines an
+internal macro \cs{eq@lhead} that actually contains the text. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\lheadeqe{\shortwebsubject/\shortwebtitle}
+\end{Verbatim}
+
+\item \begin{Verbatim}[commandchars=!()]
+\cheadeqe{!meta(text)}
+\end{Verbatim}
+Changes the center header text of the running header.
+This command defines an internal macro \cs{eq@chead} that actually
+contains the text. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\cheadeqe{-- Page \arabic{page}\space of \nPagesOnExam\space--}
+\end{Verbatim}
+
+\item \begin{Verbatim}[commandchars=!()]
+\rheadeqe{!meta(text)}
+\end{Verbatim}
+\noindent Changes the right header text of the running header.
+This command defines an internal macro \cs{eq@rhead} that actually
+contains the text.
+\item[]The default is \verb+\rhead{\eq@ExamName}+.
+\end{enumerate}
+If you want to redesign the layout of the running
+header, here is the macro that the above components fill.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand\runExamHeader{\eq@lhead\hfill\eq@chead\hfill\eq@rhead}
+\end{Verbatim}
+
+\redpoint Running Header for Solutions. The components of the
+running header for the solutions pages occur, as above, on the left, center
+and right of each header are defined by the commands \cs{lheadSol},
+\cs{cheadSol} and \cs{rheadSol}.
+
+\begin{enumerate}
+\item \begin{Verbatim}[commandchars=!()]
+\lheadSol{!meta(text)}
+\end{Verbatim}
+\noindent Changes the left header text of the running header. This
+command defines an
+internal macro \cs{eq@lheadSol} that actually contains the text. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\lheadSol{\shortwebsubject/\shortwebtitle}
+\end{Verbatim}
+
+
+\item \begin{Verbatim}[commandchars=!()]
+\cheadSol{!meta(text)}
+\end{Verbatim}
+\noindent Changes the center header text of the running header.
+This command defines an internal macro \cs{eq@cheadSol} that
+actually contains the text. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\cheadSol{-- Page \arabic{page}\space of \nPagesOnExam\space--}
+\end{Verbatim}
+
+\item \begin{Verbatim}[commandchars=!()]
+\rheadSol{!meta(text)}
+\end{Verbatim}
+\noindent Changes the right header text of the running header.
+This command defines an internal macro \cs{eq@rheadSol} that
+actually contains the text. The default definition is
+\verb+\rheadSol{SOLUTIONS}+.
+\end{enumerate}
+\noindent If you want to redesign the layout of the running
+header, here is the macro that the above components fill.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\runExamHeaderSol
+ {\eq@lheadSol\hfill\eq@cheadSol\hfill\eq@rheadSol}
+\end{Verbatim}
+
+\subsubsection{Changing the Running Footers}
+
+The default set up of \textsf{eqexam} is to use no running footers;
+actually, that's not quite right. \textsf{eqexam} places the command
+\cs{settotalsbox} in the footer; this command is the one that places the
+totals boxes, when requested.
+
+\newtopic\textsf{eqexam} defines three commands for the footer,
+\settowidth{\aebdimen}{\ttfamily\string\lfooteqe\darg{\meta{text}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\lfooteqe{!meta(text)}
+\cfooteqe{!meta(text)}
+\rfooteqe{!meta(text)}
+\end{dCmd}
+\noindent where the \meta{text} is placed at the left, center, and
+right of the running footer. The default for each is empty text. These
+three comprise the definition of \cs{runExamFooter}
+\begin{dCmd}{\linewidth}
+\newcommand{\runExamFooter}{\eq@lfoot\hfill\eq@cfoot\hfill\eq@rfoot}
+\end{dCmd}
+\noindent The \cs{settotalsbox} and \cs{runExamFooter} then appear in the definition
+of \cs{@oddfoot} in the definition of the \texttt{eqExamheadings} page style.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\renewcommand{\@oddfoot}{\settotalsbox\runExamFooter}
+\end{Verbatim}
+When doing any re-definition of the running footers at the \cs{@oddfoot} command,
+be sure to include \cs{settotalsbox} on the \emph{left side of the running footer}; otherwise,
+you will not have a totals box when you request one.
+
+
+\subsubsection{Exam Strings}
+
+In this section we list a new commands that contain information about the exam.
+
+\settowidth{\aebdimen}{\ttfamily\string\nPagesOnExam}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\nPagesOnExam
+\end{dCmd}
+\noindent The command \cs{nPagesOnExam} expands to the total number of pages in the exam.
+
+\settowidth{\aebdimen}{\ttfamily\string\nQuesInExam\darg{\meta{exam\_name}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\nQuesInExam[!meta(exam_name)]
+\end{dCmd}
+\noindent \cs{nQuesInExam} expands to the total number of questions in the
+exam. The command takes an optional argument, the \meta{exam\_name}
+(this is the name given the exam as the required argument of the
+\texttt{exam} environment). If the argument is not given, the name of the
+current exam is used (when executed within an \texttt{exam} environment).
+When \cs{nQuesInExam} outside an \texttt{exam} environment, the value of
+the optional argument needs to be specified.
+
+\newtopic There are several commands are useful for documents that have several
+\textsf{eqexam} environments, these are
+\settowidth{\aebdimen}{\ttfamily\string\percentForPart\darg{\meta{exam\_name}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\theGrandTotal
+\totalForPart{!meta(exam_name)}
+\percentForPart{!meta(exam_name)}
+\end{dCmd}
+\noindent The first command sums the point totals for each of the
+\texttt{exam} environments. The latter two, each taking one argument, the
+name associated with the \texttt{exam}, reports the points for that
+\texttt{exam} environment and the percent of the total for that
+\texttt{exam} environment.
+
+\newtopic Below is a recent example taken from a final exam that I constructed for my class.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
+\begin{eqComments}[Final Exam:] (\theGrandTotal\space points) The
+final exam has two parts:
+ \textbf{Part I} (\totalForPart{InstrQuestions} points or
+ \percentForPart{InstrQuestions} of the total points) consists of
+ questions written by the instructor;
+ \textbf{Part II} (\totalForPart{GenEd} points or
+ \percentForPart{GenEd} of the total points) consists of
+ questions provided by the Department of Mathematics.
+\end{eqComments}
+\end{Verbatim}
+
+\promoteNewPageHere{10pt}
+
+\handpoint The calculation of \cs{percentForPart} is done in one of two ways:
+\begin{enumerate}
+ \item If the \textsf{fp} package is loaded, ``floating point
+ arithmetic'' is used and results are rounded to the number of
+ decimal points determined by \cs{nPctDecPts}, the default
+ definition of which is \verb!\newcommand{\nPctDecPts}{1}!. This command may be redefined
+ to another nonnegative integer value.
+\item Otherwise---if the \textsf{fp} package is \emph{not
+ loaded}---\TeX's count registers are used, the percentage rounded
+ to the nearest integer.
+\end{enumerate}
+
+\newtopic The calculations are made when the \cs{maketitle} command is
+expanded. If, for whatever reason, you are not using \cs{maketitle}, you
+can place the command that does the calculations,
+\cs{EQEcalculateAllTotals}, just after \verb!\begin{document}!, and before
+the first use of \cs{theGrandTotal} and \cs{percentForPart}.
+
+\settowidth{\aebdimen}{\ttfamily\string\firstPageOfExam\darg{\meta{exam\_name}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\firstPageOfExam{!meta(exam_name)}
+\lastPageOfExam{!meta(exam_name)}
+\end{dCmd}
+\noindent These two commands expand the page numbers of the beginning and the ending
+of the exam environment, respectively, with name \meta{exam\_name}.
+
+\subsubsection{Localization of Strings}
+
+% Added 01/10/06
+% \examNameLabel
+% \ptsLabel, \ptsLabel
+% \eachLabel
+% \pointsLabel, \pointLabel
+% \defaultInstructions
+
+In this section we list various macros that expand to text
+appearing on an \textsf{eqexam} document. The default text is in
+English. These commands can be redefined to other English
+language phrases, or to other languages, and placed in the preamble of your document,
+or in one of the \texttt{.cfg} files.
+
+\begin{itemize}
+% Added 01/10/06
+\item\cs{examNameLabel}: On each page of the exam, there is a place
+for the student to enter her/his name. \cs{examNameLabel} can be
+used to define the name label, the default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\examNameLabel{Name:}
+\end{Verbatim}
+\item \cs{examAnsKeyLabel}: When the \texttt{answerkey} option is in
+ effect, the line in which the student enters her/his name (labeled by
+ \cs{examNameLabel}) is filled by the value of the text macro
+ \cs{examAnsKeyLabel}. The default definition is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\examAnsKeyLabel{Answer Key}
+\end{Verbatim}
+Thus, when the \texttt{answerkey}
+option is used, the name field appears as follows:
+\begin{flushleft}
+\underbar{\makebox[2.5in][l]{Answer Key}}
+\end{flushleft}
+
+\item\cs{ptLabel} and \cs{ptsLabel}: Labels for indicating the points of a problem, the first is
+the singular form of the second. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\ptLabel{pt} % singular form
+\ptsLabel{pts} % plural form
+\end{Verbatim}
+\item\cs{eachLabel}: Label for indicating the common point value of each of several parts
+of the same problem.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\eachLabel{ea.}
+\end{Verbatim}
+\item\cs{pointLabel} and \cs{pointsLabel}: The word for `points' used in the \texttt{instructions} environment
+ that lists the number of points in this exam. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\pointLabel{point} % singular form
+\pointsLabel{points} % plural form
+\end{Verbatim}
+The \cs{pointsLabel} command defines \cs{eq@pointsLabel}, which,
+in turn, is used in the \cs{summaryTotalsTxt}, the definition of
+which follows:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand{\summaryTotalsTxt}
+ {($\summaryPointTotal\,\text{\eqpointsLabel}$)}
+\end{Verbatim}
+\item\cs{defaultInstructions}: The \texttt{instructions} environment has a default heading.
+The command \cs{defaultInstructions} allows you to change this heading. The default is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\defaultInstructions{Instructions.}
+\end{Verbatim}
+\end{itemize}
+
+\newtopic See \Nameref{ptTotalsBoxes} as well as the section \mlNameref{courseInfo} for
+additional details on these and commands useful for laying out the
+standard text of an \textsf{eqexam} document.
+
+\subsubsection{Customization of Color}\label{customColor}
+
+When the \texttt{forcolorpaper} option is used, various elements---such as
+section titles, instruction headers, color for fill-in problems, and so on---have default colors. In
+this section we list the color controls, along with their default definitions.
+
+\begin{Verbatim}[numbers=left,xleftmargin=\leftmargini,fontsize=\fontsize{10}{14}\selectfont]
+\proofingsymbolColor{red}
+\instructionsColor{blue}
+\eqCommentsColor{blue}
+\eqCommentsColorBody{black}
+\universityColor{blue}
+\titleColor{black}
+\authorColor{black}
+\subjectColor{blue}
+\linkcolor{blue}
+\nolinkcolor{blue}
+\fillinColor{red}
+\forceNoColor
+\end{Verbatim}
+
+\noindent\textbf{Description of Color Commands:}
+\begin{enumerate}
+ \item The color of the proofing symbol, it appear for multiple
+ choice questions with the \texttt{answerkey} option in effect.
+ \item The color of the header text for the \texttt{instructions} environment.
+ The header is the text that appears in the optional argument.
+ \item The color for the header text for the \texttt{eqComments} environment.
+ The header is the text that appears in the optional argument.
+ \item The color for the body of the text for the \texttt{eqComments} environment.
+ \item The color of the university, visible only when the \texttt{coverpage} option is taken.
+ \item The color of the title, visible only when the \texttt{coverpage} option is taken.
+ \item The color of the author, visible only when the \texttt{coverpage} option is taken.
+ \item The color of the subject, visible only when the \texttt{coverpage} option is taken.
+ \item The color applied to a link, applies only when \textsf{hyperref} is included through one of the PDF options,
+ \texttt{links}, \texttt{online}, or \texttt{email}.
+ \item The color applied to a link that has been turned off, applies
+ only when \textsf{hyperref} is included through one of the PDF options,
+ \texttt{links}, \texttt{online}, or \texttt{email}.
+ \item The color of the a fill-in (including a True/False question)
+ when one of the options \texttt{answerkey},
+ \texttt{vspacewithsolns}, or \texttt{solutionsonly} is
+ taken.
+ \item This convenience command forces all the above colors to black. Useful when you want to use the
+ \texttt{showgrayletters}. This produces a black and white document, with gray letters. (If you use the
+ \texttt{forpaper} option, the gray letters appear black.)
+\end{enumerate}
+
+
+\subsection{Creating Multiple Versions of Exam}
+
+Unfortunately, I teach multiple sections of the same course, and
+am faced with the problem of writing different exams for the same
+course each administered to a different section.
+
+Typically, I only have a need for two variations on the test; however,
+further extensions can be made, if needed (See \Nameref{mutiVerNew})
+
+\subsubsection{The Original Version Scheme}\label{mutiVerOrig}
+
+The \textsf{eqexam} package defines a boolean switch,
+\cs{ifVersionA} for this purpose. The two sections of the same
+course are ``Version A'' and ``Version B''. The default is that
+you are preparing an exam for ``Version A''.
+
+The command \cs{forVersion} sets the version: \verb+\forVersion A+
+sets version to ``Version A'', and \verb+\forVersion B+ set the
+version to ``Version B''. (The argument of the \cs{forVersion} command is case
+insensitive, so you also type in \verb+\forVersion b+.)
+
+For small variations in text, there is the \cs{ifAB} macro,
+\settowidth{\aebdimen}{\ttfamily\string\ifAB\darg{\anglemeta{Version A text}}%
+\darg{\anglemeta{Version B text}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\ifAB{!anglemeta(Version A text)}{!anglemeta(Version B text)}
+\end{dCmd}
+\noindent for example, one could say,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\begin{problem}[2]
+Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$.
+\end{problem}
+\end{Verbatim}
+\noindent For longer variations, the \texttt{comments} package is
+used to create comment environments that are included or excluded.
+The two environments are \texttt{verA} and \texttt{verB}.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\begin{problem}[2]
+Compute $\frac{d}{dx}\ifAB{x^2}{x^3}$.
+
+\begin{solution}[1in]
+We use standard techniques:
+\begin{verA}
+$$
+ \frac{d}{dx} x^2 = 2x
+$$
+\end{verA}
+\begin{verB}
+$$
+ \frac{d}{dx} x^3 = 3x^2
+$$
+\end{verB}
+\end{solution}
+\end{problem}
+\end{Verbatim}
+
+There are several convenience macros for referring to the exams
+generated by the two variations.
+
+Usually, an exam, test, homework assignment has a number associate
+with it, e.g. ``Exam 1'', ``Test 2'', ``Assignment~\#12'', etc\@.
+This number should be defined using the \cs{examNum} macro.
+\settowidth{\aebdimen}{\ttfamily\string\examNum\darg{\meta{num}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\examNum{!meta(num)}
+\end{dCmd}
+where \meta{num} is the number to be associated
+with the exam (test, assignment) under construction.
+
+This command \emph{must appear before} \cs{title} in the
+preamble. The command \cs{examNum} takes its argument and defines
+another macro \cs{nExam}, which has no arguments, but expands to
+\meta{num}.
+
+The \textsf{eqexam} package defines two commands \cs{Exam} and
+\cs{sExam} to automatically enter the test information for the
+current version. In the preamble, you can say,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\title[\sExam]{\Exam}
+\end{Verbatim}
+\noindent \cs{Exam} is the long version of the test name, and takes as its
+argument the exam number. \cs{sExam} is the short version, having no
+argument. Both \cs{Exam} and \cs{sExam} use the value determined by
+\cs{examNum}, described above.
+
+The text of \cs{Exam} and \cs{sExam} are generated by the four
+commands,
+\begin{enumerate}
+\item \cs{VersionAtext\darg{\meta{text}}} This is the text for the long
+version of the exam name for ``Version A''. The default text is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\VersionAtext{Exam~\nExam--Version A}
+\end{Verbatim}
+
+\item \cs{VersionBtext\darg{\meta{text}}} This is the text for the long
+version of the exam name for ``Version B''. The default text is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\VersionAtext{Exam~\nExam--Version B}
+\end{Verbatim}
+
+\item \cs{shortVersionAtext\darg{\meta{text}}} This is the text for the
+short version of the exam name for ``Version A''. The default text
+is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\VersionAtext{Exam~\nExam A}
+\end{Verbatim}
+
+\item \cs{shortVersionBtext\darg{\meta{text}}} This is the text for the
+short version of the exam name for ``Version B''. The default text
+is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\VersionAtext{Exam~\nExam B}
+\end{Verbatim}
+\end{enumerate}
+
+\redpoint All the above commands,
+\textbf{\textcolor{blue}1}--\textbf{\textcolor{blue}4}, need to
+appear before \cs{title} in the preamble.\medskip
+
+\noindent Below is a ``typical'' example of how to correctly
+redefine all the version text.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\documentclass{article}
+\usepackage{amsmath}
+\usepackage[forpaper,pointsonleft,noparttotals,nosolutions]{eqexam}
+
+\examNum{1}
+\forVersion{B}
+\VersionAtext{Test~\nExam--003}
+\VersionBtext{Test~\nExam--007}
+\shortVersionAtext{T{\nExam}s3}
+\shortVersionBtext{T{\nExam}s7}
+
+\title[\sExam]{\Exam}
+\author{D. P. Story}
+\subject[C2]{Calculus II}
+\date{Spring \the\year}
+\keywords{Test \nExam, Section \ifAB{003}{007}}
+\end{Verbatim}
+
+
+\subsubsection{New Version Control}\label{mutiVerNew}
+
+In this section we introduce a new set of commands that supersede
+the commands defined above. Those commands were limited to only
+two versions. The ones below can handle up to $26$ versions.
+
+The steps for creating a multiple version \textsf{eqexam} document are as follows.
+\settowidth{\aebdimen}{\ttfamily\string\numVersions\darg{\meta{num}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\numVersions{!meta(num)}
+\end{dCmd}
+\noindent In the preamble, declare the number of versions for this document
+ using \cs{numVersions}, e.g., \verb|\numVersions{3}|.
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\longTitleText
+ {!anglemeta(Text_1)}
+ {!anglemeta(Text_2)}
+ ...
+ {!anglemeta(Text_n)}
+\endlongTitleText
+\end{Verbatim}
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=!()]
+\shortTitleText
+ {!anglemeta(Text_1)}
+ {!anglemeta(Text_2)}
+ ...
+ {!anglemeta(Text_n)}
+\endshortTitleText
+\end{Verbatim}
+\textbf{Note:} If there are more titles than what are declared, the rest
+of the titles are absorbed (gobbled). If there are fewer titles than declared, a
+{\LaTeX} package error is generated, and ``fake'' titles are
+generated.
+
+
+\newtopic Next, state the long and short titles for the document,
+one for each of the declared number of versions given earlier in \cs{numVersions}.
+For example, we can use the value \cs{nExam} in our titles. Usage:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\longTitleText
+ {Test~\nExam--Version A}
+ {Test~\nExam--Version B}
+ {Test~\nExam--Make Up}
+\endlongTitleText
+\shortTitleText
+ {T\nExam A}
+ {T\nExam B}
+ {T\nExam MU}
+\endshortTitleText
+\end{Verbatim}
+These two commands give values to \cs{Exam} and \cs{sExam}. If
+\verb!\forVersion{a}! is executed, \cs{Exam} expands to the text \verb|Test~\nExam--Version A| and
+\cs{sExam} expands to \verb|T\nExam A|, using the example above. The value of \cs{nExam}
+is determined by the \cs{examNum} command, as described above.
+
+\newtopic Next is the command that does all the work. It creates alternate
+text macros for each of the versions declared using \cs{numVersions}. The syntax is
+\settowidth{\aebdimen}{\ttfamily\string\forVersion\darg{\meta{letter}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\forVersion{!meta(letter)}
+\end{dCmd}
+For example, assuming \verb|\numVersions{3}|, \verb|\forVersion{a}| (or \verb|\forVersion{A}|) defines $3$ text commands \cs{vA}, \cs{vB} and
+\cs{vC}, each taking one argument, the text you want to display:
+\begin{Verbatim}[xleftmargin=\leftmargini]
+ Name the \vA{place}\vB{date}\vC{year} of the signing
+ of the Magna Carta.
+\end{Verbatim}
+\noindent Since \verb|forVersion{a}| was declared, only the \cs{vA} text
+is displayed, the others are gobbled up. But wait, time out, the \cs{forVersion}
+does more than that! It also creates a series of comment environments
+\verb|\begin{verA}/\end{verA}|, \verb|\begin{verB}/\end{verB}|, \verb|\begin{verC}/\end{verC}|, etc.,
+where only the version for which this compile applies will be typeset,
+the others are commented out.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\numVersions{3}
+\forVersion{b}
+...
+\begin{document}
+...
+Solve the equation for $\vA{x}\vB{y}\vC{z}$:
+\[
+\begin{verA}
+ 2x + 4 = 7
+\end{verA}
+\begin{verB}
+ 5y + 2 = 4
+\end{verB}
+\begin{verC}
+ 3z - 2 = 2
+\end{verC}
+\]
+\end{Verbatim}
+
+\noindent Here is a final example of the multiple version scheme, taken from the preamble of one of
+my Calculus tests.
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\documentclass{article}
+\usepackage{amsmath,graphicx}
+\usepackage[forpaper,pointsonleft,nototals,nosolutions]{eqexam}
+%\usepackage[forpaper,pointsonleft,nototals,answerkey]{eqexam}
+
+\numVersions{3}
+\forVersion{a}
+\examNum{1}
+\longTitleText
+ {Test \nExam--Version A}
+ {Test \nExam--Version B}
+ {Test \nExam--Make Up}
+\endlongTitleText
+\shortTitleText
+ {T\nExam A}
+ {T\nExam B}
+ {T\nExam MU}
+\endshortTitleText
+
+\subject[C3]{Calculus III}
+\title[\sExam]{\Exam}
+\author{Dr.\ D. P. Story}
+\university
+{%
+ THE UNIVERSITY OF AKRON\\
+ Department of Theoretical and Applied Mathematics
+}
+\date{\thisterm\space\the\year} % Fall 2005
+\duedate{09/26/05} % actual date of the test
+% If you convert to pdf using a pdf (links, online, email)
+% option, this will appear in the keywords field of the
+% document info dialog.
+\keywords{\Exam, administered \theduedate}
+\end{Verbatim}
+
+\newtopic There is one additional command that can be used to locally control
+which version that is typeset in the document.
+\settowidth{\aebdimen}{\ttfamily\string\selectVersion\darg{\meta{num}}%
+\darg{\meta{total\_versions}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\selectVersion{!meta(num)}{!meta(total_versions)}
+\end{dCmd}
+You can place the \cs{selectVersion} command in front of a question or a part of a question
+that has multiple versions. Through this command you can select which version to typeset,
+provided the option \texttt{obeylocalversions} is set. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\selectVersion{3}{4}
+\begin{problem}[10]
+...
+\end{problem}
+\end{Verbatim}
+\noindent The \cs{selectVersion} command says there are four variations on the next question
+and the document author wants to use the third one (that would correspond to C, in the
+\cs{forVersion} command). Again, the \texttt{obeylocalversions} must be taken for
+\textsf{eqexam} to obey this command.
+
+\newtopic \textbf{Recommendation:} Each problem should
+have the command \cs{selectVersion} in front of it, even for parts.
+Suppose the document author says \verb!\numVersions{5}!, but some
+problems don't have five versions, what do you do? If there is a
+\cs{selectVersion} in front of a problem with multiple versions, the
+\cs{selectVersion} will partially expand to determine if it is
+needed. It is needed if the version specified by \cs{forVersion}, is
+greater than the number of versions for the problem. In this case,
+\cs{selectVersion} performs modular arithmetic to compute which
+version is to be used. For example, if \verb!\forVersion{E}! has
+been declared in the preamble, but a problem has only three
+variations, the \textsf{eqexam} will use variation B; if
+\verb!\forVersion{D}! was declared, version A is
+used, and so on.
+
+
+\subsection{The Point and Totals Boxes}\label{ptTotalsBoxes}
+
+There are two types of points boxes, but only one type of totals
+box. All the commands listed below can be redefined for language
+localizations, for example.
+
+\redpoint Points that appear in the left margin (the
+\texttt{pointsonleft} or \texttt{pointsonboth} options). There are two text macros
+that are used,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\leftmarginPtsTxt[1]{(\small$#1^{\text{pts}}$)}
+\end{Verbatim}
+\noindent when the total points for that problem are shown, and the other
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\leftmarginPtsEaTxt[1]
+ {(\small$#1_{\text{ea.}}^{\text{pts}}$)}
+\end{Verbatim}
+\noindent when the author indicates that each sub-part of a problem
+is weighted the same, (when the author begins a \texttt{problem*}
+environment with \verb+\begin{problem*}[3ea]+, for example).
+
+\redpoint Points that appear in the right margin (options
+\texttt{pointsonright} or \texttt{pointsonboth}). These points appear
+in the bottom half of a box, the text for that box is determined by the
+following definition.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\marginpointsboxtext[2]{\small$#1\,\text{pts}$}
+\end{Verbatim}
+\noindent By the way, the purpose of the upper part of the box is
+for the instructor to enter the number of points a student
+received for that problem.
+
+\redpoint Points specified by the \cs{PTs} command. This text is
+defined by \cs{itemPTsTxt} as follows. See the paragraphs on
+\Nameref{problemstar} for a discussion of the use of \cs{PTs}.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\itemPTsTxt[1]{($#1$ pts)}
+\end{Verbatim}
+
+\redpoint \textbf{The totals box.} When you specify either option
+\texttt{totalsonleft} or \texttt{totalsonright}, you get a page totals
+box appearing in the lower left or right bottom corner.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\small]
+\newcommand\totalsboxtext{\small$\theeqpointsthispage\,\text{pts}$}
+\end{Verbatim}
+where \texttt{eqpointsthispage} is a counter whose value
+at the end of each page \emph{should} be the page total. For tests
+that have multiple \texttt{exam} environments, if one exam part
+ends on a page, and another begins on the same page, this number
+(\texttt{eqpointsthispage}) is the total on the page from the
+beginning of the new exam part. In this case, at the end of the
+exam part, there should also appear a remaining total for that
+part on that page.
+
+The totals boxes are located in the lower right corner
+(\texttt{totalsonright}) or in the lower left corner
+(\texttt{totalsonleft}). Vertical placement of these boxes is controled
+by the length \cs{eqevtranstotbox}, its default value is
+\texttt{0pt}. To raise the boxes \texttt{6pt}, for example,
+execute \verb!\setlength{\eqevtranstotbox}{6pt}!; the box may be lowered
+by using a negative length.
+
+\redpoint \textbf{Summary Totals.} When you use the \texttt{instructions}
+environment to give initial instructions for an exam, the total
+points appears automatically in the text, unless you specify the
+\texttt{nosummarytotals} option. This text is defined by
+\cs{summaryTotalsTxt}, whose definition follows:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\newcommand\summaryTotalsTxt{($\summaryPointTotal\,\text{points}$)}
+\end{Verbatim}
+\noindent where \cs{summaryPointTotal} is a macro that expands to
+the total for this \texttt{exam} environment.
+
+\subsection{The \texttt{eqComments} Environment}
+
+In addition to the \texttt{instructions} environment, as explained
+in the section~\ref*{exam}, entitled \Nameref{exam}, should you want to insert
+additional instructions from within the body or the exam, use the
+\cs{eqComments} environment. The \cs{eqComments} environment has
+one optional argument, a formatted heading for the comments you
+want to make. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{eqComments}[Proofs.]
+Solve each of the problems~5--8 on a separate sheet of paper,
+do not write on the back of the paper. Follow the instructions
+provided for each problem. Use your little gray cells.
+\end{eqComments}
+\end{Verbatim}
+\noindent Such instructions must go between problems, of course,
+not within the body of either a \texttt{problem} or a
+\texttt{problem*} environment.
+
+\redpoint The optional argument has a color associated with it, and
+is visible when you compile the document with the
+\texttt{forcolorpaper} option. \cs{eqCommentsColor} colors the text that may appear
+in the optional argument of the environment; \cs{eqCommentsColorBody} colors the body
+of the text. Each take a single named color argument.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\eqCommentsColor{blue}
+\eqCommentsColorBody{black}
+\end{Verbatim}
+The above are the default definition.
+
+\subsection{The \texorpdfstring{\protect\cs{OnBackOfPage}}{\textbackslash OnBackOfPage} Command}\label{onbackofpage}
+
+In order to reduce the number of pages needed for an exam, I often
+cheat by asking the student to work on the back of one of the test
+pages.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\bopText{on the back of page~\boPage}
+\newcommand\bopCoverPageText{(the cover page)}
+\newcommand\OnBackOfPage[1][\bopText]{%
+\end{Verbatim}
+
+For this, I use the \cs{OnBackOfPage} command
+\settowidth{\aebdimen}{\ttfamily\string\OnBackOfPage[\meta{text}]}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\OnBackOfPage[!meta(text)]
+\end{dCmd}
+\noindent The optional argument allows you to enter variational
+text, text that varies from the default text. The default text is
+contained in \cs{bopText} macro, its definition is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\bopText{on the back of page~\boPage}
+\end{Verbatim}
+\noindent where \cs{boPage} is the page the student is instructed
+to do the work. Thus, if you say, ``Continue \cs{OnBackOfPage}.''
+This would expand to ``Continue on the back of page 2.'', or
+whatever \cs{boPage} is determined to be.
+
+\newtopic To illustrate the use of the optional argument of
+\cs{OnBackOfPage}, you might say,
+\begin{quote}
+ \verb+\OnBackOfPage[The back of page~\boPage]+ can be used\\
+ to continue work, if necessary.
+\end{quote}
+This expands to
+``The back of page 2 can be used to continue work, if necessary.''
+
+The algorithm used to compute the page, \cs{boPage}, on which to
+continue to work is as follows: For all pages, except for the
+first page of the test, the student works on the back of the
+previous page. For the first page of the test, the student works
+on the back of the first page, unless there is a cover page, in
+which case the student is instructed to work on the back of that
+page.
+
+In the case of working on the back of the cover page, there is a variation on the
+instructions, \cs{OnBackOfPage} expands to ``on the back of page 1 (the cover page)''.
+The phrase ``(the cover page)'' can be redefined using the \cs{bopCoverPageText} command.
+The definition of this command is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\bopCoverPageText{\space(the cover page)}
+\end{Verbatim}
+\noindent We could change this as follows,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\renewcommand\bopCoverPageText{, the cover page}
+\end{Verbatim}
+\noindent so that it would now read, ``on the back of page 1, the cover page''. To remove this feature
+altogether, you could redefine as
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\renewcommand\bopCoverPageText{}
+\end{Verbatim}
+
+\subsection{\texorpdfstring
+ {The \cs{pushProblem} and \cs{popProblem} Commands}
+ {The \CMD{pushProblem} and \CMD{popProblem} Commands}
+}
+
+
+There may be an occasion when a multi-part question needs to be broken between parts,
+use the \cs{pushProblem} and \cs{popProblem} for this purpose. The push saves the
+counter value, and ends the \texttt{parts} environment. The pop restarts the
+\texttt{parts}, and resets the parts counter.
+
+\newtopic
+In the \texttt{multicols} environment below, we \cs{pushProblem}, then close \texttt{multicols}, we execute \cs{popProblem}, and then continue with the multi-parts in single column.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[\auto]
+Do each of the following without error.
+\begin{multicols}{2}
+ \begin{parts}
+ \item\PTs{3} This is a problem.
+ \begin{solution}[1in]\end{solution}
+
+ \item\PTs{3} This is a problem.
+ \begin{solution}[1in]\end{solution}
+\pushProblem
+\end{multicols}
+\popProblem
+ \item\PTs{4} Do this harder problem.
+ \begin{solution}[.5in]\end{solution}
+ \end{parts}
+\end{problem*}
+\end{Verbatim}
+\newtopic In the example, the first two questions appear in two
+column format, while the third appears in single column format. The
+same thing can be done in reverse, like so:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem*}[\auto]
+Do each of the following without error.
+ \begin{parts}
+ \item\PTs{3} This is a problem.
+ \begin{solution}[1in]\end{solution}
+\pushProblem
+\begin{multicols}{2}
+\popProblem
+ \item\PTs{4} This is a hard problem.
+ \begin{solution}[1in]\end{solution}
+ \item\PTs{4} Do this harder problem.
+ \begin{solution}[1in]\end{solution}
+ \end{parts}
+\end{multicols}
+\end{problem*}
+\end{Verbatim}
+\newtopic Now, first question is in single column and the next two are in two column format.
+
+\handpoint In order to get the correct formatting, the \texttt{multicols} environment must begin
+before the \texttt{parts} environment.
+
+%\newtopic See \texttt{quiz02.tex} for an example of \cs{pushProblem} and \cs{popProblem}.
+
+\exAeBBlogPDF{p=1211} See \texttt{\href{\urlAcroTeXBlog/?p=1211}{quiz02.pdf}}
+for an example of \cs{pushProblem} and \cs{popProblem}.
+
+
+\subsection{\texorpdfstring{\protect\cs{qNewPage}, \protect\cs{aNewPage},
+ and \protect\cs{promoteNewPage}}
+ {\CMD{qNewPage}, \CMD{aNewPage}, and \CMD{promoteNewPage}}}\label{aqpNewPage}
+
+The command \cs{qNewPage} (questions newpage) and \cs{aNewPage}
+(answers newpage) are convenience commands for creating new pages.
+The first one expands to \cs{newpage} when the \cs{ifanswerkey} is
+false and the second one expands to \cs{newpage} when the
+\cs{ifanswerkey} is true; their definitions are
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand\qNewPage{\ifanswerkey\else\newpage\fi}
+\newcommand\aNewPage{\ifanswerkey\newpage\fi}
+\end{Verbatim}
+
+The \cs{promoteNewPage} can be used to insert a page break, if needed.
+\settowidth{\aebdimen}{\ttfamily\string\promoteNewPage\darg{\meta{vspace}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\promoteNewPage[!meta(vspace)]
+\end{dCmd}
+If there is more than \meta{vspace} left on the current page, a
+\cs{newpage} command is executed (a \cs{columnbreak} if in a
+\texttt{multicols} environment). The default value for \meta{vspace}
+is \cs{@fvsizeskip}\cs{textheight}, where \cs{@fvsizeskip} is a decimal
+number between 0 and 1 that is set by \cs{fvsizeskip}. The default is
+\verb!\fvsizeskip{.3}!. This means that if there is less than
+\verb!.3\textheight!, and new page is created. This may be too large for
+most applications, so you can pass a \meta{vspace} through the optional argument.
+For example, \cs{promoteNewPage[.25in]}.
+
+
+
+\subsection{Support for Solution Sets from a Text}\label{solnSets}
+
+I use \textsf{eqexam} not only for exams, quizzes and homework
+assignments, but also for solution sets for problems assigned from the text.
+
+Suppose the assignment was to solve, on a certain page in the text,
+problems which include \textbf{2}, \textbf{6} and \textbf{12(b)(d)} and
+it is desired to provide solutions to these problem. For this
+purpose, \textsf{eqexam} provides \cs{forproblem} and \cs{foritem}. These
+commands are used as follows:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{exam}{HW\nExam}
+\begin{instructions}[Description] (10 points)
+Selected solutions from Assignments~24, 25, \S7.1.
+\end{instructions}
+
+\begin{eqComments}[\S7.1]
+\textbf{Solving Linear Equations}
+\end{eqComments}
+
+\forproblem{2}
+\begin{problem}
+Statement of problem.
+\begin{solution}
+Solution to this problem.
+\end{solution}
+\end{problem}
+
+\forproblem{6}
+\begin{problem}
+Statement of problem.
+\begin{solution}
+Solution to this problem.
+\end{solution}
+\end{problem}
+
+\forproblem{12}
+\begin{problem*}
+Statement of problem.
+\begin{parts}
+ \foritem{b} Statement for item (b)
+ \begin{solution}
+ Solution to this problem.
+ \end{solution}
+
+ \foritem{d} Statement for item (d)
+ \begin{solution}
+ Solution to this problem.
+ \end{solution}
+\end{parts}
+\end{problem*}
+\end{exam}
+\end{Verbatim}
+
+\subsection{Referencing Multiple Choice Questions}\label{showgraylettersOpt}
+
+When the \texttt{showgrayletters} option is used, each alternatives in a
+multiple choice question will have a gray capital letter \texttt{A},
+\texttt{B}, \texttt{C}, etc. underneath it. This letter can then be
+referred to in the text or the solution.
+
+The use of this option is global and is controlled by the switch,
+\cs{ifaeb\-show\-gray\-letters}. The gray letter feature can be turned on
+and off locally: To turn on this feature, insert the command
+\cs{graylettersOn} at some appropriately chosen point in
+the document; to turn off the gray letter feature insert
+\cs{graylettersOff}.
+
+\newtopic In support of the \texttt{showgrayletters} option is a new
+command \cs{REF}. \cs{REF} acts like the {\LaTeX} command \cs{ref}
+with the hyperref modifications, but it converts the reference to
+uppercase. When \cs{ref} would typeset the letter `a', for example,
+\cs{REF} would typeset the letter `A'. \cs{REF}, like \cs{ref},
+typesets a hyperref link. Hyperref defines a \texttt{*} version of
+\cs{ref}; \cs{ref*} typesets the reference, but does not create a
+link; \cs{REF*} does the same. When \cs{aebshowgraylettersfalse} is
+in effect, \cs{REF} does not capitalize the reference.
+
+\redpoint Below is an example of this.
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{problem}[5]
+Answer this if you can!
+\begin{answers}{2}
+\bChoices
+ \Ans0\label{testsqFirst} This is a possible answer.\eAns
+ \Ans1\label{testsqSecond} Try this one (the correct one).\eAns
+ \Ans0 This is an answer.\eAns
+ \Ans0 Another alternative.\eAns
+\eChoices
+\end{answers}
+\begin{solution}
+We reference alternatives (\REF*{testsqFirst}), an incorrect answer,
+and (\REF{testsqSecond}), the correct answer.
+\end{solution}
+\end{problem}
+\end{Verbatim}
+\newtopic Notice that the gray letters was not turned to off
+until after the usage of \cs{REF}.
+
+\newtopic\textcolor{red}{\bfseries Important} The gray letters are typeset into the document. Do not
+use a background color for the checkboxes as this color will cover
+up the gray letters. The default background color checkboxes is
+transparent, keep it that way.
+
+\newtopic When typesetting an exam for paper (using the \texttt{forpaper}
+option), the gray letters appear as black letters. If you want actual gray
+letters, you have to use the \texttt{forcolorpaper} option. In this case,
+you'll see the blue color appearing in various places. Change these blue
+colors to black using the following commands in the preamble:
+\settowidth{\aebdimen}{\ttfamily\string\forceNoColor}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\forceNoColor
+\end{dCmd}
+
+
+\subsection{Displaying Points between two Markers}
+
+Some instructors might like a subdivide the exam into segments (or parts) and to have a total for
+that segment of problems. The \textsf{eqexam} package offers three commands for that purpose.
+\settowidth{\aebdimen}{\ttfamily\string\calcFromMarkers[\meta{formatting}]\darg{\meta{name2}}\darg{\meta{name3}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\placeMarkerHere{!meta(name)}
+\calcFromMarkers[!meta(formatting)]{!meta(name2)}{!meta(name3)}
+\markerTotalFmt{!meta(formatting)}
+\end{dCmd}
+Place \cs{placeMarkerHere} outside of a \texttt{problem}/\texttt{problem*} environment, giving each
+a unique name; for example \verb!\placeMarkerHere{bQForm}!. Place
+\cs{calcFromMarkers} wherever you wish a calculation to be displayed, for example,
+
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\placeMarkerHere{bQForm}
+\begin{eqComments}[Quadratic Formula\calcFromMarkers{eQForm}{bForm}.]
+Solve each of the following equations using the quadratic formula.
+\end{eqComments}
+..
+\begin{problem}[5]
+...
+\end{problem}
+...
+% Finished with problems that use the quadratic formula,
+% now create another marker for the next set of questions.
+\placeMarkerHere{eQForm}
+...
+\end{Verbatim}
+After you {\LaTeX} three times (and the totals are all brought up to date),
+the header of the \textbf{eqComments} should read \textbf{Quadratic
+Formula (12 points)}, where the \textbf{12 points} are the total of all
+points assigned between the \texttt{bQForm} marker and the \texttt{eQForm}
+marker.
+
+The formatting for the total points between markers is determined by the optional first parameter
+of \cs{calcFromMarkers}, and if there is no optional first parameter, by a global command,
+\cs{markerTotalFmt}, which sets the default formatting. The default definition of
+\cs{markerTotalFmt} is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\markerTotalFmt{ (\themarkerCnt\space points)}
+\end{Verbatim}
+The command \cs{themarkerCnt} references the counter \texttt{markerCnt} in which the calculations are made.
+Any redefinition of \cs{markerTotalFmt} should use \cs{themarkerCnt} to reference to value.
+
+You use the optional first parameter the same way as the definition of \cs{marker\-Total\-Fmt}. You can say, for
+example, you can type
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\calcFromMarkers[ $\themarkerCnt^{\text{pts}}$]{eQForm}{bForm}
+\end{Verbatim}
+to get a formatted total \verb*! $12^{\text{pts}}$!, which typesets to ` $12^{\text{pts}}$'.
+
+You might have noticed that I've inserted a space character at the beginning of the definition
+\verb*!\markerTotalFmt{ (\themarkerCnt\space points)}!, and place \cs{calc\-From\-Markers} up against
+the previous word, as in
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Quadratic Formula\calcFromMarkers{eQForm}{bForm}.
+\end{Verbatim}
+This is so that when the required totals are not defined---early in the {\LaTeX}ing process---there
+is no space between \texttt{Formula} and the period (.); this is nothing but a cosmetic trivial point. After
+you {\LaTeX} enough times, the full expansion appears as,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Quadratic Formula (12 points).
+\end{Verbatim}
+
+
+\subsection{Extending the \texorpdfstring{\protect\cs{fillin}}{\CMD{fillin}} Command}\label{extendfillin}
+
+When the document author uses the \texttt{usexkv} option, and the
+\textsf{xkeyval} package is found on the document author's system,
+the \cs{fillin} command is redefined to use key-value pairs in the
+optional first argument. The syntax for \cs{fillin} now is,
+%\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\fontsize{9}{11}\selectfont]
+\begin{dCmd}[commandchars=!(),fontsize=\small]{\linewidth}
+\fillin[
+ underline=true|false,u,b,boxed=true|false,boxpretext=!anglemeta(text),
+ align=l|r|c,boxsize=!anglemeta(!upshape(\tiny|...|normalsize|large|...|Huge)),
+ color=!anglemeta(namedcolor),format=!anglemeta(!upshape\bfseries|\ttfamily|\Large|!meta(whatever)),
+ enclosesoln=!anglemeta(!upshape(true|false)),fitwidth=!anglemeta(!upshape(true|false))
+]{!meta(width)}{!meta(answer)}
+\end{dCmd}
+\textbf{Parameter Description.} \cs{fillin} takes three parameters.
+\begin{enumerate}
+\item The first optional parameter uses a key-value system, these allow the document author
+to set the appearance and behavior of the field. The keys are described below.
+
+\item The second parameter \meta{width} is the amount of horizontal
+space to leave for the student to write in the response. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\fillin[boxed,boxsize=Large]{1.5in}{$2x - 3$}
+\end{Verbatim}
+Yields the following results, depending on the option.
+\begin{alignat*}{2}
+&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad
+\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\
+&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad
+\boxed{\text{\Large\strut}\makebox[1.5in]{$2x-3$}}
+\end{alignat*}
+If this parameter is left empty,
+the \textsf{eqexam} uses the \meta{answer} parameter to determine the width of the field.
+The code
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\fillin[boxed,boxsize=Large]{}{$2x - 3$}
+\end{Verbatim}
+gives a box the same width as the answer, $2x-3$, which is not very wide
+in this case. On the test, (compiled with the \texttt{nosolutions} option)
+the student would see this box
+$\boxed{\text{\Large\strut}\text{\phantom{$2x-3$}}}$. Though we can typeset the
+answer into this box, it is too narrow for the student to write the answer
+into; a better strategy is as follows:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\small]
+\fillin[boxed,boxsize=Large]{\ifNoSolutions{1.5in}{}}{$2x - 3$}
+\end{Verbatim}
+Now, when the file is compiled under different options, we obtain
+\begin{alignat*}{2}
+&\makebox[1.5in][c]{\text{\texttt{nosolutions} option}}&&\qquad
+\makebox[1.5in][c]{\text{\texttt{answerkey} option}}\\
+&\boxed{\text{\Large\strut}\makebox[1.5in]{\hfill}}&&\qquad
+\makebox[1.5in][c]{$\boxed{\text{\Large\strut}2x-3}$}
+\end{alignat*}
+For the answer key version, the answer is enclosed is tightly enclosed, a
+cosmetic difference. See also the \texttt{fitwidth} option.
+
+\item[] The command \verb!\ifNoSolutions{#1}{#2}! executes the first parameter if
+the compile option is \texttt{nosolutions}, otherwise it executes the second parameter.
+
+\item The third argument, \meta{answer}, is the correct answer; this correct answer
+appears when the document is compiled with the \texttt{answerkey} option.
+\end{enumerate}
+
+\newtopic\textbf{The description of the key-value pairs for \cs{fillin}:}
+\begin{description}
+ \item[\texttt{underline}:] A Boolean switch, which if \texttt{true}, the
+ fill-in region is underlined. The default is \texttt{false}, the region
+ is not underlined.
+ \item[\texttt{u,b}:] Legacy options. If \texttt{u} is chosen, the region is
+ underlined, if \texttt{b} is chosen, the region is not underlined. Use
+ of the \texttt{underline} key is recommended.
+ \item[\texttt{boxed}:] A Boolean switch, which if \texttt{true}, the
+ fill-in region is boxed in using the \cs{boxed} command of
+ \textsf{amsmath} package. The default is \texttt{false}, the region is
+ not boxed.
+ \item[\texttt{boxpretext}:] A key that takes \meta{text} as its value. This
+ value will be placed in front of the third argument, labeled
+ \meta{answer} above. The \meta{text} appears in the box even when
+ the \texttt{answerkey} is not in effect. This key is ignored if the
+ \texttt{boxed} option is not taken.
+
+ This option allows you to create an expression like
+\begin{equation*}
+ \boxed{ y =\hspace{1in}\text{\Large\strut}}\quad\text{and with \texttt{answerkey}}\quad
+ \boxed{ y = \rlap{$2x^2 + 1$}\hspace{1in}\text{\Large\strut}}
+\end{equation*}
+ \item[\texttt{boxsize}:] This is a choice key, the choices being \texttt{tiny}, \texttt{scriptsize}, \texttt{footnotesize}, \texttt{small}, \texttt{normalsize},
+ \texttt{large}, \texttt{Large}, \texttt{LARGE}, \texttt{huge} and \texttt{Huge}. the smaller sizes probably are not useful,
+ I give them to you for free. This key allows you to adjust the height of the box. This key is ignored if the
+ \texttt{boxed} key does not appear in the option list. For example,
+\begin{flushleft}
+\hskip\leftmargini\begin{tabular}{@{}cc}
+ \makebox[1.2in][c]{\texttt{boxsize=Large}}&\makebox[1.2in][c]{\texttt{boxsize=Huge}}\\
+ \multicolumn{1}{@{}p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Large\strut}}&
+ \multicolumn{1}{p{1.2in}}{\kern0pt\centering\fbox{\hspace{1in}\Huge\strut}}
+\end{tabular}
+\end{flushleft}
+ Choice of size depends on the height of the anticipated response of
+ the student. The default is \texttt{normalsize}.
+
+ \item[\texttt{enclosesoln}:] This Boolean key only takes effect when the
+ \texttt{boxed} key is used, and when either the \texttt{nosolutions} or the
+ \texttt{vspacewithsolns} option is taken. When these conditions are
+ met, a box is created around the solution (the third parameter of \cs{fillin}); the solution
+ is enclosed in a \cs{phantom} so it is not seen, but the dimensions of the solution are used.
+ This key allows you to create a box or arbitrary dimension.
+
+A simple example would be
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\small]
+\fillin[boxed,enclosesoln,parbox={[t][1in]}]{2.4in}{%
+ The box is 2.4 inch wide and 1 inch high. The solution to
+ this problem appears when \texttt{answerkey} is in effect.
+}
+\end{Verbatim}
+Below shows how this command appears under different options.
+\begin{equation*}\def\fb#1{#1-2\fboxrule-2\fboxsep}
+\boxed{\phantom{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{%
+ The box is 2.4 inch wide and 1 inch high. The solution to
+ this problem appears when the answerkey is in effect}
+}}\quad\boxed{\parbox[b][\fb{1in}][t]{\fb{2.4in}}{%
+ The box is 2.4 inch wide and 1 inch high. The solution to
+ this problem appears when \texttt{answerkey} is in effect.
+}}
+\end{equation*}
+The box on the left is appears when the \texttt{nosolutions} or
+\texttt{vspacewithsolns} is in effect. The one on the right appears when
+the \texttt{answerkey} option is taken. Note the size of the two boxes are
+the same.
+
+\textbf{Note:} The explanation of the \texttt{parbox} option used in this
+example appears below.
+
+\item[\texttt{fitwidth}] This key is an implementation of the
+ \cs{ifNoSolutions} strategy discussed earlier. If \texttt{fitwidth} is
+ specified and the \texttt{nosolutions} option (an \textsf{eqexam}
+ option) is in effect, the width of the fill-in region is taken from
+ the second parameter; however, if the \texttt{answerkey} option is
+ specified, the natural with of the answer (the third parameter) is
+ used.
+
+ \item[\texttt{align}:] A key that takes one of three values, \texttt{l},
+ \texttt{\texttt{r}}, and \texttt{c}. This key aligns the text within
+ the fill-in field (when the \texttt{answerkey} option is taken):
+ \texttt{l} (left-aligned), \texttt{c} (center, the default), \texttt{r}
+ (right-aligned). This parameter affects the position of the
+ \meta{answer}, and does not affect the position of the
+ \meta{text}, which is aligned left, of the \texttt{boxpretext} key.
+ The alignment becomes visible when the \texttt{answerkey} option is in
+ effect.
+
+ \item[\texttt{hiddenbox}:] When the \texttt{boxed} option is used,
+ \textsf{eqexam} uses an \cs{fbox} to enclose the content.
+ The \texttt{hiddenbox} is used with the \texttt{boxed} option and it
+ resets the lengths of \cs{fboxrule} and \cs{fboxsep} to
+ \texttt{0pt}. In this way, some of the features
+ (\texttt{enclosesoln} and \texttt{boxpretext}, for example) that
+ apply to boxed content can be used without the surrounding boundary
+ rule. See \texttt{parbox} for an example.
+
+ \item[\texttt{parbox}:] When this option is taken, \textsf{eqexam}
+ encloses the third argument (the answer) in a \cs{parbox}. The value
+ of the \texttt{parbox} option is the first three parameters of a
+ \cs{parbox}; for example \verb!parbox={[t][.5in][c]}! causes \cs{fillin}
+ to enclose the content in a \cs{parbox} with a height of \texttt{.5in}. The width
+ of the \cs{parbox} is taken to be the second parameter of
+ \cs{fillin} macro. The third parameter of \cs{fillin} becomes
+ \cs{parbox[t][.5in][c]\darg{\meta{width}}\darg{\meta{answer}}}.
+ The value of the \texttt{parbox} key needs to be
+ enclosed in braces, as just illustrated.
+
+Here is an example of the use of this key-value pair:
+\begin{Verbatim}[xleftmargin=\leftmargini,fontsize=\small]
+\fillin[parbox={[t][.5in]},boxed,hiddenbox,
+ boxpretext={\textbf{\textcolor{black}{Conclusion: }}},
+ format=\normalfont,enclosesoln]{\linewidth}{%
+ There is sufficient evidence at the $\alpha=0.05$ level to
+ conclude that the mean microwave repair cost is less than
+ \$100.}
+\end{Verbatim}
+If you say \cs{fillin[parbox,boxed,\meta{options}]\darg{\meta{width}}\darg{\meta{answer}}} (\texttt{parbox} with the
+empty argument), translates into \cs{parbox\darg{\meta{text}}}, the height of the box is the
+natural height of the content.
+
+Note the presence of the \texttt{hiddenbox} key, in this case, no rule
+or additional spacing appears around the box.
+
+ This typesets, when \texttt{answerkey} option is used as
+
+ \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }}
+ There is sufficient evidence at the $\alpha=0.05$ level to
+ conclude that the mean microwave repair cost is less than
+ \$100.}
+
+ When \texttt{answerkey} is not used, the following is seen (by the student at test time):
+
+ \parbox[t][.5in]{\linewidth}{\textbf{\textcolor{black}{Conclusion: }}}
+
+ The same vertical space is used in both cases because of the \texttt{enclosesoln}
+ option taken in this example.
+
+ If the \texttt{hiddenbox} key is removed, a proper boxed region appears,
+
+ $\def\FB#1{#1-2\fboxrule-2\fboxsep}
+ \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{\textbf{\textcolor{black}{Conclusion: }}
+ There is sufficient evidence at the $\alpha=0.05$ level to
+ conclude that the mean microwave repair cost is less than
+ \$100.}}$
+
+ Similarly, when \texttt{answerkey} is not used, the following is seen,
+
+ $\def\FB#1{#1-2\fboxrule-2\fboxsep}
+ \boxed{\parbox[t][\FB{.5in}]{\FB{\linewidth}}{%
+ \textbf{\textcolor{black}{Conclusion: }}\hfill\vfill}}$
+
+
+ \item[\texttt{color}:] The value of this key is a named color. The
+ \meta{answer} appears in this color, when \texttt{answerkey} option is
+ in effect. The default is red.
+
+ \item[\texttt{format}:] A general purpose formatting key. The value of the key can be most anything:
+ \cs{bfseries} (to change font series), \cs{ttfamily} (to change font family), \cs{Large} (to change size of
+ the \meta{answer} and \meta{text} (the value of \texttt{boxpretext}). Several formatting commands can appear
+ as the value; thus, \verb!format={\bfseries\Large}! makes the answer, when \texttt{answerkey} is in effect, appear in large bold font.
+ The default is \verb!format={\fillInFormatDefault}!, where the definition of the command \cs{fillInFormatDefault} is
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand{\fillInFormatDefault}{\bfseries}
+\end{Verbatim}
+\end{description}
+The next three keys apply when a \texttt{boxed} option is not taken, that is, they
+apply to the case of \texttt{u} (\texttt{underlined}) or \texttt{b} (blank). The keys were designed
+for the \texttt{underline} option, however.
+\begin{description}
+\item[\texttt{lift}:] The syntax is \texttt{lift=length} This key lowers the underline without changing the baseline reference
+point of the content. For example, \texttt{lift=10pt} lowers the underlining by \texttt{10pt}.
+\begin{equation*}
+\frac{1}{2}+\frac{1}{3} = \underbar{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}
+\qquad
+\frac{1}{2}+\frac{1}{3} = \raisebox{-10pt}{\underbar{\raisebox{10pt}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}}
+\end{equation*}
+The expression on the right corresponds to
+\begin{Verbatim}[xleftmargin=\leftmargini]
+$...\fillin[lift=10pt]{1in}{\frac{3}{4}}...$
+\end{Verbatim}
+The underline is lowered to include the baseline of the denominator of the fraction.
+
+\item[\texttt{autolift}:] The \texttt{autolift} key takes the guesswork
+ out of the \texttt{lift}. When \texttt{autolift} is used, the depth of
+ the content of the answer field. For example, with the \texttt{autolift} key,
+ \verb!\fillin[autolift]{1in}{\frac{3}{4}}! yields
+ {\setbox0=\hbox{$\displaystyle\frac{3}{4}$}
+ \raisebox{-\dp0}{\underbar{\raisebox{\dp0}{\makebox[1in]{\ensuremath{\displaystyle\frac{3}{4}}}}}}}.
+ Now the fraction is exactly underlined.
+
+\item[\texttt{addtoautolift}:] The \texttt{addtoautolift} key is a companion to \texttt{autolift}.
+ If we assign \texttt{addtoautolift=3pt}, \texttt{3pt} additional lift is added
+ to the amount of lift determined by \texttt{autolift}. For example,
+\begin{small}%
+\begin{equation*}
+\setbox0=\hbox{$\displaystyle\frac{3}{4}$}
+\dimen0=\dp0 \advance\dimen0by3pt
+ \verb!\fillin[autolift,addtoautolift=3pt]{.5in}{\frac{3}{4}}!\ \text{yields}\
+ \raisebox{-\dimen0}{\underbar{\raisebox{\dimen0}{\makebox[.5in]{\ensuremath{\displaystyle\frac{3}{4}}}}}}
+\end{equation*}
+\end{small}%
+the number three-fourths is underlined plus \texttt{3pt} more.
+\end{description}
+The keys are processed by an \cs{edef}, this allows you to define a
+command with your favorite options; for example, you can define
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\newcommand{\myBoxOpts}{boxed,boxsize=Large,align=l}
+\end{Verbatim}
+then in the exam, type
+\begin{Verbatim}[xleftmargin=\leftmargini]
+$\frac{\sqrt{-18}}{\sqrt{6}}=\fillin[\myBoxOpts]{1.5in}{3\imath}$
+\end{Verbatim}
+
+% dps Need to revise this section, I've changed how \fillin works.
+
+\paragraph*{\cs{fillin} boxed.} When the \texttt{boxed} key is used,
+the \cs{boxed} command of \texttt{amsmath} is used; This command needs to
+be in math mode. If the \texttt{boxed} key is used and the \cs{fillin}
+command is in math mode, then \cs{fillin} puts the \meta{answer} and
+\texttt{boxpretext} in math mode too; if \cs{fillin} command \emph{not in
+math mode} (i.e., it is in text mode), \cs{fillin} typesets the
+\meta{answer} and \texttt{boxpretext} in text mode. For example,
+\begin{Verbatim}[xleftmargin=\leftmargini]
+Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then
+ $\fillin[boxed,align=l,boxpretext={z=}]{1in}{20}$
+\end{Verbatim}
+When \texttt{answerkey} is used, the above question appears as
+\begin{quote}
+Let $ x = 4 $ and $ y = -3 $ and let $ z = 2x - 4y $ then
+ \fbox{\makebox[1in][l]{$ z=20 $ }}
+\end{quote}
+Here is an example in text mode
+\begin{Verbatim}[xleftmargin=\leftmargini]
+The first president of the US is
+ \fillin[boxed,align=c]{1.5in}{Washington}
+\end{Verbatim}
+When \texttt{answerkey} is used, the above question appears as
+\begin{quote}
+The first president of the US is
+ \fbox{\makebox[1.5in][c]{Washington}}
+\end{quote}
+Here is an example of mixed mode
+\begin{Verbatim}[xleftmargin=\leftmargini]
+The width of a rectangle is 20 feet and length is 15 feet.
+Find the area: $\fillin[boxed,align=l,
+ boxpretext={\text{Area: }}]{1in}{300\,\text{feet}}$
+\end{Verbatim}
+The answer is typeset in math mode, but the value of \texttt{boxpretext}
+needs to be typeset in text mode. When \texttt{answerkey} is used, the
+above question appears as
+\begin{quote}
+The width of a rectangle is 20 feet and length is 15 feet.
+Find the area: \fbox{\makebox[1in][l]{Area: $300\,\text{feet}$}}
+\end{quote}
+
+\paragraph*{\cs{fillin} not boxed.} The \cs{fillin} command will typeset
+the answer in math mode if \cs{fillin} is in math mode, and in text mode,
+otherwise. For example, each of the following typesets the same.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+The area of a circle of radius $2$ is \fillin[u]{.5in}{$4\pi$}
+The area of a circle of radius $2$ is $\fillin[u]{.5in}{4\pi}$
+\end{Verbatim}
+
+\subsection{Vertical Space Fill Types}
+
+When the \texttt{nosolutions} or the \texttt{vspacewithsolns} is used, a
+vertical space is generated by the \texttt{solution} environment.
+Previously, this has just been a vertical white space, now, we provide
+the ability to fill the space with horizontal rules of different types.
+
+%\redpoint The demo file for these features is \texttt{hw03.tex}.
+
+\exAeBBlogPDF{p=1222} The demo file for this feature is named
+\texttt{\href{\urlAcroTeXBlog/?p=1222}{hw03.pdf}}
+
+
+\newtopic There are two sets of commands.
+\settowidth{\aebdimen}{\ttfamily\string\useFillerDefault}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\useFillerLines
+\useFillerDefault
+\end{dCmd}
+\noindent The first command sets the code to draw rule lines in the
+vertical white space, the second command reverts back to the default,
+plain vertical white space.
+
+\newtopic The next set of commands determine the type of line to be drawn
+in the white space.
+\settowidth{\aebdimen}{\ttfamily\string\fillTypeDashLine}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\fillTypeHRule
+\fillTypeDashLine
+\fillTypeDots
+\fillTypeDefault
+\end{dCmd}
+\noindent The rule types are in the order listed: draw solid horizontal lines; draw
+dashed lines; draw dotted lines; draw the default line type (\cs{fillTypeHRule)}.
+
+\newtopic These two command determine color of the lines, and the spacing between lines.
+\settowidth{\aebdimen}{\ttfamily\string\eqWriteLineColor\darg{\meta{named\_color}}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\eqWriteLineColor{!meta(named_color)}
+\eqWLSpacing{!meta(length)}
+\end{dCmd}
+\noindent The default color is \texttt{gray} and the default vertical
+spacing between lines is
+\texttt{14pt}.
+
+\subsection{Keep vertical space with \texttt{answerkey}}
+
+One thing that has bothered me in my efforts to create the ``perfect''
+exam package, is the differences in vertical spacing between the exam the
+student sees (which is compiled with the \texttt{nosolutions} option), and
+the solutions document the instructor sees (as compiled with the
+\texttt{answerkey} option). The differences in vertical space of the two
+documents makes it harder for the eye to move from the student's exam to
+the answer key document and back again. In the past, I've used
+\cs{aNewPage} or \cs{qNewPage} to force page breaks so that the page
+breaks of the two document match, this makes it easier to get one page at
+a time.
+
+
+Below is a simple example to illustrate the above points. In the example below,
+we simulate
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\begin{solution}[1in]
+$ x+1 = 4 \implies x = 3 $
+\end{solution}
+\end{Verbatim}
+\begin{flushleft}
+\setlength{\fboxsep}{0pt}
+\begin{tabular}{@{\hskip\leftmargini}cc}
+\texttt{nosolutions} & \texttt{answerkey}\\
+\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}&
+\fbox{\parbox[t]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $}}\\
+\end{tabular}
+\end{flushleft}
+We have put an \cs{fbox} around the vertical space so you can see the
+bottom of the vertical space, and better appreciate the point I am trying
+to make. When \texttt{nosolutions} is in effect, a vertical space of 1
+inch is created; when the \texttt{answerkey} is used, the vertical spacing
+is ignored, and the solution is typeset, as shown above. Notice the
+difference in the vertical spacing between the two.
+
+The \textsf{eqexam} package now attempts to build the solution environment
+so the vertical spacing is (roughly) the same.
+\settowidth{\aebdimen}{\ttfamily\string\vspacewithkeyOff}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\vspacewithkeyOn
+\vspacewithkeyOff
+\end{dCmd}
+\noindent The first command turns on this new feature---the feature of trying to
+place the vertical spacing in the \texttt{answerkey} mode as requested by
+the optional argument of the \texttt{solution} environment. The second
+one, \cs{vspacewithkeyOff} (the default) turns off this new feature, and
+reverts to the old behavior of \textsf{eqexam}.
+
+Here is a representation of the effects of the command \cs{vspacewithkeyOn}.
+
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\begin{solution}[1in]
+$ x+1 = 4 \implies x = 3 $
+\end{solution}
+\end{Verbatim}
+\begin{flushleft}
+\setlength{\fboxsep}{0pt}
+\begin{tabular}{@{\hskip\leftmargini}cc}
+\texttt{nosolutions} & \texttt{answerkey}\\
+\fbox{\parbox[t][1in]{.4\linewidth}{\strut\kern0pt\vfill\hfill}}&
+\fbox{\parbox[t][1in]{.4\linewidth}{\strut\textit{Solution:} $ x+1 = 4 \implies x = 3 $\hfill\vfill}}\\
+\end{tabular}
+\end{flushleft}
+As you can see, the vertical spacing with solutions is the same as
+without, the page breaks should be the same, and the positioning of the problems should be
+(roughly) the same throughout the test.
+
+\newtopic The commands \cs{vspacewithkeyOn} and \cs{vspacewithkeyOff} may
+be used anywhere (between problems or parts), but normally, one would put
+\cs{vspacewithkeyOn} in the preamble.
+
+\subsection{Annotating a Continuing Problem with Parts}
+
+% http://www.acrotex.net/blog/?p=698
+% Annotating a Continuing Problem with Parts, and Page totals
+The demonstration file for this feature is
+\begin{equation*}
+\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=698}{Annotating a
+Continuing Problem with Parts, and Page totals}}}
+\end{equation*}
+found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}}
+
+\newtopic A situation often encountered is when a problem with parts crosses a page
+boundary; the problem continues on the next page without any annotation.
+This feature works to insert a text string at the top of the next page, a
+string that gives the reader (student) the context of the part.
+
+\medskip\noindent
+\begin{minipage}{\linewidth}
+\begin{minipage}[t]{.5\linewidth-5pt}
+\emph{(Page 2)}\\
+\textbf{4.} Solve each of the following.
+\begin{enumerate}
+\item[(a)] Solve this
+\item[(b)] Solve this
+\end{enumerate}
+\end{minipage}\hfil\vrule\hfill
+\begin{minipage}[t]{.5\linewidth-10pt}
+\emph{(Page 3)}\\
+\textbf{Problem~4 continued.}
+\begin{enumerate}
+\item[(c)] Solve this
+\item[(d)] Solve this
+\end{enumerate}
+\end{minipage}
+\end{minipage}
+\newtopic Above is an illustration of how this feature works.
+
+%the default string is \textbf{Problem \texttt{<num>} continued.}
+
+\settowidth{\aebdimen}{\ttfamily\string\turnContAnnotOff}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\turnContAnnotOff
+\turnContAnnotOn
+\end{dCmd}
+\noindent The feature may be turned off and on using the above two commands. These
+commands are usually in the preamble, but they can appear between problems
+or between \texttt{exam} environments.
+
+\newtopic The annotatation text that appears is determined by the definition of
+\cs{annotContStr}.
+\begingroup\obeyspaces%
+\settowidth{\aebdimen}{\ttfamily \string\textbf\darg{Problem\string~\string\eqeCurrProb\string\space continued.}\}}%
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\newcommand{\annotContStr}{%
+ \textbf{Problem~\eqeCurrProb\space continued.}}
+\end{dCmd}
+\endgroup\noindent where \cs{eqeCurrProb} is the current problem number.
+\cs{annotContStr} may be redefined, but be sure to include the problem
+number \cs{eqeCurrProb}.
+
+The insertion of the continuation annotation uses \cs{promoteNewPage}, see
+Section~\ref{aqpNewPage} on page~\pageref{aqpNewPage} for a description of
+\cs{promoteNewPage}.
+
+\settowidth{\aebdimen}{\ttfamily\string\newcommand\darg{\string\ic@vspacedefault}\darg{1in}}
+\begin{dCmd}[commandchars=!()]{\aebdimen+2\fboxsep+2\fboxrule}
+\acvspace{!meta(vspace)}
+\resetacvspace
+\newcommand{\ic@vspacedefault}{1in}
+\end{dCmd}
+\noindent The above three lines describes some commands for controlling the generation of a new page
+through the use of \cs{promoteNewPage}. The first one \cs{acvspace} is used to set the option
+parameter of \cs{promoteNewPage}. The default value for promoting a new page is \texttt{.25in}, as
+defined by \cs{ic@vspacedefault}, which can be redefined. The command \cs{resetacvspace} resets
+the optional argument of \cs{promoteNewPage} back to its default. All definitions are local, so the revert to
+their original values when a group is exited.
+
+
+\subsection{The Exam Record}\label{examrecord}
+
+% http://www.acrotex.net/blog/?p=703
+% The Exam Record on the Cover Page
+
+The demonstration file for this feature is
+\begin{equation*}
+\textsl{\textsl{\ulSetLink{http://www.acrotex.net/blog/?p=703}{The Exam Record on the Cover Page}}}
+\end{equation*}
+found at the \textbf{\ulSetLink{http://www.acrotex.net/blog}{Acro\TeX{} Blog}}
+
+
+\newtopic When choose the \texttt{coverpage} option and the \texttt{coverpagesumry} option is set to either
+\texttt{byparts} or \texttt{bypages}, you get an \textbf{Exam Record} appearing on the cover page.
+See Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord}.
+
+There are several commands that can be used to customize the layout of the \textbf{Exam Record}
+\begin{Verbatim}[xleftmargin=\leftmargini,numbers=left]
+\eqeSumryHoriz
+\eqeSumryVert
+\end{Verbatim}
+These two commands arrange the \textbf{Exam Record}
+relative to the student/instructor information. The former is a horizontal
+arrangement, the latter is a vertical arrangement, \cs{eqeSumryVert} is the default.
+
+\newtopic Below are several text commands for customizing the text in the \textbf{Exam Record}
+box:
+\begin{Verbatim}[xleftmargin=\leftmargini,numbers=left]
+\newcommand{\cpSumryHeader}{\textbf{Exam Record}}
+\newcommand{\cpSumryPts}{\,\text{pts}}
+\newcommand{\cpSumryPage}{Page}
+\newcommand{\cpSumryTotal}{Total:}
+\newcommand{\cpSumryGrade}{Grade:}
+\cpSetSumryWidth{.5\linewidth}
+\end{Verbatim}
+The meanings of numbers~(1)--(5) are apparent from Figure~\ref{fig:ExamRecord}, page~\pageref{fig:ExamRecord},
+where these strings are on display. Number~(6) determines the width of the \textbf{Exam Record}, its default
+is half the \cs{linewidth}.
+
+\newtopic The \textbf{Exam Record} by default is enclosed in an \cs{fbox}, use the command
+\cs{cpNofbox} in the preamble to remove this enclosing box.
+
+\newtopic\textbf{Naming conventions for \texttt{byparts}.} When
+\texttt{coverpagesumry=byparts}, there are several naming options
+available. The default name of each part is the exam name (the required
+argument of the \texttt{exam} environment. By specifying
+\cs{useUIPartNames} in the preamble, the user friendly name is used (the
+one that appears as the optional first argument of the \texttt{exam}
+environment. The user friendly names are used when the solutions are
+listed in the back of the document (for example, when the option
+\texttt{vspacewithsolns} is specified). These user-friendly names may be too wide
+to put in the \textbf{Exam Record}, in this case, you can executed
+\cs{useCustomPartNames} in the preamble. This allows you to define your own names
+that are to appear in the \textbf{Exam Record}. To define your custom names, use
+the \cs{customNaming} command:
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=+\(\)]
+\customNaming{+meta(name)}{+meta(text)}
+\end{Verbatim}
+where, \meta{name} is the name of the exam, and \meta{text} is the text to appear
+in the \textbf{Exam Record}. For example, the following definitions might be made
+for a two part final exam, the first part the instructor is free to pose questions,
+the second part are Department supplied questions.
+\begin{Verbatim}[xleftmargin=\leftmargini]
+\customNaming{Part1}{Instr Qs:}
+\customNaming{Part2}{Dept Qs:}
+\end{Verbatim}
+
+\subsection{Calculate problem range between two markers}
+
+I have defined the command In response to a user who wanted more
+information about problem ranges between two marks, the command
+\cs{calcQsBtwnMarkers} is the proposed solution. The syntax is\dots
+\begin{Verbatim}[xleftmargin=\leftmargini,commandchars=+\(\)]
+\calcQsBtwnMarkers[+meta(Mrk2)]{+meta(Mrk1)}
+\end{Verbatim}
+The required parameter (\meta{Mrk1}) is called the \emph{primary mark}.
+The command defines a number of other commands based on the primary
+mark name. \cs{calcQsBtwnMarkers} calculates the first and
+last problem numbers of the questions between the command
+\cs{calcQsBtwnMarkers} that has \meta{Mrk1} as its \emph{primary marker} and
+another command \cs{calcQsBtwnMarkers} that has \meta{Mrk2} as its \emph{primary
+marker}. The names of the commands produced are all based in the primary
+marker name \meta{Mrk1}.
+
+\newtopic As mentioned above, there are several other commands
+\cs{calcQsBtwnMarkers} defines.
+\cs{calcQsBtwnMarkers[\meta{Mrk2}]}\verb!{!\meta{Mrk1}\verb!}! defines the
+following commands:
+\begin{itemize}
+
+\item \cs{\meta{Mrk1}Start} is the first question number that follows the placement
+of the command \cs{calcQsBtwnMarkers} with \meta{Mrk1} as its primary marker.
+
+\item \cs{\meta{Mrk1}End} is the last question number between two
+\cs{calcQsBtwnMarkers} commands having \meta{Mrk1} and \meta{Mrk2} as their
+primary marks.
+
+\item \cs{\meta{Mrk1}nQs} is the number of questions appearing
+between \cs{calcQsBtwnMarkers} commands having primary marks of
+\meta{Mrk1} and \meta{Mrk2}.
+\end{itemize}
+Three other commands are defined for easy user access.
+\begin{itemize}
+\item \cs{markStartFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}Start}.
+\item \cs{markEndFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}End}.
+\item \cs{markNumQsFor}\verb!{!\meta{Mrk1}\verb!}! expands to \cs{\meta{Mrk1}nQs}.
+\end{itemize}
+Use the command \cs{calcQsBtwnMarkers} without the optional first argument as the last mark
+in your \texttt{exam} environment.
+
+%\handpoint The demo file for this feature is named \texttt{markqs.tex}.
+
+\exAeBBlogPDF{p=1231} The demo file for this feature is named
+\texttt{\href{\urlAcroTeXBlog/?p=1231}{markqs.pdf}}
+
+\newpage
+\markright{References}
+
+\begin{thebibliography}{[1]}\label{references}
+\addcontentsline{toc}{section}{\protect\numberline{}References}
+\backrefparscanfalse
+\def\srtln{\vskip-\baselineskip\vskip-\parsep}
+\def\lngln{\vskip-\parsep}
+
+\bibitem{book:AEBB}
+ D. P. Story, \textsl{\AEBBook}, in preparation. \backrefprint
+
+\end{thebibliography}
+
+
+\end{document}