%-------------------------------------------------------------------- %-------------------------------------------------------------------- % examdoc.tex % % This is the documentation for the exam documentclass, % by Philip Hirschhorn. % % The exam documentclass itself is in the file exam.cls. %%% Copyright (c) 1997, 2000, 2004, 2008 Philip S. Hirschhorn % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2003/12/01 or later. % % This work consists of the files exam.cls and examdoc.tex % The user documentation for exam.cls is in the file examdoc.tex. %%% Philip Hirschhorn %%% Department of Mathematics %%% Wellesley College %%% Wellesley, MA 02481 %%% psh@math.mit.edu % The newest version of this documentclass should always be available % from my web page: http://www-math.mit.edu/~psh/ %-------------------------------------------------------------------- %-------------------------------------------------------------------- \documentclass[12pt]{exam} \usepackage{hyperref} \newcommand{\docversion}{2.3} \newcommand{\docdate}{July 18, 2008} %\newcommand{\docdate}{\today} %-------------------------------------------------------------------- % % Changes since version 2.2 are described in the comments % near the beginning of the file exam.cls. % %-------------------------------------------------------------------- %--------------------------------------------------------------------- \newenvironment{example}% {\bigskip\filbreak \subsubsection{Example:} }% {} \def\samplehead#1#2#3#4{% \begin{trivlist} \item[] \leavevmode \hbox to \textwidth{% \rlap{\parbox[b]{\textwidth}{\raggedright#1\strut}}% \hfil\parbox[b]{\textwidth}{\centering#2\strut}\hfil \llap{\parbox[b]{\textwidth}{\raggedleft#3\strut}}% }% hbox #4 \end{trivlist} } \def\samplefoot#1#2#3#4{% \begin{trivlist} \item[] \leavevmode #1 \vskip 3pt \hbox to \textwidth{% \rlap{\parbox[t]{\textwidth}{\raggedright#2}}% \hfil\parbox[t]{\textwidth}{\centering#3}\hfil \llap{\parbox[t]{\textwidth}{\raggedleft#4}}% }% hbox \end{trivlist} } \makeatletter \@ifundefined{AmS}{\def\AmS{{\protect\the\textfont\tw@ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}} {} \makeatother %--------------------------------------------------------------------- %--------------------------------------------------------------------- %--------------------------------------------------------------------- %--------------------------------------------------------------------- \begin{document} \title{Using the exam document class} \author{Philip Hirschhorn\\ Department of Mathematics\\ Wellesley College\\ Wellesley, MA 02481\\ psh@math.mit.edu\\[\bigskipamount] Copyright \copyright~1994, 1997, 2000, 2004, 2008 Philip Hirschhorn\\ All rights reserved} \date{\docdate} \maketitle \begin{center} \small This is the documentation for version~\docversion{} of the \verb"exam" document class. \end{center} \tableofcontents %-------------------------------------------------------------------- \section{Introduction} The file \verb"exam.cls" provides the \verb"exam" document class, which attempts to make it easy for even a \LaTeX{} novice to prepare exams. Specifically, \verb"exam.cls" sets the page layout so that there are one inch margins all around (no matter what size paper you're using) and provides commands that make it easy to format questions, create grading tables, create flexible headers and footers, and change the margins. In more detail: \begin{itemize} \item The class will automatically format and number the questions, parts of questions, subparts of parts, and subsubparts of subparts (see sections \ref{sec:Questions} and~\ref{sec:parts}). \item You can include the point value of each question (or part, or subpart, or subsubpart), with your choice of having the point values printed at the beginning of the text of the question, opposite that in the left margin, opposite that in the right margin, or in the right margin opposite the end of the question (see section~\ref{sec:points}). \item The class will add up the total points for each question (and all of its parts, subparts, and subsubparts) and the total points on each page, and make those totals available in macros (see sections \ref{sec:addup}, \ref{sec:pointsofq} and~\ref{sec:pointsonp}). You can also have the class print a grading table indexed either by question number or by page number (see section~\ref{sec:GradeTables}). \item You specify the header in three parts: One part to be left justified, one part to be centered, and one part to be right justified, and one or all of these can be omitted (see section~\ref{sec:header}). \item The footer is also specified in three parts: Left justified, centered, and right justified (see section~\ref{sec:footer}). \item The header and footer for the first page can be different from the ones used on other pages (see sections \ref{sec:runningheader}, \ref{sec:lhead}, \ref{sec:runningfooter}, and \ref{sec:lfoot}). \item Both headers and footers can contain more than one line. To accommodate headers and footers with several lines, simple commands are provided to enlarge the part of the page devoted to the header and/or footer, and these commands can give one amount of space on the first page and a different amount of space on all other pages (see section~\ref{sec:extra-room}). \item Macros are defined to enable you to state in the header and/or footer the total number of pages in the exam (see section~\ref{sec:numpages}) and to change the header and/or footer that appears on the last page of the exam (see section~\ref{sec:lastpage}). \item Macros are defined so that the headers and footers can vary depending on whether the current page begins a new question or continues a question that started on an earlier page (and, if one continues onto the current page, to say what the number of that question is). Macros are also defined so that the headers and footers can vary depending on whether a question is complete on the current page or continues on to the next page (and, if one continues, to say what the number of that question is) (see section~\ref{sec:QuesSpan}). \item You can have a horizontal rule at the base of the header and/or at the top of the footer (see section~\ref{sec:rules}). \item The exam can begin with one or more cover pages, which are numbered separately from the main pages of the exam and which can have headers and footers different from the ones in the main pages of the exam (see section~\ref{sec:coverpages}). \item You can include solutions in your \LaTeX{} file and have these solutions either printed or ignored (or replaced automatically by space in which the students can write their answers) depending on a single command (see section~\ref{sec:solutions}, section~\ref{sec:CorrectChoice}, and section~\ref{sec:AnsShortAns}). \end{itemize} The latest version of \verb"exam.cls" (possibly a beta test version) should always be available at \verb"http://www-math.mit.edu/~psh/". %-------------------------------------------------------------------- %-------------------------------------------------------------------- \section{License} \begin{itemize} \item This work may be distributed and/or modified under the conditions of the \LaTeX{} Project Public License, either version~1.3 of this license or (at your option) any later version. The latest version of this license is in \verb"http://www.latex-project.org/lppl.txt" and version 1.3 or later is part of all distributions of \LaTeX{} version 2003/12/01 or later. \item This work has the LPPL maintenance status ``author-maintained''. \item This work consists of the files \verb"exam.cls" and \verb"examdoc.tex". \end{itemize} %--------------------------------------------------------------------- %-------------------------------------------------------------------- \section{The \texttt{\char`\\documentclass} command} To use the \verb"exam" document class, you should specify \verb"exam" as the required argument to your \verb"\documentclass" command, as in \begin{center} \verb"\documentclass{exam}" \end{center} or, e.g., if you want to use 12~point type, \begin{center} \verb"\documentclass[12pt]{exam}" \end{center} There are two possible optional arguments that are specific to the \verb"exam" document class: \verb"addpoints" and \verb"solutions". Most documents that use the \verb"exam" document class should use the option \verb"addpoints" (see section~\ref{sec:addpoints}); the option \verb"answers" is used when you want to print solutions to the questions (see section~\ref{sec:answers}). %-------------------------------------------------------------------- \subsection{The option \texttt{addpoints}} \label{sec:addpoints} The \verb"\documentclass" option \verb"addpoints", used as in \begin{center} \verb"\documentclass[addpoints]{exam}" \end{center} or \begin{center} \verb"\documentclass[12pt,addpoints]{exam}" \end{center} enables the commands that add up the points (see sections \ref{sec:addup}, \ref{sec:Count}, \ref{sec:pointsofq}, and~\ref{sec:pointsonp}) and that produce grading tables and point tables (see sections \ref{sec:GradeTables} and~\ref{sec:PointTables}). This is an option, rather than the default, mainly for the sake of maintaining backward compatibility; most documents that use the \verb"exam" document class should use this option. The only reason \emph{not} to use the \verb"addpoints" option is that this option creates an error if you include any words in an argument that assigns points to a question (see section~\ref{sec:points}). If \verb"addpoints" is not in effect you can put whatever you want in the argument for the points, but if \verb"addpoints" \emph{is} in effect then the argument that contains the points must contain only digits and the command \verb"\half" (see section~\ref{sec:Half}). You can also turn \verb"addpoints" on and off wherever you like in the exam by using the commands \begin{center} \begin{tabular}{l} \verb"\addpoints"\\ \verb"\noaddpoints" \end{tabular} \end{center} Using the document class option \verb"addpoints" is equivalent to giving the command \verb"\addpoints" at the beginning of the exam. %-------------------------------------------------------------------- \subsection{The option \texttt{answers}} \label{sec:answers} If you will be typing solutions into the exam (see sections \ref{sec:solutions}, \ref{sec:CorrectChoice}, and~\ref{sec:AnsShortAns}) and you'd like the solutions to be printed on the next run of \LaTeX, you should include the document class option \verb"answers", as in \begin{center} \verb"\documentclass[answers]{exam}" \end{center} or \begin{center} \verb"\documentclass[answers,12pt]{exam}" \end{center} or \begin{center} \verb"\documentclass[12pt,addpoints,answers]{exam}" \end{center} Using the document class option \verb"answers" is equivalent to giving the command \verb"\printanswers" at the beginning of the exam (see section~\ref{sec:solutions}). The effect of this is that \begin{itemize} \item the contents of the environments \begin{center} \begin{tabular}{l} \verb"solution",\\ \verb"solutionorlines", and\\ \verb"solutionordottedlines" \end{tabular} \end{center} (see section~\ref{sec:solutions}) will be printed on the next run of \LaTeX, \item any choices of a \verb"choices" or \verb"oneparchoices" environment (see section~\ref{sec:MulChc}) that are created using a \verb"\CorrectChoice" command (see section~\ref{sec:CorrectChoice}) instead of a \verb"\choice" command will be printed with emphasis as determined by the argument of the most recent \verb"\CorrectChoiceEmphasis" command (which by default is \verb"\bfseries"), and \item any \verb"\answerline" commands (see section~\ref{sec:ShortAns}) that include an optional argument containing the answer (see section~\ref{sec:AnsShortAns}) will have the answer printed on the answer line. \end{itemize} %-------------------------------------------------------------------- %-------------------------------------------------------------------- \section{Asking for the student's name} This isn't anything specific to the \verb"exam" document class, but it's worth mentioning because it isn't obvious. If you're leaving space for the answers on the question pages (see section~\ref{sec:LeaveSpace}), then you'll probably also want to leave space for the student's name. If you type \begin{verbatim} \begin{center} \fbox{\fbox{\parbox{5.5in}{\centering Answer the questions in the spaces provided on the question sheets. If you run out of room for an answer, continue on the back of the page.}}} \end{center} \vspace{0.1in} \makebox[\textwidth]{Name and section:\enspace\hrulefill} \vspace{0.2in} \makebox[\textwidth]{Instructor's name:\enspace\hrulefill} \end{verbatim} after the \verb"\begin{document}" command and before the \verb"\begin{questions}" command (see section~\ref{sec:Questions}), then you'll get\\ \noindent \parbox{\textwidth}{ \begin{center} \fbox{\fbox{\parbox{5.5in}{\centering Answer the questions in the spaces provided on the question sheets. If you run out of room for an answer, continue on the back of the page.}}} \end{center} \vspace{0.1in} \makebox[\textwidth]{Name and section:\enspace\hrulefill} \vspace{0.2in} \makebox[\textwidth]{Instructor's name:\enspace\hrulefill} } %--------------------------------------------------------------------- %-------------------------------------------------------------------- \section{Questions and points} \label{sec:QuestionsPoints} To create questions, you use a \verb"questions" environment (see section~\ref{sec:Questions}); each question is begun with a \verb"\question" command, which takes an optional argument to assign some number of points to the question (see section~\ref{sec:points}). The questions are numbered automatically. Point values can include half points (see section~\ref{sec:Half}). If you want a question to have several parts, you use a \verb"parts" environment (see section~\ref{sec:parts}); each part is begun with a \verb"\part" command, which takes an optional argument to assign some number of points to the part (see section~\ref{sec:points}). The parts are numbered automatically. Similarly, parts can have subparts, and subparts can have subsubparts (see section~\ref{sec:parts}). The points for a question (or part, or subpart, or subsubpart) appear by default at the beginning of the question (or part, etc.), but there are commands to have the points appear instead in either the left margin or in the right margin (see section~\ref{sec:whereprint} and section~\ref{sec:DrpPts}). The formatting of the points can also be customized (see sections \ref{sec:Boxed}, \ref{sec:pointname}, \ref{sec:margins}, and~\ref{sec:pointformat}). It's also possible to have questions (or parts, etc.) that are worth ``bonus points'', which are added up separately from the non-bonus points (see section~\ref{sec:Bonus}). %-------------------------------------------------------------------- \subsection{Questions} \label{sec:Questions} To type the questions on the exam you use the \verb"questions" environment. Each question is then begun with the command \verb"\question", and the questions are numbered automatically. For example, if you type \begin{verbatim} \begin{questions} \question Why is there air? \question How much wood would a woodchuck chuck if a woodchuck could chuck wood? \question Compute $\displaystyle\int_0^1 x^2 \, dx$. \end{questions} \end{verbatim} then you'll get \begin{questions} \question Why is there air? \question How much wood would a woodchuck chuck if a woodchuck could chuck wood? \question Compute $\displaystyle\int_0^1 x^2 \, dx$. \end{questions} \bigskip As the above example illustrates, you can leave blank lines between the \verb"\question" command and the actual beginning of the question, or before the first \verb"\question" command in the environment, and they will be ignored. %--------------------------------------------------------------------- \subsection{Questions with parts and subparts (and subsubparts)} \label{sec:parts} If you want a question to have several parts, then you use the \verb"parts" environment. For example, if you type \begin{verbatim} \begin{questions} \question Why is there air? \question What if there were no air? \begin{parts} \part Describe the effect on the balloon industry. \part Describe the effect on the aircraft industry. \end{parts} \question \begin{parts} \part Define the universe. Give three examples. \part If the universe were to end, how would you know? \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question Why is there air? \question What if there were no air? \begin{parts} \part Describe the effect on the balloon industry. \part Describe the effect on the aircraft industry. \end{parts} \question \begin{parts} \part Define the universe. Give three examples. \part If the universe were to end, how would you know? \end{parts} \end{questions} \bigskip The above example illustrates several things: \begin{itemize} \item Parts of a question should be put into a \verb"parts" environment. \item If a question begins with a \verb"parts" environment, then the first part will appear on the same line with the question number. \item You can leave blank lines before and after the \verb"\part" command, and they will be ignored. \end{itemize} \bigskip There is also a \verb"subparts" environment, and even a \verb"subsubparts" environment, and they work just as you would expect. For example, if you type \begin{verbatim} \begin{questions} \question \begin{parts} \part What do you do with a drunken sailor? \part Is your answer different if it is before noon? \end{parts} \question This is the second question. \begin{parts} \part This is a part. \part This is also a part. \begin{subparts} \subpart This is a subpart. \subpart This is a periscope. \subpart This is a pair of diving planes. \subpart \begin{subsubparts} \subsubpart This is a subsubpart. \subsubpart The lower surface of a diving plane? \subsubpart The ocean floor, perhaps? \end{subsubparts} \end{subparts} \part It's sad to be apart. \end{parts} \question \begin{parts} \part \begin{subparts} \subpart This is a subpart. \subpart This is another subpart. \end{subparts} \part This is another part. \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question \begin{parts} \part What do you do with a drunken sailor? \part Is your answer different if it is before noon? \end{parts} \question This is the second question. \begin{parts} \part This is a part. \part This is also a part. \begin{subparts} \subpart This is a subpart. \subpart This is a periscope. \subpart This is a pair of diving planes. \subpart \begin{subsubparts} \subsubpart This is a subsubpart. \subsubpart The lower surface of a diving plane? \subsubpart The ocean floor, perhaps? \end{subsubparts} \end{subparts} \part It's sad to be apart. \end{parts} \question \begin{parts} \part \begin{subparts} \subpart This is a subpart. \subpart This is another subpart. \end{subparts} \part This is another part. \end{parts} \end{questions} The numbers and letters used to number questions, parts, subparts, and subsubparts can be customized; see section~\ref{sec:CustNumb}. %-------------------------------------------------------------------- \subsection{Multiple choice questions} \label{sec:MulChc} There are two environments for listing the possible answers to a multiple choice question: \begin{itemize} \item The \verb"choices" environment creates a list with the choices as the items in the list (see section~\ref{sec:choices}). \item The \verb"oneparchoices" environment lists all of the choices in a single paragraph (that is a continuation of the paragraph preceding the environment unless you leave a blank line before beginning the environment) (see section~\ref{sec:oneparchoices}). \end{itemize} Both of these environments use upper case letters (i.e., ``A'', ``B'', ``C'', \ldots) to label the choices; to change this, see section~\ref{sec:CustNumb}. Both of these environments allow you to designate one or more choices as correct choices and to have the correct choices printed with emphasis when solutions are being printed (see section~\ref{sec:CorrectChoice}). If you don't want the students to just circle the correct choices, you can use the \verb"\answerline" command to print a line on which the answer should be written (see section~\ref{sec:ShortAns}). The \verb"\anwerline" command allows you to include as an optional argument the answer to the question, and the answer will be printed on the line when solutions are bing printed (see section~\ref{sec:AnsShortAns}). %-------------------------------------------------------------------- \subsubsection{The \texttt{choices} environment} \label{sec:choices} For example, if you type \begin{verbatim} \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{choices} \choice John \choice Paul \choice George \choice Ringo \choice Socrates \end{choices} \end{questions} \end{verbatim} Then you'll get \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{choices} \choice John \choice Paul \choice George \choice Ringo \choice Socrates \end{choices} \end{questions} %-------------------------------------------------------------------- \subsubsection{The \texttt{oneparchoices} environment} \label{sec:oneparchoices} If instead of the \verb"choices" environment in the example of section~\ref{sec:choices} you use a \verb"oneparchoices" environment, then you'll get \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{oneparchoices} \choice John \choice Paul \choice George \choice Ringo \choice Socrates \end{oneparchoices} \end{questions} If you insert a blank line before the \verb"\begin{oneparchoices}", then you'll get \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{oneparchoices} \choice John \choice Paul \choice George \choice Ringo \choice Socrates \end{oneparchoices} \end{questions} If you insert a blank line before the \verb"\begin{oneparchoices}" and \verb"\answerline" after the \verb"\end{oneparchoices}" (see section~\ref{sec:ShortAns} for a description of the \verb"\answerline" command), then you'll get \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{oneparchoices} \choice John \choice Paul \choice George \choice Ringo \choice Socrates \end{oneparchoices} \answerline \end{questions} %-------------------------------------------------------------------- \subsubsection{Solutions to multiple choice questions} \label{sec:CorrectChoice} The \verb"exam" document class defines several environments for solutions (see section~\ref{sec:solutions}), the contents of which will be printed only if you use the document class option \verb"answers" (as in \verb"\documentclass[answers]{exam}") or give the command \verb"\printanswers" (see section~\ref{sec:answers}). The \verb"choices" (see section~\ref{sec:choices}) and \verb"oneparchoices" (see section~\ref{sec:oneparchoices}) environments allow you to designate one or more of the choices as correct choices, and to have the correct choices printed differently from the others when solutions are being printed. The command to define a correct choice is \verb"\CorrectChoice". When solutions are not being printed, \verb"\CorrectChoice" is equivalent to \verb"\choice". When solutions are being printed, though, any choices that were created with \verb"\CorrectChoice" (rather than with \verb"\choice") will be printed subject to the declarations in the argument of the \begin{center} \verb"\CorrectChoiceEmphasis" \end{center} command. The default situation was created by the command \begin{center} \verb"\CorrectChoiceEmphasis{\bfseries}" \end{center} and so when solutions are being printed the correct choices are printed in boldface by default. For example, if \verb"\printanswers" is in effect and you type \begin{verbatim} \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{oneparchoices} \choice John \choice Paul \choice George \choice Ringo \CorrectChoice Socrates \end{oneparchoices} \end{questions} \end{verbatim} then you'll get \printanswers \begin{questions} \question One of these things is not like the others; one of these things is not the same. Which one is different? \begin{oneparchoices} \choice John \choice Paul \choice George \choice Ringo \CorrectChoice Socrates \end{oneparchoices} \end{questions} \noprintanswers If, e.g., you give the command \begin{center} \verb"\usepackage{color}" \end{center} in the preamble of your document (i.e., after the \verb"\documentclass" command and before the \verb"\begin{document}" command) and then give the command \begin{center} \verb"\CorrectChoiceEmphasis{\color{red}}" \end{center} then the correct choices will be printed in red (assuming that your printer can produce that color). For another example, if you give the command \begin{center} \verb"\CorrectChoiceEmphasis{\color{red}\bfseries}" \end{center} then the correct choices will be printed in boldface red (again assuming that your printer can produce that color). To avoid confusion, \verb"\correctchoice" is defined to be a synonym for \verb"\CorrectChoice" and \verb"\correctchoiceemphasis" is defined to be a synonym for \verb"\CorrectChoiceEmphasis". %--------------------------------------------------------------------- \subsection{Point values for the questions} \label{sec:points} Each of the commands \verb"\question", \verb"\part", \verb"\subpart", and \verb"\subsubpart" takes an optional argument, which is the number of points for that question, part, subpart, or subsubpart. The default setup is that \begin{itemize} \item the point value is printed at the beginning of the question (or part, or subpart, or subsubpart) (this can be changed to printing in either the left or right margins on the first line of the question or in the right margin at the end of the question; see section~\ref{sec:whereprint} and section~\ref{sec:DrpPts}), and \item the point value is enclosed in parentheses (this can be changed to either square brackets or a box; see section~\ref{sec:Boxed}). \end{itemize} Both of these things can be further customized; see section~\ref{sec:qformat} and section~\ref{sec:pointformat}. %-------------------------------------------------------------------- \subsubsection{Where the points will be printed} \label{sec:whereprint} The default is that the point value will be inserted at the beginning of the question (or part, or subpart, or subsubpart) in parentheses, but \begin{itemize} \item the command \verb"\pointsinmargin" will cause the point values to be set in the left margin, \item the command \verb"\pointsinrightmargin" will cause the point values to be set in the right margin, and \item the commands \verb"\nopointsinmargin" and \verb"\nopointsinrightmargin" are equivalent, and either of them will revert to the default situation. \end{itemize} All of these print the point values on the first line of the question (or part, or subpart, or subsubpart). There is also a way to print the point values on the \emph{last} line of the question (or part, etc.); for this, see section~\ref{sec:DrpPts}. \medbreak For example, if you type \begin{verbatim} \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} \end{verbatim} then, with the default setup, you'll get \nopointsinmargin \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} (To change the word ``points'', see the commands described in section~\ref{sec:pointname}.) \bigskip If you give the command \verb"\pointsinmargin", then the above input will produce instead \pointsinmargin \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} (To have a word (e.g., ``points'', or ``\%'') inside the parentheses with the point values, see the \verb"\marginpointname" command in section~\ref{sec:pointname}.) \bigskip If you give the command \verb"\pointsinrightmargin", then the above input will produce instead \pointsinrightmargin \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} %-------------------------------------------------------------------- \subsubsection{Printing the points at the end of the question} \label{sec:DrpPts} Instead of having the point value of a question (or part, or subpart, or subsubpart) printed on the first line of a question, you can have it printed in the right margin opposite the \emph{last} line, or even opposite a blank line following the paragraph. This is done with the \begin{center} \verb"\pointsdroppedatright" \quad and \quad \verb"\droppoints" \end{center} commands. If you give the command \begin{center} \verb"\pointsdroppedatright" \end{center} then point values are not printed until you give the command \verb"\droppoints" (and they're not printed at all if you don't give the command \verb"\droppoints"). The only exception to this rule is that if you've given a \verb"\qformat" command (see section~\ref{sec:qformat}), then question number lines are printed as specified by the argument to the \verb"\qformat" command even if you have given the command \verb"\pointsdroppedatright". The command \verb"\droppoints" should be given only at the end of a paragraph or between paragraphs; if you give it within a paragraph, it causes the paragraph to end. \verb"\droppoints" prints the point value in the right margin, formatted as it is when you give the command \verb"\pointsinrightmargin", except that the points appear opposite the last line of the paragraph (or, if the command \verb"\droppoints" is given between paragraphs, then additional vertical space is left between the paragraphs and the points are printed opposite the blank space). The formatting can be changed by giving the commands \verb"\bracketedpoints", \verb"\boxedpoints", or \verb"\marginpointname" (see section~\ref{sec:pointname}) just as if \verb"\pointsinrightmargin" were in effect. The command \verb"\droppoints" actually works this way even if one of the commands \begin{center} \verb"\nopointsinmargin",\quad \verb"\pointsinmargin",\quad or\quad \verb"\pointsinrightmargin" \end{center} is in effect, but if you use it that way the points will appear twice on the page, which is probably not what you want. For example, if you give the command \verb"\pointsdroppedatright" and then type \begin{verbatim} \begin{questions} \question[10] Describe the implications of the Michelson-Morley ink drop experiment for the use of punctuation marks such as colons and semicolons that require multiple drops of ink. \droppoints \question[10] Prove that the second dual of a finite dimensional real vector space is naturally isomorphic to the given vector space, except when the weapon chosen is a single shot pistol.\droppoints \end{questions} \end{verbatim} then you'll get \pointsdroppedatright \begin{questions} \question[10] Describe the implications of the Michelson-Morley ink drop experiment for the use of punctuation marks such as colons and semicolons that require multiple drops of ink. \droppoints \question[10] Prove that the second dual of a finite dimensional real vector space is naturally isomorphic to the given vector space, except when the weapon chosen is a single shot pistol.\droppoints \end{questions} and if you type \begin{verbatim} \begin{questions} \question[10] Describe the implications of the Michelson-Morley ink drop experiment for the use of punctuation marks such as colons and semicolons that require multiple drops of ink. \droppoints \question[10] Prove that the second dual of a finite dimensional real vector space is naturally isomorphic to the given vector space, except when the weapon chosen is a single shot pistol. \droppoints \end{questions} \end{verbatim} then you'll get \begin{questions} \question[10] Describe the implications of the Michelson-Morley ink drop experiment for the use of punctuation marks such as colons and semicolons that require multiple drops of ink. \droppoints \question[10] Prove that the second dual of a finite dimensional real vector space is naturally isomorphic to the given vector space, except when the weapon chosen is a single shot pistol. \droppoints \end{questions} \nopointsinmargin %-------------------------------------------------------------------- \subsubsection{Half points} \label{sec:Half} The point values of questions, parts, subparts, and subsubparts can include half points. To specify half points, you either type \begin{center} \verb"\half" \end{center} immediately following the integer part of the point value or just type \verb"\half" as the entire point value. That is, the valid point values and their (default) printed appearances are: \begin{center} \begin{tabular}{@{\extracolsep{0.1in}}rccccccc} Typed:& \verb"0"& \verb"\half"& \verb"1"& \verb"1\half"& \verb"2"& \verb"2\half"& $\cdots$\\[1ex] Printed:& 0& \half& 1& 1\half& 2& 2\half& $\cdots$ \end{tabular} \end{center} If you prefer, you can cause the fraction \half{} to be printed as \makeatletter \horiz@half. \makeatother To do this, you give the command \begin{center} \verb"\usehorizontalhalf" \end{center} after which the printed appearance of point values will be \usehorizontalhalf \begin{center} \begin{tabular}{@{\extracolsep{0.1in}}rccccccc} Typed:& \verb"0"& \verb"\half"& \verb"1"& \verb"1\half"& \verb"2"& \verb"2\half"& $\cdots$\\[1ex] Printed:& 0& \half& 1& 1\half& 2& 2\half& $\cdots$ \end{tabular} \end{center} If you want to return to using the default appearance, you can do that by giving the command \begin{center} \verb"\useslantedhalf" \end{center} \useslantedhalf %-------------------------------------------------------------------- \subsubsection{Surrounding the points: Parentheses, brackets, or a box} \label{sec:Boxed} If you prefer having the points enclosed in brackets instead of in parentheses, give the command \begin{center} \verb"\bracketedpoints" \end{center} For example, if you give the command \verb"\bracketedpoints", then the questions typed above will produce \nopointsinmargin \bracketedpoints \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} If you prefer having the points enclosed in a box instead of in parentheses, give the command \begin{center} \verb"\boxedpoints" \end{center} For example, if you give the command \verb"\boxedpoints", then the questions typed above will produce \nopointsinmargin \boxedpoints \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} If you give the commands \verb"\boxedpoints" and \verb"\pointsinmargin", then the above questions will produce \boxedpoints \pointsinmargin \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} If you give the commands \verb"\bracketedpoints" and \verb"\pointsinrightmargin", then the above questions will produce % \bracketedpoints \pointsinrightmargin \begin{questions} \question[20] Why is there air? \question What if there were no air? \begin{parts} \part[10] Describe the effect on the balloon industry. \part[10] Describe the effect on the aircraft industry. \end{parts} \end{questions} Other combinations of these commands will produce similar effects. If you want to switch back and forth between formats during the exam, you can do so by giving one of the commands \begin{center} \begin{tabular}{l} \verb"\boxedpoints"\\ \verb"\bracketedpoints"\\ \verb"\noboxedpoints"\\ \verb"\nobracketedpoints" \end{tabular} \end{center} whenever you want to switch. (The commands \verb"\nobracketedpoints" and \verb"\noboxedpoints" are equivalent; they both return to the default of putting parentheses around the points.) If you want some text (e.g., `` points'', or ``\%'') automatically inserted along with the point values when using either \verb"\pointsinmargin" or \verb"\pointsinrightmargin", see the command \verb"\marginpointname" in section~\ref{sec:pointname}. %--------------------------------------------------------------------- \subsubsection{Using a substitute for the word ``points''} \label{sec:pointname} With the default setup, the number of points is inserted before the text of the question followed by a single space and the word ``point'' if the number of points is either \half{} or 1 and by the word ``points'' otherwise. That is, the default is \verb"\nopointsinmargin" and \verb"\noboxedpoints" (see sections \ref{sec:whereprint} and \ref{sec:Boxed}), and if you type \nopointsinmargin \noboxedpoints \begin{verbatim} \begin{questions} \question[1] This is a short question. \question[5] This is a longer question, requiring more thought. \end{questions} \end{verbatim} then you'll get \begin{questions} \question[1] This is a short question. \question[5] This is a longer question, requiring more thought. \end{questions} The way this is achieved is: \begin{itemize} \item There is a command \begin{center} \verb"\points" \end{center} whose default definition expands to the word `point' if the number of points is either \half{} or 1 and to `points' otherwise. (This behavior can be modified by the command \verb"\pointpoints"; see below.) \item There is a command \begin{center} \verb"\pointname{Text}" \end{center} that causes `Text' to be inserted following the number of points of a question, part, subpart, or subsubpart. The default setup is the result of the command \begin{center} \verb"\pointname{ \points}" \end{center} (Note the single space before the command \verb"\points".) \end{itemize} There is also a command \begin{center} \verb"\pointpoints{SingularText}{PluralText}" \end{center} that changes the behavior of the \verb"\points" command so that it expands to `SingularText' if the number of points is \half{} or 1 and to `PluralText' otherwise. (The default is the result of the command \verb"\pointpoints{point}{points}".) Thus, if you give the command \begin{center} \verb"\pointpoints{Punkt}{Punkte}" \end{center} then typing the questions above would result in \pointpoints{Punkt}{Punkte} \begin{questions} \question[1] This is a short question. \question[5] This is a longer question, requiring more thought. \end{questions} There is also a command \begin{center} \verb"\marksnotpoints" \end{center} that is equivalent to the two commands \begin{center} \begin{tabular}{l} \verb"\pointpoints{mark}{marks}"\\ \verb"\bonuspointpoints{mark (bonus)}{marks (bonus)}" \end{tabular} \end{center} (the command \verb"\bonuspointpoints" is described in section~\ref{sec:Bonus}). That command would cause the above questions to be printed as \pointpoints{mark}{marks} \begin{questions} \question[1] This is a short question. \question[5] This is a longer question, requiring more thought. \end{questions} \bigskip For another example, if you give the command \begin{center} \verb"\pointname{\%}" \end{center} then the above questions would be printed as % \pointname{\%} \nopointsinmargin \noboxedpoints \begin{questions} \question[1] This is a short question. \question[5] This is a longer question, requiring more thought. \end{questions} \pointname{ \points} \subsubsection*{Using \texttt{\char`\\marginpointname}} Similarly, the command \verb"\marginpointname" can be used to affect the text set with the number of points when \verb"\pointsinmargin" or \verb"\pointsinrightmargin" is in effect. For example, if you give the commands \begin{center} \begin{tabular}{l} \verb"\pointsinmargin"\\ \verb"\marginpointname{\%}" \end{tabular} \end{center} and then type \begin{verbatim} \question[25] Where, oh where, has my little dog gone? \end{verbatim} then you'll get \pointsinmargin \noboxedpoints \marginpointname{\%} \begin{questions} \question[25] Where, oh where, has my little dog gone? \end{questions} unless, e.g., you've also given the command \verb"\boxedpoints" (see section~\ref{sec:Boxed}), in which case you'll get % \pointsinmargin \boxedpoints \marginpointname{\%} \begin{questions} \question[25] Where, oh where, has my little dog gone? \end{questions} If you give the commands \begin{center} \begin{tabular}{l} \verb"\marksnotpoints"\\ \verb"\marginpointname{ \points}" \end{tabular} \end{center} then the above will print \noboxedpoints \marginpointname{ \points} \marksnotpoints \begin{questions} \question[25] Where, oh where, has my little dog gone? \end{questions} \nopointsinmargin \marginpointname{} \pointpoints{point}{points} \bonuspointpoints{point (bonus)}{points (bonus)} Using the default is equivalent to giving the command \begin{center} \verb"\marginpointname{}" \end{center} %-------------------------------------------------------------------- \subsubsection{Using \texttt{\char`\\marginpointname} and enlarging the margins} \label{sec:margins} The default margins are not very large, and so if you use \verb"\marginpointname" (see section~\ref{sec:pointname}) to place any words along with the point values in the margin, you may run out of room. The solution to this problem is to enlarge the margins by using the \verb"\extrawidth" command with a negative argument to \emph{decrease} the width of the text area, and thus \emph{increase} the width of the margins. For example, the commands \begin{center} \begin{tabular}{ll} \verb"\extrawidth{-1in}"\\ \verb"\marginpointname{ \points}" \end{tabular} \end{center} will increase each of the left and right margins by one half inch, which will easily leave room for the word ``points''. (See section~\ref{sec:pagesize} for a discussion of the \verb"\extrawidth" command.) %-------------------------------------------------------------------- \subsubsection{Completely customizing the points} \label{sec:pointformat} If the customizations described in section~\ref{sec:Boxed} and section~\ref{sec:pointname} (using \verb"\bracketedpoints", \verb"\boxedpoints", \verb"\pointpoints", \verb"\pointname", and \verb"\marginpointname") aren't sufficient, and you don't want to use the \verb"\qformat" command to create a customized question number line (see section~\ref{sec:qformat}), you can completely customize the way the points are printed by using the commands \begin{center} \begin{tabular}{l} \verb"\pointformat"\\ \verb"\bonuspointformat" \end{tabular} \end{center} The \verb"\pointformat" command controls the printing of ``regular'' points (i.e., non-bonus points) and the \verb"\bonuspointformat" command controls the printing of bonus points (see section~\ref{sec:Bonus}). Each of the commands \verb"\pointformat" and \verb"\bonuspointformat" takes one argument, and that argument is what actually appears on the page whether the points are being printed at the beginning of the question (the default), in the left margin (because of \verb"\pointsinmargin"), in the right margin (because of \verb"\pointsinrightmargin"), or dropped in the right margin at the end of the question (because of \verb"\pointsdroppedatright"). The arguments to \verb"\pointformat" and \verb"\bonuspointformat" should contain either the command \begin{center} \verb"\thepoints" \end{center} (which for non-bonus points prints the number of points followed by the argument to the last \verb"\pointname" command and for bonus points prints the number of bonus points followed by the argument to the last \verb"\bonuspointname" command; see section~\ref{sec:pointname}) or the command \begin{center} \verb"\themarginpoints" \end{center} (which for non-bonus points prints the number of points followed by the argument to the last \verb"\marginpointname" command and for bonus points prints the number of bonus points followed by the argument to the last \verb"\marginbonuspointname" command; see section~\ref{sec:pointname}). If the argument doesn't contain either \verb"\thepoints" or \verb"\themarginpoints", then the number of points will not appear. For example, the command \verb"\bracketedpoints" is equivalent to either \begin{center} \begin{tabular}{l} \verb"\pointformat{[\thepoints]}"\\ \verb"\bonuspointformat{[\thepoints]}" \end{tabular} \end{center} if the points are being printed at the beginning of the question, or \begin{center} \begin{tabular}{l} \verb"\pointformat{[\themarginpoints]}"\\ \verb"\bonuspointformat{[\themarginpoints]}" \end{tabular} \end{center} if the points are being printed in one of the margins. For another example, the command \verb"\boxedpoints" is equivalent to either \begin{center} \begin{tabular}{l} \verb"\pointformat{\fbox{\thepoints}}"\\ \verb"\bonuspointformat{\fbox{\thepoints}}" \end{tabular} \end{center} if the points are being printed at the beginning of the question, or \begin{center} \begin{tabular}{l} \verb"\pointformat{\fbox{\themarginpoints}}"\\ \verb"\bonuspointformat{\fbox{\themarginpoints}}" \end{tabular} \end{center} if the points are being printed in one of the margins. For another example, the commands \begin{verbatim} \begin{questions} \pointsinmargin \marginpointname{\%} \pointformat{\slshape (\themarginpoints)} \question[3] What is the point? \end{questions} \end{verbatim} will produce \begin{questions} \pointsinmargin \marginpointname{\%} \pointformat{\slshape (\themarginpoints)} \question[3] What is the point? \end{questions} For another example, the commands \begin{verbatim} \begin{questions} \pointsinrightmargin \marginpointname{\%} \pointformat{\fbox{\bfseries\boldmath\themarginpoints}} \question[3\half] What is the point? \end{questions} \end{verbatim} will produce \begin{questions} \pointsinrightmargin \marginpointname{\%} \pointformat{\fbox{\bfseries\boldmath\themarginpoints}} \question[3\half] What is the point? \end{questions} \nopointsinmargin (Note: The commands \verb"\bfseries" and \verb"\boldmath" are both needed here because the \half{} printed when you use half points is printed in math mode while the rest of the points are printed in text mode.) For another example, the commands \begin{verbatim} \begin{questions} \pointname{} \pointformat{\bfseries\boldmath(Points for this problem: \thepoints)} \question[3\half] What is the point? \end{questions} \end{verbatim} will produce \begin{questions} \pointname{} \pointformat{\bfseries\boldmath(Points for this problem: \thepoints)} \question[3\half] What is the point? \end{questions} % Put things back to the default situation, so we don't mess up % later examples: \noboxedpoints \nopointsinmargin \pointname{ \points} %--------------------------------------------------------------------- \subsubsection{Questions that begin with a parts environment} If a question begins with a parts environment, then the question number and the number of the first part in the parts environment will be printed on the same line (see section~\ref{sec:parts}). Thus, if points are assigned to both the question and to the first part, both of those point values will be printed on the same line. (Note: This was not true in versions of the \verb"exam" document class earlier than 2.3. In those versions, only the later of the two point values would actually be printed.) If \verb"\pointsinmargin" or \verb"\pointsinrightmargin" are in effect (see section~\ref{sec:whereprint}), then the two point values will be printed on top of each other, which is probably not what you want. The same problem arises if a part begins with a subparts environment or if a subpart begins with a subsubparts environment. If you want to assign points to both a question and to each part of a parts environment, and if the first part will begin on the same line as the question, the solution is to either use the default location (i.e., \verb"\nopointsinmargin") or to put some of the points in the margin and others not. For example, if you type \begin{verbatim} \begin{questions} \pointsinmargin \noaddpoints \question[10] \begin{parts} \nopointsinmargin \addpoints \part[5] Who put the ``bop'' in the ``bop, sh-bop, sh-bop''? \part[5] Who put the ``ram'' in the ``rama, rama ding-dong''? \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \pointsinmargin \noaddpoints \question[10] \begin{parts} \nopointsinmargin \addpoints \part[5] Who put the ``bop'' in the ``bop, sh-bop, sh-bop''? \part[5] Who put the ``ram'' in the ``rama, rama ding-dong''? \end{parts} \end{questions} %-------------------------------------------------------------------- \subsubsection{Adding up the points for a question} \label{sec:addup} If you use the document class option \verb"addpoints" (as in \verb"\documentclass[addpoints]{exam}") or give the command \verb"\addpoints" (see section~\ref{sec:addpoints}), then you can use the command \begin{center} \verb"\droptotalpoints" \end{center} to put into the right margin the total number of points for the current question (including the points for all parts, subparts, and subsubparts). (Section~\ref{sec:adding} describes a different way to print the total number of points for a question.) The command \verb"\droptotalpoints" should be given only at the end of a paragraph or between paragraphs; if you give it within a paragraph, it causes the paragraph to end. \verb"\droptotalpoints" prints the total points for the current question in the right margin, formatted by default as: \par\nobreak\medskip \makeatletter \leavevmode\nobreak\hfill \rlap{%\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{Total for Question 2: 25}% }% rlap \makeatother \par\medskip\noindent (Note: The number of points is followed by the argument to the most recently executed \verb"\marginpointname" command (see section~\ref{sec:pointname}), which by default is empty.) If the current question is worth any bonus points (see section~\ref{sec:Bonus}), then those bonus points will not be counted by the \verb"\droptotalpoints" command, but they will be counted by the \begin{center} \verb"\droptotalbonuspoints" \end{center} command, which puts into the right margin the total number of bonus points for the current question, formatted by default as: \par\nobreak\medskip \makeatletter \leavevmode\nobreak\hfill \rlap{%\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{Total for Question 2: 10 (bonus)}% }% rlap \makeatother \par\medskip\noindent (Note: The number of bonus points is followed by the argument to the most recently executed \verb"\marginbonuspointname" command (see section~\ref{sec:Bonus}), which by default is `` (bonus)''.) You can change the format used by the \verb"\droptotalpoints" command with the \begin{center} \verb"\totalformat" \end{center} command. It takes one argument, and that argument becomes the command to print the total points, right justified a distance of \verb"\rightpointsmargin" from the right edge of the paper. The argument can contain the command \begin{center} \begin{tabular}{ll} \verb"\totalpoints"& to print the number of points, and\\ \verb"\thequestion"& to print the question number. \end{tabular} \end{center} (\verb"\totalpoints" expands to \verb"\pointsofquestion{\arabic{question}}"; see section~\ref{sec:pointsofq} for a discussion of the \verb"\pointsofquestion" command.) For example, if you give the command \begin{center} \verb"\totalformat{Question \thequestion: \totalpoints}" \end{center} then the total number of points will be printed in the format \par\nobreak\medskip \makeatletter \leavevmode\nobreak\hfill \rlap{%\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{Question 2: 25}% }% rlap \makeatother \par\medskip\noindent and if you give the command \begin{center} \verb"\totalformat{\fbox{Total: \totalpoints}}" \end{center} then the total number of points will be printed as \par\nobreak\medskip \makeatletter \leavevmode\nobreak\hfill \rlap{%\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{\fbox{Total: 25}}% }% rlap \makeatother \par\medskip\noindent Thus, if you've given the commands \begin{center} \begin{tabular}{l} \verb"\addpoints"\\ \verb"\bracketedpoints"\\ \verb"\pointdroppedatright" \end{tabular} \end{center} and you type \begin{verbatim} \question \begin{parts} \part[10] In no more than one paragraph, explain why the earth is round. \droppoints \part[10] What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \droppoints \end{parts} \droptotalpoints \end{verbatim} then you'll get \addpoints \pointsdroppedatright \bracketedpoints \begin{questions} \question \begin{parts} \part[10] In no more than one paragraph, explain why the earth is round. \droppoints \part[10] What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \droppoints \end{parts} \leavevmode\unskip\nobreak\hfill \makeatletter \rlap{\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{Total for Question 1: 20}% }% rlap \makeatother \par %\droptotalpoints \end{questions} \noaddpoints \nopointsinmargin \nobracketedpoints If you've also given the command \begin{center} \verb"\totalformat{Total for Question \thequestion: [\totalpoints]}" \end{center} then you'll get \addpoints \pointsdroppedatright \bracketedpoints \begin{questions} \question \begin{parts} \part[10] In no more than one paragraph, explain why the earth is round. \droppoints \part[10] What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \droppoints \end{parts} %\droptotalpoints \leavevmode\unskip\nobreak\hfill \makeatletter \rlap{\hskip\rightmargin % Defined by the list environment \hskip\@rightmargin % Defined by exam.cls \hskip-\rightpointsmargin \llap{Total for Question 1: [20]}% }% rlap \makeatother \par \end{questions} \noaddpoints \nopointsinmargin \nobracketedpoints To change the format used by the \verb"\droptotalbonuspoints" command, you use the command \begin{center} \verb"\bonustotalformat" \end{center} which is analogous to the \verb"\totalformat" command. The argument to \verb"\bonustotalformat" can contain the command \begin{center} \begin{tabular}{ll} \verb"\totalbonuspoints"& to print the number of bonus points, and\\ \verb"\thequestion"& to print the question number. \end{tabular} \end{center} (\verb"\totalbonuspoints" expands to \verb"\bonuspointsofquestion{\arabic{question}}"; see section~\ref{sec:BonusTables} for a discussion of the \verb"\bonuspointsofquestion" command.) %-------------------------------------------------------------------- \subsubsection{Margin sizes when using \texttt{\char`\\pointsinmargin} and \texttt{\char`\\pointsinrightmargin}} \begin{itemize} \item If you give the command \verb"\pointsinmargin", then the points are printed right justified in the left margin, with the right edge a distance of \verb"\marginpointsep" from the left edge of the text area. The default value of \verb"\marginpointsep" is the result of the command \begin{center} \verb"\setlength{\marginpointssep}{5pt}" \end{center} and you can change it by giving a new \verb"\setlength" command. \item If you give the command \verb"\pointsinrightmargin", then the points are printed right justified in the right margin, with the right edge a distance of \verb"\rightpointsmargin" from the right edge of the paper. The default value of \verb"\rightpointsmargin" is the result of the command \begin{center} \verb"\setlength{\rightpointsmargin}{1cm}" \end{center} and you can change it by giving a new \verb"\setlength" command. \end{itemize} You can change the width of the text area (and, thus, change the width of the margins) with the \verb"\extrawidth" command (see section~\ref{sec:margins}). %-------------------------------------------------------------------- \subsection{Custom question number lines: The \texttt{\char`\\qformat} command} \label{sec:qformat} The default setup is for the question number to appear in the left margin and for the text of the question to begin on that line. It's possible to change this so that the text of the question starts on the line following the question number, and the format of the line containing the question number is determined by the user. This is done using the \verb"\qformat" command. (There is also a \verb"\noqformat" command, which reverts to the default setup.) To use the \verb"\qformat" command, you give the command \begin{center} \verb"\qformat{Format specification}" \end{center} where `Format specification' must contain some stretchability (e.g., at least one \verb"\hfill" or \verb"\dotfill" or \verb"\hrulefill" or \ldots) and can contain the commands \begin{itemize} \item \verb"\thequestion", which expands to the question number, \item \verb"\thepoints", which expands to \begin{itemize} \item nothing, if no points were specified for the question, \item the number of points followed by the argument to the last \verb"\pointname" command, if this is a ``regular'' question (i.e., not a bonus question; see section~\ref{sec:Bonus}), and \item the number of bonus points followed by the argument to the last \verb"\bonuspointname" command, if this is a bonus question (see section~\ref{sec:Bonus}) \end{itemize} (see section~\ref{sec:pointname} for a discussion of the \verb"\pointname" and \verb"\bonuspointname" commands), and \item \verb"\totalpoints", which expands to the total number of points specified for the question and all of its parts, subparts, and subsubparts (see section~\ref{sec:addup}). The command \verb"\totalpoints" expands to \verb"\pointsofquestion{\arabic{question}}". \end{itemize} For example, if you give the commands % \pointname{ \points} \pointpoints{point}{points} \begin{verbatim} \qformat{Question \thequestion \dotfill \thepoints} \begin{questions} \question[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} \end{verbatim} then you'll get \qformat{Question \thequestion \dotfill \thepoints} \begin{questions} \question[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} % \medskip If you instead use the command \begin{verbatim} \qformat{\textbf{Question \thequestion}\quad (\thepoints)\hfill} \end{verbatim} then you'll get \begin{questions} \qformat{\textbf{Question \thequestion}\quad (\thepoints)\hfill} \question[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} % \medskip If you instead use the command \begin{verbatim} \qformat{\hfill Question \thequestion\hfill (\thepoints)} \end{verbatim} then you'll get \begin{questions} \qformat{\hfill Question \thequestion\hfill (\thepoints)} \question[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} \noqformat %-------------------------------------------------------------------- \subsubsection{Adding up the points for a question} \label{sec:adding} You can combine \verb"\qformat" with the \verb"\totalpoints" command (see section~\ref{sec:addup}): If you assign points only to parts, subparts, and subsubparts of questions, but none to the questions themselves, and you give the command \begin{verbatim} \qformat{Question \thequestion\dotfill \emph{\totalpoints\ points}} \end{verbatim} (you must have used the document class option \verb"addpoints" or given the command \verb"\addpoints" in order to use the \verb"\totalpoints" command; see section~\ref{sec:addpoints}), then you can type \begin{verbatim} \begin{questions} \question \begin{parts} \part[10] In no more than one paragraph, explain why the earth is round. \part[10] What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \end{parts} \end{questions} \end{verbatim} and you'll get % \nopointsinmargin \qformat{Question \thequestion\dotfill \emph{20 points}} \begin{questions} \question \begin{parts} \part[10] In no more than one paragraph, explain why the earth is round. \part[10] What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \end{parts} \end{questions} \noqformat For another method of printing the total points for a question, see the \verb"\droptotalpoints" command in section~\ref{sec:addup}. %-------------------------------------------------------------------- \subsection{Titled questions} \label{sec:Titled} When using a grading table or point table indexed by question number (see sections \ref{sec:GradeTables} and~\ref{sec:PointTables}) it's possible to replace the question numbers in the table with titles for the questions. This is done using the \verb"\titledquestion" command (see section~\ref{sec:TitledQues}), and you can then print the title in places other than the table using the \verb"\thequestiontitle" command (see section~\ref{sec:questiontitle}). %-------------------------------------------------------------------- \subsubsection{\texttt{\char`\\titledquestion}} \label{sec:TitledQues} The command \verb"\titledquestion" is a replacement for \verb"\question"; it has one required argument (the title) and one optional argument (the point value), as in \begin{center} \verb"\titledquestion{Question \thequestion: Concepts}" \end{center} which sets the question title to ``Question 2: Concepts'' (if this is the second question) and doesn't set any point values, or \begin{center} \verb"\titledquestion{Design}[10]" \end{center} which sets the question title to ``Design'' and sets the point value to ``10''. Note that the question title doesn't include the number of the question unless you put it there using the \verb"\thequestion" command. Using \verb"\titledquestion" instead of \verb"\question" doesn't change the appearance of the question (unless you use \verb"\thequestiontitle" in the argument of a \verb"\qformat" command; see section~\ref{sec:questiontitle}). The only direct effect of using \verb"\titledquestion" instead of \verb"\question" is that if you print a grading table indexed by question number (see section~\ref{sec:GradeTables}), then the title of the question will replace the number of the question in the table. To have the title of the question appear in the question itself, see the example in section~\ref{sec:questiontitle}. If you create a grading table or point table indexed by question number and you create a question using the \verb"\titledquestion" command, then the number of the question won't appear in the table unless you include \verb"\thequestion" in the title of the question. %-------------------------------------------------------------------- \subsubsection{\texttt{\char`\\thequestiontitle}} \label{sec:questiontitle} The command \verb"\thequestiontitle" expands to \begin{itemize} \item the title of the question (if the question was defined using a \verb"\titledquestion" command) or \item the number of the question (if the question was defined using a \verb"\question" command). \end{itemize} This is for use in the argument of a \verb"\qformat" command (see section~\ref{sec:qformat}), so that you can have the question title appear in the question itself, and not just in a grading table or point table. The contents of \verb"\thequestiontitle" don't appear anywhere in the question itself unless you do something to make them appear. For example, if you give the command \begin{center} \verb"\qformat{Question \thequestion: \thequestiontitle\dotfill\thepoints}" \end{center} and then type \begin{verbatim} \begin{questions} \titledquestion{History of Empirical Aerodynamics}[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} \end{verbatim} then you'll get \begin{questions} \qformat{Question \thequestion: \thequestiontitle\dotfill\thepoints} \titledquestion{History of Empirical Aerodynamics}[10] What did Billy Joe MacAllister throw off the Tallahatchie Bridge? \end{questions} \noqformat If the command \verb"\thequestiontitle" is never used, then the only effect of using the command \verb"\titledquestion" instead of the command \verb"\question" is that, in a grading table or point table indexed by question number, this question will be indexed by the title of the question rather than by the question number, and the title of the question will never appear except in the table. %-------------------------------------------------------------------- \subsection{Bonus points} \label{sec:Bonus} It's possible to create questions, parts, subparts, or subsubparts that are worth \emph{bonus points}, instead of regular points. To do this, you use the command \begin{center} \begin{tabular}{l@{\qquad instead of\qquad}l} \verb"\bonusquestion"& \verb"\question",\\ \verb"\bonustitledquestion"& \verb"\titledquestion",\\ \verb"\bonuspart"& \verb"\part",\\ \verb"\bonussubpart"& \verb"\subpart", and\\ \verb"\bonussubsubpart"& \verb"\subsubpart". \end{tabular} \end{center} If you don't assign any points to these commands then using them is equivalent to using the corresponding non-bonus commands. If you do assign points, though, then \begin{itemize} \item the points are typeset differently (see below), \item the points are not counted by the \verb"\gradetable" or \verb"\pointtable" commands (see sections \ref{sec:GradeTables} and~\ref{sec:PointTables}), though they \emph{are} counted by the \verb"\bonusgradetable" and \verb"\bonuspointtable" commands (see section~\ref{sec:BonusTables}), \item the points are not counted by the \verb"\droptotalpoints" command (see section~\ref{sec:addup}), though they are counted by the \verb"\droptotalbonuspoints" command (see below), \item the points are not counted by the \verb"\pointsofquestion" (see section~\ref{sec:pointsofq}) or \verb"\pointsonpage" (see section~\ref{sec:pointsonp}) commands, though they \emph{are} counted by the \verb"\bonuspointsofquestion" and \verb"\bonuspointsonpage" (see section~\ref{sec:BonusTables}) commands, and \item the points are not counted by the \verb"\numpoints" command (see section~\ref{sec:Count}), though they \emph{are} counted by the \verb"\numbonuspoints" command (see section~\ref{sec:Count}). \end{itemize} The default setup is that if you type \begin{verbatim} \begin{questions} \question[10] Who discovered America? \bonusquestion[1] On what day of the week did he do it? \bonusquestion[2] What color shirt was he wearing? \end{questions} \end{verbatim} then you'll get \begin{questions} \question[10] Who discovered America? \bonusquestion[1] On what day of the week did he do it? \bonusquestion[2] What color shirt was he wearing? \end{questions} There is also a command \verb"\bonuspointpoints" that is analogous to \verb"\pointpoints" (see section~\ref{sec:pointname}); the default setup was created by the command \begin{center} \verb"\bonuspointpoints{point (bonus)}{points (bonus)}" \end{center} and if you give the command \begin{center} \verb"\bonuspointpoints{bonus point}{bonus points}" \end{center} then typing the above would produce \begin{questions} \bonuspointpoints{bonus point}{bonus points} \question[10] Who discovered America? \bonusquestion[1] On what day of the week did he do it? \bonusquestion[2] What color shirt was he wearing? \end{questions} There are also commands \begin{center} \begin{tabular}{l} \verb"\bonuspointname" and\\ \verb"\marginbonuspointname" \end{tabular} \qquad that are analogous to\qquad \begin{tabular}{l} \verb"\pointname" and\\ \verb"\marginpointname" \end{tabular} \end{center} (see section~\ref{sec:pointname}), and commands \begin{center} \begin{tabular}{l} \verb"\droptotalbonuspoints",\\ \verb"\bonustotalformat", and\\ \verb"\totalbonuspoints" \end{tabular} \qquad that are analogous to\qquad \begin{tabular}{l} \verb"\droptotalpoints",\\ \verb"\totalformat", and\\ \verb"\totalpoints" \end{tabular} \end{center} (see section~\ref{sec:addup}). %-------------------------------------------------------------------- \subsection{Counting the questions and adding up the points} \label{sec:Count} The \verb"exam" document class automatically counts the numbers of questions, parts, and subparts, and makes these numbers available as the macros \begin{center} \begin{tabular}{l} \verb"\numquestions"\\ \verb"\numparts"\\ \verb"\numsubparts"\\ \verb"\numsubsubparts" \end{tabular} \end{center} These numbers are also printed on the screen when you run \LaTeX{} and they are placed into the \verb".log" file as well. If you have more than one \verb"questions" environment (for example, if your exam has several parts, with the questions in each part numbered beginning with ``1''), then \verb"\numquestions" will hold the total number of questions on the exam. If you do have more than one \verb"questions" environment, though, you won't be able to use the \verb"\gradetable" or \verb"\pointtable" commands (see section~\ref{sec:Tables}). If you use the document class option \verb"addpoints" or give the command \verb"\addpoints" (see section~\ref{sec:addpoints}), then the class will add the total number of points and the total number of bonus points (see section~\ref{sec:Bonus}) that you've given to all of the questions, parts, subparts, and subsubparts of the exam, and make those totals available in the macros \begin{center} \begin{tabular}{l} \verb"\numpoints"\\ \verb"\numbonuspoints" \end{tabular} \end{center} as well as displaying those totals on the screen when you run \LaTeX{} and placing them into the \verb".log" file. You can then type \begin{verbatim} \begin{center} This exam has \numquestions\ questions, for a total of \numpoints\ points and \numbonuspoints\ bonus points. \end{center} \end{verbatim} and you'll get \begin{center} This exam has 8 questions, for a total of 120 points and 10 bonus points. \end{center} \emph{Warning}: If \verb"addpoints" is in effect, your point values for questions, parts, subparts, and subsubparts must not contain anything other than digits and the command \verb"\half" (see section~\ref{sec:Half}). For example, if you \emph{don't} give the command \verb"\addpoints", then you can type \begin{center} \verb"\question[10\%]" \end{center} with no problems, but this will cause errors if you've given the command \verb"\addpoints". The correct way to accomplish what you want is to give the command \verb"\marginpointname{\%}" or \verb"\pointname{\%}" and then type \verb"\question[10]" (see section~\ref{sec:pointname}). If you want to temporarily turn off the adding of points (for example, if you list both the total points for each question and the points for each part, but you don't want to count the points twice), you can give the command \begin{center} \verb"\noaddpoints" \end{center} to turn off the adding of points and the command \verb"\addpoints" to turn it back on. If \verb"addpoints" is in effect, then you can create grading tables (see section~\ref{sec:GradeTables}) and point tables (see section~\ref{sec:PointTables}) and use the commands \verb"\pointsofquestion" (see section~\ref{sec:pointsofq}) and \verb"\pointsonpage" (see section~\ref{sec:pointsonp}). %--------------------------------------------------------------------- \subsection{Referring to specific questions by number (cross references)} You can use the standard \LaTeX{} commands \verb"\label" and \verb"\ref" to refer to questions (or parts, or subparts, or subsubparts) by number. For example, if you type \begin{verbatim} The first question is question number~\ref{ques:first}. Question number~\ref{ques:second} has both a good part (part~\ref{part:good}) and a bad part (part~\ref{part:bad}). \begin{questions} \question \label{ques:first} This is the first question. \question \label{ques:second} \begin{parts} \part \label{part:good} This is the good part. \part \label{part:bad} This is the \emph{bad} part. \end{parts} \question Is there a question? \end{questions} \end{verbatim} then you'll get: \medskip The first question is question number~\ref{ques:first}. Question number~\ref{ques:second} has both a good part (part~\ref{part:good}) and a bad part (part~\ref{part:bad}). \begin{questions} \question \label{ques:first} This is the first question. \question \label{ques:second} \begin{parts} \part \label{part:good} This is the good part. \part \label{part:bad} This is the \emph{bad} part. \end{parts} \question Is there a question? \end{questions} \bigskip As with all other cross references in \LaTeX, you'll have to run your file through \LaTeX{} \emph{twice} to be sure that all the cross references are correct. %-------------------------------------------------------------------- \subsection{Customizing the numbers} \label{sec:CustNumb} The default setup is that: \begin{questions} \question Question numbers are arabic, and are followed by a period. \begin{parts} \part Part numbers are lower case letters, and are enclosed in parentheses. \begin{subparts} \subpart Subpart numbers are lower case roman, and are followed by a period. \begin{subsubparts} \subsubpart Subsubpart numbers are greek, and are followed by a right parenthesis. \begin{choices} \choice Choices are upper case letters, and are followed by a period. \end{choices} \end{subsubparts} \end{subparts} \end{parts} \end{questions} All of this can be changed. \bigskip To change the type of numbering, you would redefine the commands \begin{center} \begin{tabular}{l} \verb"\thequestion"\\ \verb"\thepartno"\\ \verb"\thesubpart"\\ \verb"\thesubsubpart"\\ \verb"\thechoice" \end{tabular} \end{center} (Note: The second one listed there is \verb"\thepartno", \emph{not} \verb"\thepart". The command \verb"\thepart" refers to the counter used in the article document class standard sectioning command \verb"\part".) The numbering commands available are \begin{center} \begin{tabular}{ll} \verb"\arabic"& Regular arabic integers\\ \verb"\alph"& Lower case letters\\ \verb"\Alph"& Upper case letters\\ \verb"\roman"& Lower case roman numbers\\ \verb"\Roman"& Upper case roman numbers\\ \verb"\greeknum"& Greek letters \end{tabular} \end{center} and any of these can be applied to the counters \verb"question", \verb"partno", \verb"subpart", \verb"subsubpart", and \verb"choice". (The \verb"\greeknum" command is defined by the exam document class, but all of the others are standard \LaTeX{} commands.) For example, to have questions numbered using upper case roman numbers and parts numbered using upper case letters, you would give the commands \begin{center} \begin{tabular}{l} \verb"\renewcommand\thequestion{\Roman{question}}"\\ \verb"\renewcommand\thepartno{\Alph{partno}}" \end{tabular} \end{center} \bigskip The ``decorations'' around the numbers (i.e., the periods, or parentheses, or \ldots) are determined by the commands \begin{center} \begin{tabular}{l} \verb"\questionlabel"\\ \verb"\partlabel"\\ \verb"\subpartlabel"\\ \verb"\subsubpartlabel"\\ \verb"\choicelabel" \end{tabular} \end{center} the default definitions of which are: \begin{center} \begin{tabular}{l} \verb"\newcommand\questionlabel{\thequestion.}"\\ \verb"\newcommand\partlabel{(\thepartno)}"\\ \verb"\newcommand\subpartlabel{\thesubpart.}"\\ \verb"\newcommand\subsubpartlabel{\thesubsubpart)}"\\ \verb"\newcommand\choicelabel{\thechoice.}" \end{tabular} \end{center} You can change any of these by giving \verb"\renewcommand" commands to redefine them. %-------------------------------------------------------------------- \subsection{Customizing the list parameters} \label{sec:CustList} Each of the environments \verb"questions", \verb"parts", \verb"subparts", \verb"subsubparts", and \verb"choices" is implemented as a \verb"list" environment. This section describes commands for advanced users who want to customize the list parameters (\verb"\topsep", \verb"\partopsep", \verb"\itemsep", \verb"\parsep", etc.) for the lists that those environments create. The \verb"exam" document class includes the expansion of \begin{center} \begin{tabular}{l@{\qquad when creating a\qquad}l@{\qquad}l} \verb"\questionshook"&\verb"questions"&environment,\\ \verb"\partshook"&\verb"parts"&environment,\\ \verb"\subpartshook"&\verb"subparts"&environment,\\ \verb"\subsubpartshook"&\verb"subsubparts"&environment, and\\ \verb"\choiceshook"&\verb"choices"&environment. \end{tabular} \end{center} The \verb"exam" document class defines these as follows: \begin{center} \begin{tabular}{ll} \verb"\newcommand\questionshook{}"\\ \verb"\newcommand\partshook{}"\\ \verb"\newcommand\subpartshook{}"\\ \verb"\newcommand\subsubpartshook{}"\\ \verb"\newcommand\choiceshook{}" \end{tabular} \end{center} Thus, by default, these commands have no effect, but you can change any of them with a \verb"\renewcommand" command. Thus, if you redefine, e.g., \verb"\questionshook" to expand to commands that set values for some of the list parameters, then those values will be used in the \verb"questions" environment. For example, if you give the command \begin{center} \verb"\renewcommand\questionshook{\setlength{\itemsep}{1in}}" \end{center} then there will be an additional one inch of blank space inserted between questions (since the questions are the items in a \verb"questions" environment). For another example, if you give the command \begin{center} \verb"\renewcommand\partshook{\setlength{\topsep}{0.5in}}" \end{center} then each parts environment will have an additional one half inch of space before and after the environment. %-------------------------------------------------------------------- %-------------------------------------------------------------------- \section{Escaping the indentation: \texttt{\char`\\uplevel} and \texttt{\char`\\fullwidth}} \label{sec:uplevel} There are two commands provided for printing text with a left margin smaller than the one currently in effect: \verb"\uplevel" and \verb"\fullwidth". Each of these commands takes one argument and typesets the argument with an altered left margin. The main uses for these commands are including instructions for a group of questions (see section~\ref{sec:Instructions}) and naming the parts of a long exam (see section~\ref{sec:Naming}), but you can use them however you like. %-------------------------------------------------------------------- \subsection{Including instructions for a group of questions} \label{sec:Instructions} If you are inside of a parts environment and you want to give directions for the next few parts, then those directions should be indented to the level of the question of which they are parts, i.e., up one level. If you type \begin{verbatim} \begin{questions} \question Why did you come to Casablanca? \question \begin{parts} \part Why, Oh why, Oh why, Oh; why did I ever leave Ohio? \uplevel{The following two parts should be answered in classical Greek:} \part Why do birds sing? \part Why do fools fall in love? \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question Why did you come to Casablanca? \question \begin{parts} \part Why, Oh why, Oh why, Oh; why did I ever leave Ohio? \uplevel{The following two parts should be answered in classical Greek:} \part Why do birds sing? \part Why do fools fall in love? \end{parts} \end{questions} If you want to give instructions for a group of questions, then the indenting for those instructions should be to the outer left margin, i.e., up one level. For example, if you type \begin{verbatim} \begin{questions} \question Approximate $\displaystyle \int_0^1 \sin x^2 \, dx$ within $.001$ of its true value. \uplevel{Questions \ref{exact-start} through~\ref{exact-end} should be evaluated completely, not just approximated.} \question \label{exact-start} $\displaystyle \int_0^1 \frac{x^2 \, dx}{\sqrt{1-x^2}}$ \question $\displaystyle \int_0^1 \frac{1}{1+x^2}\, dx$ \question \label{exact-end} $\displaystyle \int_0^{\frac{\pi}{2}} \sin^3 x \cos x \, dx$ \end{questions} \end{verbatim} you'll get \begin{questions} \question Approximate $\displaystyle \int_0^1 \sin x^2 \, dx$ within $.001$ of its true value. \uplevel{Questions \ref{exact-start} through~\ref{exact-end} should be evaluated completely, not just approximated.} \question \label{exact-start} $\displaystyle \int_0^1 \frac{x^2 \, dx}{\sqrt{1-x^2}}$ \question $\displaystyle \int_0^1 \frac{1}{1+x^2}\, dx$ \question \label{exact-end} $\displaystyle \int_0^{\frac{\pi}{2}} \sin^3 x \cos x \, dx$ \end{questions} If you want to give instructions that use the full width of the page (rather than just going up one level of indentation), then use the \verb"\fullwidth" command. For example, if you type \begin{verbatim} \begin{questions} \question This is the first question. \question \begin{parts} \part This is the first part. \part This is the second part. \begin{subparts} \subpart This is a subpart. \fullwidth{When you finish this exam, you should go back and reexamine your work, both on this exam and in your life up until the day of this exam, for any errors that you may have made.} \subpart This is another subpart. \end{subparts} \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question This is the first question. \question \begin{parts} \part This is the first part. \part This is the second part. \begin{subparts} \subpart This is a subpart. \fullwidth{When you finish this exam, you should go back and reexamine your work, both on this exam and in your life up until the day of this exam, for any errors that you may have made.} \subpart This is another subpart. \end{subparts} \end{parts} \end{questions} %--------------------------------------------------------------------- \subsection{Naming the parts of a long exam} \label{sec:Naming} There are two ways of naming the parts of a long exam. The first way uses the \verb"\fullwidth" and \verb"\uplevel" commands (see section~\ref{sec:Namefullwidth}), and the other way uses the standard \verb"\part" and \verb"\section" commands (see section~\ref{sec:NameSection}). %-------------------------------------------------------------------- \subsubsection{Using \texttt{\char`\\uplevel} and \texttt{\char`\\fullwidth}} \label{sec:Namefullwidth} To place a section name in the exam, just use a \verb"\fullwidth" command (see section~\ref{sec:uplevel}) and include whatever font changing commands that you want to use. For example, if you type \begin{verbatim} \begin{questions} \question Is there, is there balm in Gilead? \fullwidth{\Large \textbf{Essay questions}} \question Explain how the cooling of matter in the centuries following the big bang has influenced the British parliamentary system of government. \fullwidth{\Large \textbf{Laboratory questions}} \question In the cabinet below your laboratory bench you will find a single edged razor blade, several C-clamps, and a bottle of whiskey. Remove your appendix. Do not suture until your work has been inspected. \end{questions} \end{verbatim} then you'll get \begin{questions} \question Is there, is there balm in Gilead? \fullwidth{\Large \textbf{Essay questions}} \question Explain how the cooling of matter in the centuries following the big bang has influenced the British parliamentary system of government. \fullwidth{\Large \textbf{Laboratory questions}} \question In the cabinet below your laboratory bench you will find a single edged razor blade, several C-clamps, and a bottle of whiskey. Remove your appendix. Do not suture until your work has been inspected. \end{questions} %-------------------------------------------------------------------- \subsubsection{Using the standard sectioning commands} \label{sec:NameSection} The exam document class is built upon the standard article document class, and so the sectioning commands used with the article document class can be used here as well. In particular, you can give the commands \verb"\part", \verb"\part*", \verb"\section", and \verb"\section*". The definitions made in \verb"exam.cls" ensure that if a \verb"\part" command appears \emph{outside of a parts environment} it will be interpreted as a sectioning command, while if it appears \emph{inside of a parts environment} it will be interpreted as beginning a new part of a question. You can give these commands in the middle of a questions environment so as not to interrupt the numbering of the questions, or you can end a questions environment, give a sectioning command, and then start a new questions environment (which would reset the question counter to start again with number~1). If you have more than one questions environment, though, then you will be unable to use any of the commands that create grading tables or point tables (see section~\ref{sec:Tables}) or the commands that change the headers and footers depending on whether or not a question spans multiple pages (see section~\ref{sec:QuesSpan}). If you give any of these commands while inside of a questions environment, then the section titles will be indented to the same extent that questions are indented unless they are given as the argument of a \verb"\fullwidth" or \verb"\uplevel" command. These commands have the advantage, however, that the unstarred versions provide automatic numbering of the parts or sections. %-------------------------------------------------------------------- %--------------------------------------------------------------------- \section{Leaving space for the answers} \label{sec:LeaveSpace} There are three different kinds of space that you can create: \begin{itemize} \item Blank space (see section~\ref{sec:BlankSpace}), \item space filled with lines (see section~\ref{sec:FillLines}), and \item space filled with dotted lines (see section~\ref{sec:FillDotLines}). \end{itemize} If you type solutions using a \verb"solution", \verb"solutionorlines", or \verb"solutionordottedlines" environment (see section~\ref{sec:solutions}), then you can arrange for space to be created only when the solutions are not being printed; see section~\ref{sec:SolSpace}. You can also create answer lines for short answer questions (see section~\ref{sec:ShortAns}). %-------------------------------------------------------------------- \subsection{Leaving blank space} \label{sec:BlankSpace} To leave blank space on the page for the answer to a question, you should use the \verb"\vspace*" command. For example, the command \verb"\vspace*{1in}" inserts one inch of vertical space after the line in which it appears. (If it appears in between paragraphs, then it inserts the space right there.) You can also use the \verb"\vspace" command, the difference being that space inserted by \verb"\vspace" will be deleted if it occurs at the top of a new page, whereas space inserted by \verb"\vspace*" will never be deleted. If you want to equally distribute the blank space among the questions on the page, then just put \verb"\vspace*{\fill}" after each question on the page and use \verb"\newpage" to end the page. You can also leave blank space when solutions are not being printed by using an optional argument with a \verb"solution" environment; see section~\ref{sec:SolSpace}. %-------------------------------------------------------------------- \subsection{Printing lined space for answers} \label{sec:FillLines} You can fill space with lines with the command \begin{center} \verb"\fillwithlines{length}" \end{center} which fills vertical space of height \verb"length" with horizontal lines that run the length of the current line. That is, they extend from the current left margin (which depends on whether we're in a question, part, subpart, or subsubpart) to the right margin. \medskip For example, if you type \begin{verbatim} \begin{questions} \question In no more than one paragraph, explain why the earth is round. \fillwithlines{1in} \question \begin{parts} \part What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \fillwithlines{1in} \part Where should the field generator be constructed if you want one of the vertices to be located at the Royal Observatory at Greenwich? \fillwithlines{1in} \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question In no more than one paragraph, explain why the earth is round. \fillwithlines{1in} \question \begin{parts} \part What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \fillwithlines{1in} \part Where should the field generator be constructed if you want one of the vertices to be located at the Royal Observatory at Greenwich? \fillwithlines{1in} \end{parts} \end{questions} \medskip The distance between the lines is \verb"\linefillheight", the default value of which is set with the command \begin{center} \verb"\setlength\linefillheight{.25in}" \end{center} That value can be changed by giving a new \verb"\setlength" command. The thickness of the lines is \verb"\linefillthickness", the default value of which is set with the command \begin{center} \verb"\setlength\linefillthickness{0.1pt}" \end{center} and that value can also be changed by giving a new \verb"\setlength" command. If you want to fill the remaining space on the page with lines, you should give the commands \begin{center} \begin{tabular}{l} \verb"\fillwithlines{\fill}"\\ \verb"\newpage" \end{tabular} \end{center} If you want to equally distribute the space for answers among the questions on the page, then just put \verb"\fillwithlines{\fill}" after each question on the page and use \verb"\newpage" to end the page. You can also insert lined space when solutions are not being printed by including an optional argument with the \verb"solutionorlines" environment; see section~\ref{sec:SolSpace}. %-------------------------------------------------------------------- \subsection{Printing dotted lined space} \label{sec:FillDotLines} You can fill space with dotted lines with the command \begin{center} \verb"\fillwithdottedlines{length}" \end{center} which fills vertical space of height \verb"length" with dotted horizontal lines that run the length of the current line. That is, they extend from the current left margin (which depends on whether we're in a question, part, subpart, or subsubpart) to the right margin. The command \verb"\fillwithdottedlines" is almost identical to the \verb"\fillwithlines" command (see section~\ref{sec:FillLines}), except that the lines created are dotted and the distance between the lines is \verb"\dottedlinefillheight". The default value of \verb"\dottedlinefillheight" is set by the command \begin{center} \verb"\setlength\dottedlinefillheight{.25in}" \end{center} and that value can be changed by giving a new \verb"\setlength" command. For example, if you type \begin{verbatim} \begin{questions} \question In no more than one paragraph, explain why the earth is round. \fillwithdottedlines{1in} \question \begin{parts} \part What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \fillwithdottedlines{1in} \part Where should the field generator be constructed if you want one of the vertices to be located at the Royal Observatory at Greenwich? \fillwithdottedlines{1in} \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question In no more than one paragraph, explain why the earth is round. \fillwithdottedlines{1in} \question \begin{parts} \part What changes to the van Allen radiation belt are needed to make the earth into a regular icosahedron? \fillwithdottedlines{1in} \part Where should the field generator be constructed if you want one of the vertices to be located at the Royal Observatory at Greenwich? \fillwithdottedlines{1in} \end{parts} \end{questions} If you want to fill the remaining space on the page with dotted lines, you should give the commands \begin{center} \begin{tabular}{l} \verb"\fillwithdottedlines{\fill}"\\ \verb"\newpage" \end{tabular} \end{center} If you want to equally distribute the space for answers among the questions on the page, then just put \verb"\fillwithdottedlines{\fill}" after each question on the page and use \verb"\newpage" to end the page. You can also insert dotted lined space when solutions are not being printed by including an optional argument with the \verb"solutionordottedlines" environment; see section~\ref{sec:SolSpace}. %-------------------------------------------------------------------- \subsection{Short answer questions} \label{sec:ShortAns} The exam class can print answer lines for short answer questions. The command \begin{center} \verb"\answerline" \end{center} leaves blank vertical space of length \verb"\answerskip" and then inserts a horizontal line of length \verb"\answerlinelength" at the right margin, preceded by the number of the current question, part, subpart, or subsubpart. The default values of \verb"\answerskip" and \verb"\answerlinelength" are set by the commands \begin{center} \begin{tabular}{l} \verb"\setlength\answerskip{2ex}"\\ \verb"\setlength\answerlinelength{1in}" \end{tabular} \end{center} and these can be changed by giving new \verb"\setlength" commands. If you use the command \verb"\answerline" outside of a \verb"questions" environment, then the number before the line will be omitted. For example, if you type \begin{verbatim} \begin{questions} \question Who's buried in Grant's tomb? \answerline \question What was the color of George Washington's white horse? \answerline \question Which is heavier: A pound of feathers, or a pound of lead? \answerline \end{questions} \end{verbatim} then you'll get \begin{questions} \question Who's buried in Grant's tomb? \answerline \question What was the color of George Washington's white horse? \answerline \question Which is heavier: A pound of feathers, or a pound of lead? \answerline \end{questions} and if you type \begin{verbatim} \begin{questions} \question Answer the following questions on the lines at the right: \begin{parts} \part Who's buried in Grant's tomb? \answerline \part \begin{subparts} \subpart What light through yonder window breaks? \answerline \subpart To be, or not to be; that is the question? \answerline \end{subparts} \part What was the color of George Washington's white horse? \answerline \end{parts} \end{questions} \end{verbatim} then you'll get \begin{questions} \question Answer the following questions on the lines at the right: \begin{parts} \part Who's buried in Grant's tomb? \answerline \part \begin{subparts} \subpart What light through yonder window breaks? \answerline \subpart To be, or not to be; that is the question? \answerline \end{subparts} \part What was the color of George Washington's white horse? \answerline \end{parts} \end{questions} %-------------------------------------------------------------------- \subsection{Printing the answers to short answer questions} \label{sec:AnsShortAns} The \verb"\answerline" command can take an optional argument so that you can have the answer to the question printed on the answer line when answers are being printed (see section~\ref{sec:answers}). When answers are not being printed, the optional argument is ignored. When answers are being printed, the optional argument is printed subject to the declarations in the argument of the last \verb"\CorrectChoiceEmphasis" command (which by default is \verb"\bfseries"; see section~\ref{sec:CorrectChoice}), and it is printed a distance of \verb"\answerclearance" above the line. The default value of \verb"\answerclearance" is set with the command \begin{center} \verb"\setlength\answerclearance{0.2ex}" \end{center} and it can be changed with a \verb"\setlength" command. The optional argument is centered on the answer line unless it is longer than the line, in which case it extends to the right of the line. For example, if you type \begin{verbatim} \begin{questions} \question Who was the fifth Beatle? \answerline[Murray the K] \question What is the answer to the ultimate question of life, the universe, and everything? \answerline[42] \end{questions} \end{verbatim} and if \verb"\noprintanswers" (the default) is in effect, you'll get \begin{questions} \question Who was the fifth Beatle? \answerline[Murray the K] \question What is the answer to the ultimate question of life, the universe, and everything? \answerline[42] \end{questions} while if \verb"\printanswers" is in effect, you'll get \printanswers \begin{questions} \question Who was the fifth Beatle? \answerline[Murray the K] \question What is the answer to the ultimate question of life, the universe, and everything? \answerline[42] \end{questions} \noprintanswers %-------------------------------------------------------------------- %-------------------------------------------------------------------- \section{Including solutions} \label{sec:solutions} There are three environments for printing solutions to the problems: \begin{center} \begin{tabular}{rll} The& \verb"solution"& environment,\\ the& \verb"solutionorlines"& environment, and\\ the& \verb"solutionordottedlines"& environment. \end{tabular} \end{center} If you use these environments without any optional arguments, then they are identical: They print either the solution or nothing at all. Whether or not solutions are printed is controlled by the two commands \begin{center} \begin{tabular}{l} \verb"\printanswers"\\ \verb"\noprintanswers" \end{tabular} \end{center} Using these commands to turn printing of solutions on and off, you can print the solutions for the entire exam or for only certain parts of it. The default is that solutions are \emph{not} printed. There is also an \verb"answers" option to the \verb"exam" document class, used as in \begin{center} \verb"\documentclass[answers]{exam}" \end{center} that is equivalent to giving the command \verb"\printanswers" at the beginning of the document (see section~\ref{sec:answers}). All of these environments can take an optional argument, which is an amount of space to be inserted when solutions are not being printed (see section~\ref{sec:SolSpace}). The only differences between these environments is that if this optional argument is used and solutions are not being printed, then \begin{itemize} \item the \verb"solution" enviroment inserts that amount of blank space, as if you had given a \verb"\vspace*" command (see section~\ref{sec:BlankSpace}), \item the \verb"solutionorlines" environment inserts that amount of space with ruled lines, as if you had given a \verb"\fillwithlines" command (see section~\ref{sec:FillLines}), and \item the \verb"solutionordottedlines" environment inserts that amount of space with dotted lines, as if you had given a \verb"\fillwithdottedlines" command (see section~\ref{sec:FillDotLines}). \end{itemize} %-------------------------------------------------------------------- \subsection{Printing the solution in a box} \label{sec:SolutionAppearance} By default, the solution is printed inside of a box (i.e., an \verb"\fbox"), and if the solution is broken across pages, then each piece is enclosed in a box. There is also a \verb"\shadedsolutions" command to instead have the solution printed in a \verb"\colorbox" (i.e., printed on a shaded background); for this, you must load the \verb"color" package and your printer must be capable of printing color, or at least grayscale (see section~\ref{sec:shaded}). \medskip For example, if you type \begin{verbatim} \begin{questions} \question Did you mutter something? \begin{solution} Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{solution} \end{questions} \end{verbatim} and you've given the command \verb"\printanswers" or used the document class option \verb"answers" (see section~\ref{sec:answers}), then you'll get \bigskip \begin{questions} \question Did you mutter something? \begin{TheSolution} Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{TheSolution} \end{questions} \bigskip The result would be exactly the same if the above \verb"solution" environment were replaced by either a \verb"solutionorlines" or \verb"solutionordottedlines" environment. By default, the solution is printed in a box whose width equals that of the text of the current question (or part, or subpart, or subsubpart). That is, the indentation at the left of the solution equals the current level of indentation. You can change this by enclosing the \verb"solution", \verb"solutionorlines", or \verb"solutionordottedlines" environment in the argument of a \verb"\fullwidth" or \verb"\uplevel" command (see section~\ref{sec:uplevel}). For example, if you type \begin{verbatim} \begin{questions} \question Did you mutter something? \fullwidth{\begin{solution} Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{solution}} \end{questions} \end{verbatim} and you've given the command \verb"\printanswers" or used the document class option \verb"answers", then you'll get \bigskip \begin{questions} \question Did you mutter something? \fullwidth{\begin{TheSolution} Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{TheSolution}} \end{questions} With all of these environments, if solutions are not being printed then the contents of the environment are ignored. If, however, you include the optional argument (see section~\ref{sec:SolSpace}), then the requested amount of space (blank, lined, or dotted lined) will be inserted when the solution isn't printed. %-------------------------------------------------------------------- \subsection{Printing the solution on a shaded background} \label{sec:shaded} If you load the \verb"color" package with the command \begin{center} \verb"\usepackage{color}" \end{center} in the preamble of your document (i.e., after the \verb"\documentclass" command and before the \verb"\begin{document}" command), then you can give the command \begin{center} \verb"\shadedsolutions" \end{center} This will cause solutions to be printed on a shaded background, which by default is a light gray. (Most laser printers can at least print grayscale when printing with the correct driver.) If you want to change the color of the shading, you can do so by redefining the color \verb"SolutionColor". For example, if you give the command \begin{center} \verb"\definecolor{SolutionColor}{rgb}{0.8,0.9,1}" \end{center} then the solutions will be printed on a light blue background (assuming that your printer is capable of producing that color). If you want to switch back to printing solutions inside of an \verb"\fbox", you can do so by giving the command \begin{center} \verb"\framedsolutions" \end{center} which returns you to the default situation. %-------------------------------------------------------------------- \subsection{Customizing the heading of the solution} \label{sec:SolCust} The word ``\textbf{Solution:}'' that you see at the beginning of the solutions printed by the \verb"solution", \verb"solutionorlines", and \verb"solutionordottedlines" environments can be changed by redefining the command \verb"\solutiontitle". The default value was created by the command \begin{center} \verb"\newcommand{\solutiontitle}{\noindent\textbf{Solution:}\enspace}" \end{center} If, for example, you give the command \begin{center} \verb"\renewcommand{\solutiontitle}{\noindent\textbf{Solution:}\par\noindent}" \end{center} then the \verb"solution" environment above would print \renewcommand{\solutiontitle}{\noindent\textbf{Solution:}\par\noindent} \par\bigskip \begin{questions} \question Did you mutter something? \begin{TheSolution} Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{TheSolution} \end{questions} \renewcommand{\solutiontitle}{\noindent\textbf{Solution:}\enspace} The appearance of the \verb"solution", \verb"solutionorlines", and \verb"solutionordottedlines" environments can actually be totally customized, if you're up to defining a \LaTeX{} environment. The appearance of the solution typed into any of these environments is defined by an environment called \verb"TheSolution", and you can change the definition of \verb"TheSolution" with a \verb"\renewenvironment" command. That is, the \verb"solution" environment decides whether the command \verb"\printanswers" has been given and, if so, it feeds the contents of the \verb"solution" environment into a \verb"TheSolution" environment. (The behavior of a \verb"solutionorlines" or \verb"solutionordottedlines" environment is similar.) If you use \verb"\renewenvironment" to change the definition of the \verb"TheSolution" environment, you'll be changing the way the solution is printed. For the default definition of the \verb"TheSolution" environment, see the file \verb"exam.cls". %-------------------------------------------------------------------- \subsection{Leaving space for the answers when solutions aren't printed} \label{sec:SolSpace} Each of the \verb"solution", \verb"solutionorlines", and \verb"solutionordottedlines" environments takes an optional argument: \begin{itemize} \item In a \verb"solution" environment this is an amount of blank space to be left (just as if you had used a \verb"\vspace*" command; see section~\ref{sec:BlankSpace}) when solutions are not being printed, \item in a \verb"solutionorlines" environment this is an amount of lined space to be left (just as if you had used a \verb"\fillwithlines" command; see section~\ref{sec:FillLines}) when solutions are not being printed, and \item in a \verb"solutionordottedlines" environment this is an amount of dotted lined space to be left (just as if you had used a \verb"\fillwithdottedlines" command; see section~\ref{sec:FillDotLines}) when solutions are not being printed. \end{itemize} For example, if you type \begin{verbatim} \begin{solution}[2in] Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{solution} \end{verbatim} then there will be 2 inches of blank space inserted (as if you had given the command \verb"\vspace*{2in}"; see section~\ref{sec:BlankSpace}) when solutions are not being printed, if you type \begin{verbatim} \begin{solutionorlines}[2in] Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{solutionorlines} \end{verbatim} then there will be 2 inches of lined space inserted (as if you had given the command \verb"\fillwithlines{2in}"; see section~\ref{sec:FillLines}) when solutions are not being printed, and if you type \begin{verbatim} \begin{solutionordottedlines}[2in] Once upon a midnight dreary, while I pondered, weak and weary, Over many a quaint and curious volume of forgotten lore--- While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. ``\,'Tis some visitor,'' I muttered, ``tapping at my chamber door--- Only this and nothing more.'' \end{solutionorlines} \end{verbatim} then there will be 2 inches of dotted lined space inserted (as if you had given the command \verb"\fillwithdottedlines{2in}"; see section~\ref{sec:FillDotLines}) when solutions are not being printed. %-------------------------------------------------------------------- \subsection{Changes depending on whether or not solutions are being printed} \label{sec:ifprintanswers} The command \verb"\ifprintanswers" is provided in case you want to vary what appears on the exam in ways other than those provided by the solution environments (see section~\ref{sec:solutions}), the \verb"\CorrectChoice" command in multiple choice environments (see section~\ref{sec:CorrectChoice}), and the optional argument to the \verb"\answerline" command (see section~\ref{sec:AnsShortAns}). You use this command by typing \begin{verbatim} \ifprintanswers Stuff to appear only when answers are being printed. \else Stuff to appear only when answers are not being printed. \fi \end{verbatim} The \verb"\else" clause is optional; you can also type \begin{verbatim} \ifprintanswers Stuff to appear only when answers are being printed. \fi \end{verbatim} If you want something printed only when answers are not being printed, you can type \begin{verbatim} \ifprintanswers \else Stuff to appear only when answers are not being printed. \fi \end{verbatim} Since the \verb"exam" document class automatically loads the \verb"ifthen" package, you can accomplish the same things using the \verb"\ifthenelse" command: \begin{verbatim} \ifthenelse{\boolean{printanswers}} {Stuff to appear only when answers are being printed.} {Stuff to appear only when answers are not being printed.} \end{verbatim} If you use \verb"\ifthenelse", then \verb"both" cases must be present, even if you leave one of them empty. Thus, e.g., if you want to print something only when answers are not being printed, you'd type \begin{verbatim} \ifthenelse{\boolean{printanswers}} {} {Stuff to appear only when answers are not being printed.} \end{verbatim} % % If you want to ``Stuff'' only when answers aren't being printed, you % can say either % % \ifprintanswers % \else % Stuff % \fi % % or % % \ifthenelse{\boolean{printanswers}}{}{Stuff} %-------------------------------------------------------------------- %-------------------------------------------------------------------- \section{Grading tables and point tables} \label{sec:Tables} \newlength\cwidth The \verb"exam" document class can print either \begin{itemize} \item a grading table, indexed either by question number or by page number, which lists the points possible and leaves space for you to fill in (by hand) the points earned (see section~\ref{sec:GradeTables}), or \item a point table, indexed either by question number or by page number, which lists the points possible but does not leave space for you to fill in the points earned (see section~\ref{sec:PointTables}). \end{itemize} It's also possible to print either a grading table or point table to cover only part of the exam (see section~\ref{sec:PartialTable}). If the exam has any bonus points (see section~\ref{sec:Bonus}), then the bonus points will be ignored by the tables described in sections \ref{sec:GradeTables}, \ref{sec:PointTables}, and~\ref{sec:PartialTable}, but it's possible to print bonus grading tables and bonus point tables that list the bonus points and ignore the non-bonus points (see section~\ref{sec:BonusTables}). %-------------------------------------------------------------------- \subsection{Grading tables indexed by question number or by page number} \label{sec:GradeTables} The \verb"exam" document class can print a grading table, indexed either by question number or by page number. That is, you can print \begin{itemize} \item a table listing the question numbers (or question titles for questions created using the \verb"\titledquestion" command instead of the \verb"\question" command; see section~\ref{sec:Titled}) and the total points possible for each question (including all of its parts, subparts, and subsubparts) and leaving space for you to fill in (by hand) the points earned on each question, or \item a table listing each page that has at least one question, part, subpart, or subsubpart with points assigned to it, the total number of points possible on that page, and leaving space for you to fill in (by hand) the points earned on that page. \end{itemize} In order to use this feature you must either include the optional argument \verb"addpoints" in your \verb"\documentclass" command (as in \verb"\documentclass[addpoints]{exam}") or give the command \verb"\addpoints" (see section~\ref{sec:addpoints}), and there must be only one \verb"questions" environment in the entire exam. In addition, you must run \LaTeX{} twice after making any changes to the file in order to make sure that the point values are correct on a grading table indexed by question number and at least three times for a grading table indexed by page number. (Since the table appears on the third run of \LaTeX{}, and the space it occupies can change the page on which each question falls, it may take a fourth run of \LaTeX{} for the table to have the points per page correct.) The command to create a grading table is \begin{center} \verb"\gradetable" \end{center} and it takes two optional arguments: \begin{enumerate} \item The first optional argument can be either \verb"[v]" or \verb"[h]", to choose between a vertically oriented table and a horizontally oriented table, and \item the second optional argument can be either \verb"[questions]" or \verb"[pages]", to choose between a table indexed by question number and a table indexed by page number. \end{enumerate} That is, \begin{itemize} \item \verb"\gradetable[v][questions]" prints a vertically oriented table indexed by question number, \item \verb"\gradetable[h][questions]" prints a horizontally oriented table indexed by question number, \item \verb"\gradetable[v][pages]" prints a vertically oriented table indexed by page number, and \item \verb"\gradetable[h][pages]" prints a horizontally oriented table indexed by page number. \end{itemize} If you leave out the optional arguments (i.e., if you give the command as ``\verb"\gradetable"'') you'll get a vertically oriented table indexed by question number. For example, if the exam has 8 questions, each worth a total of 15 points, and you type \begin{verbatim} \begin{center} \gradetable[v][questions] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|c|c|c|} \hline Question& Points& Score\\ \hline 1& 15& \hbox to \cwidth{\hfill}\\ \hline 2& 15& \hbox to \cwidth{\hfill}\\ \hline 3& 15& \hbox to \cwidth{\hfill}\\ \hline 4& 15& \hbox to \cwidth{\hfill}\\ \hline 5& 15& \hbox to \cwidth{\hfill}\\ \hline 6& 15& \hbox to \cwidth{\hfill}\\ \hline 7& 15& \hbox to \cwidth{\hfill}\\ \hline 8& 15& \hbox to \cwidth{\hfill}\\ \hline Total:& 120&\\ \hline \end{tabular} \end{center} and if you type \begin{verbatim} \begin{center} \gradetable[h][questions] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|l|c|c|c|c|c|c|c|c|c|} \hline Question:& 1& 2& 3& 4& 5& 6& 7& 8& Total\\ \hline Points:& 15& 15& 15& 15& 15& 15& 15& 15& 120\\ \hline Score:& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \\ \hline \end{tabular} \end{center} The number of points listed for a question is the sum of the point values for that question and all of its parts, subparts, and subsubparts. If those 8 questions are distributed two to a page on each of pages 2 through 5 and if you type \begin{verbatim} \begin{center} \gradetable[v][pages] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|c|c|c|} \hline Page& Points& Score\\ \hline 2& 30& \hbox to \cwidth{\hfill}\\ \hline 3& 30& \hbox to \cwidth{\hfill}\\ \hline 4& 30& \hbox to \cwidth{\hfill}\\ \hline 5& 30& \hbox to \cwidth{\hfill}\\ \hline Total:& 120&\\ \hline \end{tabular} \end{center} and if you type \begin{verbatim} \begin{center} \gradetable[h][pages] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|l|c|c|c|c|c|} \hline Page:& 2& 3& 4& 5& Total\\ \hline Points:& 30& 30& 30& 30& 120\\ \hline Score:& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill}& \hbox to \cwidth{\hfill} \\ \hline \end{tabular} \end{center} \emph{Warning:} If you have a large number of questions on the exam, then these tables can easily become too large to fit on the page. If this becomes a problem, then you can use the \verb"\pointsofquestion" command (see section~\ref{sec:pointsofq}) or the \verb"\pointsonpage" command (see section~\ref{sec:pointsonp}) to create a custom \verb"tabular" environment that has more rows (or columns) than the tables produced by the \verb"gradingtable" command. %-------------------------------------------------------------------- \subsection{Point tables indexed by question number or by page number} \label{sec:PointTables} Point tables are similar to grading tables (see section~\ref{sec:GradeTables}), except that there is no place in the table to fill in the points earned. The command to create a point table is \begin{center} \verb"\pointtable" \end{center} and it takes two optional arguments: \begin{enumerate} \item The first optional argument can be either \verb"[v]" or \verb"[h]", to choose between a vertically oriented table and a horizontally oriented table, and \item the second optional argument can be either \verb"[questions]" or \verb"[pages]", to choose between a table indexed by question number and a table indexed by page number. \end{enumerate} That is, \begin{itemize} \item \verb"\pointtable[v][questions]" prints a vertically oriented table indexed by question number, \item \verb"\pointtable[h][questions]" prints a horizontally oriented table indexed by question number, \item \verb"\pointtable[v][pages]" prints a vertically oriented table indexed by page number, and \item \verb"\pointtable[h][pages]" prints a horizontally oriented table indexed by page number. \end{itemize} If you leave out the optional arguments (i.e., if you give the command as ``\verb"\pointtable"'') you'll get a vertically oriented table indexed by question number. For example, if the exam has 8 questions, each worth a total of 15 points, and you type \begin{verbatim} \begin{center} \pointtable[v][questions] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|c|c|} \hline Question& Points\\ \hline 1& 15\\ \hline 2& 15\\ \hline 3& 15\\ \hline 4& 15\\ \hline 5& 15\\ \hline 6& 15\\ \hline 7& 15\\ \hline 8& 15\\ \hline Total:& 120\\ \hline \end{tabular} \end{center} and if you type \begin{verbatim} \begin{center} \pointtable[h][questions] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|l|c|c|c|c|c|c|c|c|c|} \hline Question:& 1& 2& 3& 4& 5& 6& 7& 8& Total\\ \hline Points:& 15& 15& 15& 15& 15& 15& 15& 15& 120\\ \hline \end{tabular} \end{center} The number of points listed for a question is the sum of the point values for that question and all of its parts, subparts, and subsubparts. If those 8 questions are distributed two to a page on each of pages 2 through 5 and if you type \begin{verbatim} \begin{center} \pointtable[v][pages] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|c|c|} \hline Page& Points\\ \hline 2& 30\\ \hline 3& 30\\ \hline 4& 30\\ \hline 5& 30\\ \hline Total:& 120\\ \hline \end{tabular} \end{center} and if you type \begin{verbatim} \begin{center} \pointtable[h][pages] \end{center} \end{verbatim} then you'll get \begin{center} \cwidth=2em \renewcommand\arraystretch{1.5} \begin{tabular}{|l|c|c|c|c|c|} \hline Page:& 2& 3& 4& 5& Total\\ \hline Points:& 30& 30& 30& 30& 120\\ \hline \end{tabular} \end{center} \emph{Warning:} If you have a large number of questions on the exam, then these tables can easily become too large to fit on the page. If this becomes a problem, then you can use the \verb"\pointsofquestion" command (see section~\ref{sec:pointsofq}) or the \verb"\pointsonpage" command (see section~\ref{sec:pointsonp}) to create a custom \verb"tabular" environment that has more rows (or columns) than the tables produced by the \verb"pointtable" command. %-------------------------------------------------------------------- \subsection{Table entries as clickable links} \label{sec:Clickable} If you put the command \begin{center} \verb"\usepackage{hyperref}" \end{center} into the preamble of your document (i.e., after the \verb"\documentclass" command and before the \verb"\begin{document}" command) and then produce a pdf file (either using dvipdf or directly by using pdflatex), then \begin{itemize} \item in a grading table or point table indexed by question number the question numbers in the table will be clickable links that take you to the corresponding question, and \item in a grading table or point table indexed by page number the page numbers in the table will be clickable links that take you to the corresponding page. \end{itemize} If you create questions using the \verb"\titledquestion" command instead of the \verb"\question" command (see section~\ref{sec:Titled}), then a grading table or point table indexed by question number will show the \emph{titles} of those questions instead of the numbers of those questions, and those question titles will be clickable links that take you to the corresponding question. %-------------------------------------------------------------------- \subsection{Partial grading tables and partial point tables} \label{sec:PartialTable} The \verb"\partialgradetable" and \verb"\partialpointtable" commands make it possible to create grading tables and point tables that cover only part of the exam. These commands take one required argument, the name of a grading range defined using the \verb"\begingradingrange" and \verb"\endgradingrange" commands, plus the same two optional arguments used in the \verb"\gradetable" and \verb"\pointtable" commands. In more detail: You define a grading range by choosing a name with which to label the range, e.g., ``myrange'', and then put the command \begin{center} \verb"\begingradingrange{myrange}" \end{center} at the start of the range and the command \begin{center} \verb"\endgradingrange{myrange}" \end{center} at the end of the range. To create the table, you say, e.g., \begin{center} \verb"\partialgradetable{myrange}[v][questions]" \end{center} to create a vertically oriented table indexed by those questions that follow the command \begin{center} \verb"\begingradingrange{myrange}" \end{center} and precede the command \begin{center} \verb"\endgradingrange{myrange}" \end{center} If you say \begin{center} \verb"\partialgradetable{myrange}[v][pages]" \end{center} then you'll get a vertically oriented table indexed by all pages with points starting with the page containing the command \begin{center} \verb"\begingradingrange{myrange}" \end{center} and ending with the page containing the command \begin{center} \verb"\endgradingrange{myrange}" \end{center} The \verb"\partialpointtable" command is similar to the \verb"\partialgradetable" command. %-------------------------------------------------------------------- \subsection{\texttt{\char`\\pointsofquestion}} \label{sec:pointsofq} If you use the document class option \verb"addpoints" (as in \verb"\documentclass[addpoints]{exam}") or give the command \verb"\addpoints" (see section~\ref{sec:addpoints}), then you can use the \begin{center} \verb"\pointsofquestion" \end{center} command. This command takes one argument, which must be the number of a question on the exam, and it prints the total number of points for that question. That is: \begin{itemize} \item \verb"\pointsofquestion{1}" prints the sum of the point values for question 1 and all of its parts, subparts, and subsubparts. \item \verb"\pointsofquestion{2}" prints the sum of the point values for question 2 and all of its parts, subparts, and subsubparts. \item Etc. \end{itemize} The \verb"\pointsofquestion" command is used by the \verb"\gradetable" and \verb"\pointtable" commands (see section~\ref{sec:Tables}), and it can be used to create a table using \LaTeX's \verb"tabular" environment when the tables produced using the \verb"\gradetable" and \verb"\pointtable" commands either don't fit on t