--- Begin Message ---
Package: advi
Version: 1.2.0-4
Severity: minor
Consider the following file using exam.cls (shipped with tetex, but may not
be standard on all LaTeX distributions.
**********************************************************************
\documentclass[12pt]{exam}
\begin{document}
\begin{questions}
\question
\begin{parts}
\part
\begin{tabular}[h]{|l|c|}
\hline Class & Count\\\hline
$[4.85,5.05]$& \\\hline
\end{tabular}
\end{parts}
\end{questions}
\end{document}
**********************************************************************
The display of the table is wonky. It looks something like
____________________
| Class | Count |
|____________|_______|
| [4.85,5.05] | |
|_____________|______|
This might be a bug in the class, but xdvi displays it ok. Yes, it is a
minor issue, but I found it surprisingly irritating.
I'm including the exam.cls file below for completeness, though it is quite
large. I tried to attach it, but reportbug (2.3) keeps crashing on me
(sigh).
Faheem.
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux Chrestomanci 2.4.17 #1 Mon Jun 24 18:03:29 EDT 2002 i686
Locale: LANG=C, LC_CTYPE=C
Versions of packages advi depends on:
ii libc6 2.2.5-14.3 GNU C Library: Shared libraries an
ii libfreetype6 2.1.2-9 FreeType 2 font engine, shared lib
ii libjpeg62 6b-6 The Independent JPEG Group's JPEG
ii libpng3 1.2.1-1.1.woody.3 PNG library - runtime
ii libtiff3g 3.5.5-6 Tag Image File Format library
ii libungif4g 4.1.0b1-3 shared library for GIF images (run
ii tetex-bin 1.0.7+20011202-8 teTeX binary files
pi xlibs 4.1.0-16 X Window System client libraries
ii zlib1g 1:1.1.4-6 compression library - runtime
-- no debconf information
% exam.cls
%
% A LaTeX2e document class for preparing exams.
%%% Copyright (c) 2000 Philip S. Hirschhorn
%
% This program may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.2
% 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.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% This program 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
%%% [EMAIL PROTECTED]
%%% [EMAIL PROTECTED]
% The newest version of this documentclass should always be available
% from my web page: http://www-math.mit.edu/~psh/
\def\fileversion{2.01}
\def\filedate{2000/10/10}
%--------------------------------------------------------------------
%--------------------------------------------------------------------
%
% The only change from version 2.0 to version 2.01 is that this
% documentclass (and its accompanying documentation) is now
% explicitly distributed under the LaTeX Project Public License.
%
%---------------------------------------------------------------------
%---------------------------------------------------------------------
% PLEASE DO NOT MAKE ANY CHANGES TO THIS FILE!
%
% If you wish to make changes to this file, rename this file
% to something other than exam.cls BEFORE YOU MAKE THE CHANGES!
%
% If there's some feature that you'd like that this file doesn't
% provide, tell me about it.
%
%
%
%
%
% Thanks to:
%
% Piet van Oostrum, from whose excellent ``fancyheadings.sty'' we
% shamelessly stole most of the code for setting the headers and
% footers.
%
% Mate Wierdl <[EMAIL PROTECTED]>, who contributed the
% code so that if the number of points is ``1'', then the default
% value of \pointname will print ``1 point'' instead of ``1 points''.
%
% Tom Brikowski <[EMAIL PROTECTED]>, who contributed the code for
% making the number of points and number of questions available as
% macros (as well as the idea of putting the number of points in a
% box, instead of in parentheses). (I changed his code to make this
% all optional, so if there are errors there, it's my fault and not
% his.)
%
%--------------------------------------------------------------------
%--------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{exam}[\filedate\space Version \fileversion\space by
Philip Hirschhorn]
\RequirePackage{ifthen}
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}%
}
\ProcessOptions
\LoadClass{article}
% *****************
% ** PAGE LAYOUT **
% *****************
\setlength{\textwidth}{6.5in}
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\headheight}{15pt}
\setlength{\headsep}{15pt}
\setlength{\topmargin}{0in}
\addtolength{\topmargin}{-\headheight}
\addtolength{\topmargin}{-\headsep}
\setlength{\textheight}{8.8in}
\setlength{\footskip}{29pt}
\setlength{\marginparwidth}{.5in}
\setlength{\marginparsep}{5pt}
%--------------------------------------------------------------------
% ****************
% ** EXTRAWIDTH **
% ****************
[EMAIL PROTECTED]
% We put the argument of \extrawidth into a length so that it will
% work correctly even if it's negative:
\def\extrawidth#1{%
[EMAIL PROTECTED]
\advance \textwidth by [EMAIL PROTECTED]
[EMAIL PROTECTED] by 2
\advance\oddsidemargin by [EMAIL PROTECTED]
\advance\evensidemargin by [EMAIL PROTECTED]
}
%--------------------------------------------------------------------
%--------------------------------------------------------------------
% Making room for large headers and footers
% The following are used to save the effect of any changes to
% \topmargin and \textheight caused by \extraheadheight or
% \extrafootheight commands. They hold the value given in the most
% recent command. We put them into a length so that it will work
% correctly even if the argument is negative:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\def\extraheadheight{%
[EMAIL PROTECTED]@doextraheads}%
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@setheadheight{#2}\fi}%
}
\def\extrafootheight{%
[EMAIL PROTECTED]@doextrafeet}%
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@setfootheight{#2}\fi}%
}
[EMAIL PROTECTED]
\output=\expandafter{\the\output #1}%
}
%--------------------------------------------------------------------
% \setheadheight and \setfootheight:
[EMAIL PROTECTED]
\begingroup % Avoid trouble from using [EMAIL PROTECTED] and [EMAIL PROTECTED]
% Reset the effect of the most recent change:
\global\advance\topmargin by [EMAIL PROTECTED]
\global\advance\textheight by [EMAIL PROTECTED]
% Save the newly set value:
[EMAIL PROTECTED]
[EMAIL PROTECTED] }
[EMAIL PROTECTED]@empty
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]@spaces
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]
\fi
\fi
% Set the new values:
\global\advance\topmargin by [EMAIL PROTECTED]
\global\advance\textheight by [EMAIL PROTECTED]
% Make it take effect RIGHT NOW!:
% (The following stuff isn't necessary if [EMAIL PROTECTED] is
% executed only in the preamble or as we return from the output
% routine, but we're leaving it in so that this will still work if
% we use this at some random point in the middle of composing a
% page).
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\global\vsize=\textheight
\global\pagegoal=\textheight
\endgroup
}
[EMAIL PROTECTED]
\begingroup % Avoid trouble from using [EMAIL PROTECTED] and [EMAIL PROTECTED]
% Reset the effect of the most recent change:
\global\advance\textheight by [EMAIL PROTECTED]
% Save the newly set value:
[EMAIL PROTECTED]
[EMAIL PROTECTED] }
[EMAIL PROTECTED]@empty
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]@spaces
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]
\fi
\fi
% Set the new values:
\global\advance\textheight by [EMAIL PROTECTED]
% Make it take effect RIGHT NOW!:
% (The following stuff isn't necessary if [EMAIL PROTECTED] is
% executed only in the preamble or as we return from the output
% routine, but we're leaving it in so that this will still work if
% we use this at some random point in the middle of composing a
% page).
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\global\vsize=\textheight
\global\pagegoal=\textheight
\endgroup
}
%---------------------------------------------------------------------
%
% *************************
% ** HEADERS AND FOOTERS **
% *************************
%
% The pagestyles available are head, foot, headandfoot, and empty.
% \pagestyle{head} prints the head, and gives an empty foot.
% \pagestyle{foot} prints the foot, and gives an empty head.
% \pagestyle{headandfoot} prints both the head and the foot.
% \pagestyle{empty} gives an empty head and an empty foot.
%
% Pagestyles:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\ifnum\value{page}=1
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]
\fi
}% @oddhead
[EMAIL PROTECTED]@oddhead
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\ifnum\value{page}=1
[EMAIL PROTECTED]
\else
[EMAIL PROTECTED]
\fi
}% @oddfoot
[EMAIL PROTECTED]@oddfoot
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@oddhead
}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@oddfoot
}
%--------------------------------------------------------------------
% [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], and [EMAIL
PROTECTED]:
[EMAIL PROTECTED]
\vbox to \headheight{%
\vss
\hbox to \textwidth{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}% hbox
[EMAIL PROTECTED]
\hrule
\else
% an invisible hrule, to keep positioning constant:
\hrule width 0pt
\fi
}% vbox
}
[EMAIL PROTECTED]
\vbox to \headheight{%
\vss
\hbox to \textwidth{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}% hbox
[EMAIL PROTECTED]
\hrule
\else
% an invisible hrule, to keep positioning constant:
\hrule width 0pt
\fi
}% vbox
}
% We arrange it so that the very top of first line of text in the
% foot is at a fixed position on the page, whether or not there's
% a footrule:
[EMAIL PROTECTED]
\vbox to 0pt{%
[EMAIL PROTECTED]
\hrule
\else
% an invisible hrule, to keep positioning constant:
\hrule width 0pt
\fi
\vskip 3pt
\hbox to \textwidth{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}% hbox
\vss
}% vbox
}
[EMAIL PROTECTED]
\vbox to 0pt{%
[EMAIL PROTECTED]
\hrule
\else
% an invisible hrule, to keep positioning constant:
\hrule width 0pt
\fi
\vskip 3pt
\hbox to \textwidth{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}% hbox
\vss
}% vbox
}
%--------------------------------------------------------------------
%--------------------------------------------------------------------
%
% ********************************************
% ** COMMANDS TO DEFINE HEADERS AND FOOTERS **
% ********************************************
%
% \lhead[#1]{#2} sets the first page left head to #1, and the
% running left head to #2
%
% \lhead{#1} sets both the first page left head and the running
% left head to #1
%
% \chead, \rhead, \lfoot, \cfoot, and \rfoot work similarly.
%
%
% [EMAIL PROTECTED] is the left head for Page 1
% [EMAIL PROTECTED] is the running left head
% (i.e., for all pages other than the first)
%
% [EMAIL PROTECTED] is the center head for Page 1
% [EMAIL PROTECTED] is the running center head
% (i.e., for all pages other than the first)
%
% etc.
%
% Alternative commands are:
% \firstpageheader{LEFT}{CENTER}{RIGHT}
% \runningheader{LEFT}{CENTER}{RIGHT}
% or
% \header{LEFT}{CENTER}{RIGHT}
% which is equivalent to the two commands
% \firstpageheader{LEFT}{CENTER}{RIGHT}
% \runningheader{LEFT}{CENTER}{RIGHT}
%
% Alternative commands are:
% \firstpagefooter{LEFT}{CENTER}{RIGHT}
% \runningfoother{LEFT}{CENTER}{RIGHT}
% or
% \footer{LEFT}{CENTER}{RIGHT}
% which is equivalent to the two commands
% \firstpagefooter{LEFT}{CENTER}{RIGHT}
% \runningfoother{LEFT}{CENTER}{RIGHT}
\def\firstpageheader#1#2#3{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
\def\runningheader#1#2#3{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
\def\header#1#2#3{%
\firstpageheader{#1}{#2}{#3}%
\runningheader{#1}{#2}{#3}%
}
\def\firstpagefooter#1#2#3{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
\def\runningfooter#1#2#3{%
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
\def\footer#1#2#3{%
\firstpagefooter{#1}{#2}{#3}%
\runningfooter{#1}{#2}{#3}%
}
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
% Initialize head and foot:
\pagestyle{headandfoot}
\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot[]{Page \thepage}
\rfoot{}
%--------------------------------------------------------------------
%--------------------------------------------------------------------
% Headrules and footrules:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@headruletrue}
[EMAIL PROTECTED]@headrulefalse}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@footruletrue}
[EMAIL PROTECTED]@footrulefalse}
% Initialize:
\noheadrule
\nofootrule
%--------------------------------------------------------------------
%--------------------------------------------------------------------
% \numpages, \iflastpage, and \oddeven
% Also: \numpoints, \numquestions, \numparts, and \numsubparts
% Make the number of pages available as the macro \numpages,
% the number of points as \numpoints,
% the number of questions as \numquestions,
% the number of parts as \numparts, and
% the number of subparts as \numsubparts
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
%%%\def\enddocument{\clearpage
%%% [EMAIL PROTECTED]
%%% [EMAIL PROTECTED] [EMAIL PROTECTED]
%%% [EMAIL PROTECTED]
%%% }
%%% \fi
%%% [EMAIL PROTECTED]
%%%}
\AtEndDocument{\clearpage
[EMAIL PROTECTED]
[EMAIL PROTECTED] [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED] % In case some other package looks at [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
}
\fi
% Echo numbers of questions, parts, and subparts:
\typeout{This exam contains \thenumquestions\space questions
with \thenumparts\space parts and
\thenumsubparts\space subparts.}
% If counting points, echo total points:
[EMAIL PROTECTED]
\typeout{This exam has a total of \thenumpoints\space points.}
\fi
}
% We define \iflastpage so that it can safely be used
% in headers and footers:
\def\iflastpage#1#2{%
[EMAIL PROTECTED]@@lastpage}{\def\@@lastpage{-1}}%
{\edef\@@[EMAIL PROTECTED]@@[EMAIL PROTECTED]
\ifnum\value{page}=\@@lastpage
#1%
\else
#2%
\fi
}
% The macro \oddeven takes two arguments. If the page number is odd,
% then you get the first argument; otherwise, you get the second
% argument.
\def\oddeven#1#2{%
\ifodd\value{page}%
#1
\else
#2
\fi
}
%---------------------------------------------------------------------
%
% ***************************
% ** QUESTION ENVIRONMENTS **
% ***************************
%
%
%
% We define the command \part only inside of a parts environment,
% so that we don't interfere with the meaning of the standard
% article documentclass command \part if that is used inside of a
% questions environment. The commands \question and \subpart are
% defined everywhere inside of a questions environment. (If the
% user accidentally gives a \subpart command outside of a subparts
% environment, then a warning will be printed, and the \subpart
% command will be treated as either a \question command or a
% \part command (depending on the current environment).
% We use the counter name `partno' for the parts environment so that
% we will not interfere with the counter `part' used by the article
% document class.
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\newcounter{question}
\newcounter{partno}
\newcounter{subpart}
\newcounter{numpoints}
\newcounter{numquestions}
\newcounter{numparts}
\newcounter{numsubparts}
\newenvironment{questions}%
[EMAIL PROTECTED]
\def\question{%
[EMAIL PROTECTED]
\addtocounter{numquestions}{1}%
[EMAIL PROTECTED]
}%
\def\subpart{%
[EMAIL PROTECTED]
\addtocounter{numsubparts}{1}%
[EMAIL PROTECTED]
}%
\list{\thequestion.}%
{\usecounter{question}\def\makelabel##1{\hss\llap{##1}}%
\def\thequestion{\arabic{question}}%
\settowidth{\leftmargin}{10.\hskip\labelsep}
\labelwidth\leftmargin\advance\labelwidth-\labelsep
\partopsep=0pt
}%
}%
{\endlist}
\newenvironment{parts}%
[EMAIL PROTECTED]
\def\part{%
[EMAIL PROTECTED]
\addtocounter{numparts}{1}%
[EMAIL PROTECTED]
}%
\list{(\thepartno)}%
{\usecounter{partno}\def\makelabel##1{\hss\llap{##1}}%
\def\thepartno{\alph{partno}}%
\settowidth{\leftmargin}{(m)\hskip\labelsep}
\labelwidth\leftmargin\advance\labelwidth-\labelsep
\topsep=0pt
\partopsep=0pt
}%
}%
{\endlist}
\newenvironment{subparts}%
[EMAIL PROTECTED]
\list{\thesubpart.}%
{\usecounter{subpart}\def\makelabel##1{\hss\llap{##1}}%
\def\thesubpart{\roman{subpart}}%
\settowidth{\leftmargin}{vii.\hskip\labelsep}
\labelwidth\leftmargin\advance\labelwidth-\labelsep
\topsep=0pt
\partopsep=0pt
}%
}%
{\endlist}
[EMAIL PROTECTED]
\begingroup
[EMAIL PROTECTED]
[EMAIL PROTECTED]@queslevel
% Everything's fine; do nothing.
\else
[EMAIL PROTECTED] found a #1 where I expected to find a [EMAIL PROTECTED]
\fi
\endgroup
}
[EMAIL PROTECTED]@[EMAIL PROTECTED]@setpoints}}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\fi
\item
[EMAIL PROTECTED]
}
[EMAIL PROTECTED]
% The \item command sets \everypar so that the first time we enter
% horizontal mode (which will cause \everypar to be added to the
% paragraph), the label (or labels, if, e.g., a \question begins
% with a parts environment) will be placed on the page, a couple
% of other bookkeeping chores are done, and then \everypar is
% set to the empty token string (so that none of this will be
% repeated for the following paragraphs).
%
% We check to see if there are points to be placed for this item.
% if so, we append either
% \llap{([EMAIL PROTECTED])[EMAIL PROTECTED]
% [EMAIL PROTECTED]
% or
% ([EMAIL PROTECTED]@pointname)[EMAIL PROTECTED]
% to \everypar, so that the number of points will be set whenever
% we first enter horizontal mode, and the flag to set points will
% be turned off. (Actually, that's what we do if [EMAIL PROTECTED] is
% false; if it's true, we do the analgoous thing with commands that
% use \fbox instead of parentheses.) (Resetting the flag is put
% into \everypar so that if another \item is encounteres before we
% actually enter horizontal mode, we'll put this back into the new
% version of \everypar that will be created by that \item.)
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
\everypar=\expandafter{\the\everypar
[EMAIL PROTECTED]@[EMAIL PROTECTED]
\hskip\marginpointssep}%
[EMAIL PROTECTED]
\else
\everypar=\expandafter{\the\everypar
\llap{([EMAIL PROTECTED]@marginpointname)[EMAIL PROTECTED]
\hskip\marginpointssep}%
[EMAIL PROTECTED]
\fi
\else
[EMAIL PROTECTED]
\everypar=\expandafter{\the\everypar
[EMAIL PROTECTED]@[EMAIL PROTECTED]
\else
\everypar=\expandafter{\the\everypar
([EMAIL PROTECTED]@pointname)[EMAIL PROTECTED]
\fi
\fi
\fi
}% @setpoints
[EMAIL PROTECTED]
[EMAIL PROTECTED]
% If the user says \pointsinmargin, then the distance from
% the right parentheses enclosing the points to the left margin
% will be \marginpointssep:
\newskip\marginpointssep
\setlength{\marginpointssep}{5pt}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
% Initialize to leave a space, and then the word `points':
%%\pointname{ points}
% The following improvement was contributed by
% Mate Wierdl <[EMAIL PROTECTED]>
% If the number of points is ``1'', then the default value of
% \pointname will print `` point'' instead of `` points'' (and this
% version of the command doesn't generate an error message if the
% points entry is something other than a number):
\pointname{ [EMAIL PROTECTED]
% If we used the following line instead, then you'd get an error
% message if the point value contained something other than a valid
% integer:
%\pointname{ [EMAIL PROTECTED] = 1}{point}{points}}
% [EMAIL PROTECTED] is used in place of [EMAIL PROTECTED] if
% [EMAIL PROTECTED] is true:
[EMAIL PROTECTED]
\marginpointname{}
% The following keeps track of whether the user has requested that we
% add up the points on the exam. We make the default false so that
% users who put other than numbers into the points argument of a
% question (or part, or subpart) won't get error messages.
% We use [EMAIL PROTECTED] as a flag to signal that we are counting
% points, so that we will know to print the total on the screen (and
% in the log file). We use this separate flag so that the user can
% use both \addpoints and \noaddpoints to count some points and not
% others, but still have the total printed when we finish the file no
% matter what the state of [EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]@printtotalpointstrue}
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
%--------------------------------------------------------------------
%--------------------------------------------------------------------
% \uplevel and \fullwidth:
% \uplevel is used to print text at the indentation level of the
% enclosing environment. For example, to precede a question with
% directions about how that question should be answered, you would
% say \uplevel{Answer this question correctly.}
%
% \fullwidth is similar, but uses the full page of text on the page.
\long\def\uplevel#1{%
\par\bigskip
\vbox{%
{} [EMAIL PROTECTED]
\advance\leftskip-\leftmargin
#1\par
}% vbox
\nobreak
}
\long\def\fullwidth#1{%
\par\bigskip
\vbox{%
\leftskip=0pt \rightskip=0pt
#1\par
}% vbox
\nobreak
}
%---------------------------------------------------------------------
\endinput
%---------------------------------------------------------------------
%---------------------------------------------------------------------
%---------------------------------------------------------------------
%---------------------------------------------------------------------
--- End Message ---