diff options
Diffstat (limited to 'texmf-dist/source/latex/eqexam/doc/eqexamman.tex')
-rw-r--r-- | texmf-dist/source/latex/eqexam/doc/eqexamman.tex | 4611 |
1 files changed, 0 insertions, 4611 deletions
diff --git a/texmf-dist/source/latex/eqexam/doc/eqexamman.tex b/texmf-dist/source/latex/eqexam/doc/eqexamman.tex deleted file mode 100644 index c8ec9c86..00000000 --- a/texmf-dist/source/latex/eqexam/doc/eqexamman.tex +++ /dev/null @@ -1,4611 +0,0 @@ -\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} |