texlive[46084] Master/texmf-dist: exam (17dec17)

commits+karl at tug.org commits+karl at tug.org
Mon Dec 18 00:12:18 CET 2017


Revision: 46084
          http://tug.org/svn/texlive?view=revision&revision=46084
Author:   karl
Date:     2017-12-18 00:12:18 +0100 (Mon, 18 Dec 2017)
Log Message:
-----------
exam (17dec17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/exam/README
    trunk/Master/texmf-dist/doc/latex/exam/exam.md5
    trunk/Master/texmf-dist/doc/latex/exam/examdoc.pdf
    trunk/Master/texmf-dist/tex/latex/exam/exam.cls

Modified: trunk/Master/texmf-dist/doc/latex/exam/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/exam/README	2017-12-17 22:57:56 UTC (rev 46083)
+++ trunk/Master/texmf-dist/doc/latex/exam/README	2017-12-17 23:12:18 UTC (rev 46084)
@@ -1,4 +1,4 @@
-This is version 2.6 of the exam document class, dated October 26,
+This is version 2.603 of the exam document class, dated December 17,
 2017.
 
 The exam document class, together with its user's guide examdoc.tex,

Modified: trunk/Master/texmf-dist/doc/latex/exam/exam.md5
===================================================================
--- trunk/Master/texmf-dist/doc/latex/exam/exam.md5	2017-12-17 22:57:56 UTC (rev 46083)
+++ trunk/Master/texmf-dist/doc/latex/exam/exam.md5	2017-12-17 23:12:18 UTC (rev 46084)
@@ -1,3 +1,3 @@
-01d4eea329c471b4295296dff587c23a  exam.cls
-831e1841882d3e05abdae653595862d6  examdoc.pdf
+08a9755a8f51d31edf6b4124c9b710f9  exam.cls
+a9273b3443c367000e4a71b572c58a62  examdoc.pdf
 a9a481f4f36ec3dbf90ffe63f57ce803  examdoc.tex

Modified: trunk/Master/texmf-dist/doc/latex/exam/examdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/exam/exam.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/exam/exam.cls	2017-12-17 22:57:56 UTC (rev 46083)
+++ trunk/Master/texmf-dist/tex/latex/exam/exam.cls	2017-12-17 23:12:18 UTC (rev 46084)
@@ -32,8 +32,8 @@
 % from my web page: http://www-math.mit.edu/~psh/
 
 
-\def\fileversion{2.6}
-\def\filedate{2017/10/26}
+\def\fileversion{2.603}
+\def\filedate{2017/12/17}
 %---------------------------------------------------------------------
 %---------------------------------------------------------------------
 % 
@@ -86,6 +86,26 @@
 %                    Changelog since version 2.4:
 
 %--------------------------------------------------------------------
+% Version 2.603, 2017/12/15
+
+% No longer betatest.
+
+%--------------------------------------------------------------------
+% Version 2.602$\beta$, 2017/12/15
+
+% We changed the code for multicolumn grade and point tables to remove
+% the incompatibility with colortbl.sty and other packages that load
+% colortbl.sty (e.g., xcolor.sty with the "table" option).
+
+%--------------------------------------------------------------------
+% Version 2.601$\beta$, 2017/09/22
+
+% We changed command and environment names in the code from framed.sty
+% that's included (slightly modified) in exam.cls so that the user can
+% say \usepackage{framed} without creating conflicts.  This also allows
+% the user to use packages, such as minted.sty, that load framed.sty
+
+%--------------------------------------------------------------------
 % Version 2.6, 2017/09/19
 
 % No longer betatest.
@@ -6643,9 +6663,7 @@
 
 
 %--------------------------------------------------------------------
-% Here's an example of a multicolumn grade table indexed by questions,
-% to show how we're getting the \cline's to link up correctly with the
-% \vline's.
+% Here's an example of a multicolumn grade table indexed by questions.
 
 % Every line of \cline's is followed by a
 % \noalign{\vskip\arrayrulewidth} to cancel the
@@ -6652,74 +6670,47 @@
 % \noalign{\vskip-\arrayrulewidth} that ends the definition of
 % \cline.
 
-% \begin{tabular}{*2{@{}c|c|c@{}c}}
+% \begin{tabular}{*2{|c|c|c|c}}
 %   \cline{1-3} \cline{5-7}
 %   \noalign{\vskip\arrayrulewidth}
-%   \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-%     Question%
-%     \hspace*{\fill}%
+%   Question%
 %   & Points%
-%   & \hspace*{\fill}%
-%     Score%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline
+%   & Score%
 %   & \hspace*{-\arrayrulewidth}\hspace*{\doublerulesep}%
-%   & \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-%     Question%
-%     \hspace*{\fill}%
+%   & Question%
 %   & Points%
-%   & \hspace*{\fill}%
-%     Score%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline\\
+%   & Score%
+%   \\
 %   \cline{1-3} \cline{5-7}
 %   \noalign{\vskip\arrayrulewidth}
-%   \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-%     1\hspace*{\fill}%
+%   1%
 %   & 5%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline
+%   & \hbox to \@cellwidth{\hfill}%
 %   & \hspace*{-\arrayrulewidth}\hspace*{\doublerulesep}%
-%   & \vline\hspace*{\tabcolsep}\hspace*{\fill}%
-%     4%
-%     \hspace*{\fill}%
+%   & 4%
 %   & 20%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline\\
+%   & \hbox to \@cellwidth{\hfill}%
+%   \\
 %   \cline{1-3} \cline{5-7}
 %   \noalign{\vskip\arrayrulewidth}
-%   \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-%     2%
-%     \hspace*{\fill}%
+%   2%
 %   & 10%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline
+%   & \hbox to \@cellwidth{\hfill}%
 %   & \hspace*{-\arrayrulewidth}\hspace*{\doublerulesep}%
-%   & \vline\hspace*{\tabcolsep}\hspace*{\fill}%
-%     5%
-%     \hspace*{\fill}%
+%   & 5%
 %   & 25%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline\\
+%   & \hbox to \@cellwidth{\hfill}%
+%   \\
 %   \cline{1-3} \cline{5-7}
 %   \noalign{\vskip\arrayrulewidth}
-%   \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-%     3%
-%     \hspace*{\fill}%
+%   3%
 %   & 15%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%     \hspace*{\tabcolsep}\hspace*{\fill}\vline
+%   & \hbox to \@cellwidth{\hfill}%
 %   & \hspace*{-\arrayrulewidth}\hspace*{\doublerulesep}%
-%   & \vline\hspace*{\tabcolsep}\hspace*{\fill}%
-%     Total:%
-%     \hspace*{\fill}%
+%   & Total:%
 %   & 75%
-%   & \hspace*{\fill}%
-%   \hbox to \@cellwidth{\hfill}%
-%   \hspace*{\tabcolsep}\hspace*{\fill}\vline\\
+%   & \hbox to \@cellwidth{\hfill}%
+%   \\
 %   \cline{1-3} \cline{5-7}
 %   \noalign{\vskip\arrayrulewidth}
 % \end{tabular}
@@ -6800,7 +6791,7 @@
       % combinedgradetable, possibly partial.
       % Note: We'll never use the final "c" in the format of the
       % tabular, but there's no harm in that. 
-      \begin{tabular}{*{\value{num at cols}}{@{}c|c|c|c@{}c}}
+      \begin{tabular}{*{\value{num at cols}}{|c|c|c|c|c}}
       % We need to make sure that the \cline at stuff@v commands come
       % *immediately* following the \\ or \begin{tabular} (with no
       % conditionals evaluated, even if those conditionals expand to
@@ -6816,7 +6807,7 @@
       % combinedpointtable, possibly partial.
       % Note: We'll never use the final "c" in the format of the
       % tabular, but there's no harm in that. 
-      \begin{tabular}{*{\value{num at cols}}{@{}c|c|c@{}c}}
+      \begin{tabular}{*{\value{num at cols}}{|c|c|c|c}}
       % We need to make sure that the \cline at stuff@v commands come
       % *immediately* following the \\ or \begin{tabular} (with no
       % conditionals evaluated, even if those conditionals expand to
@@ -6845,7 +6836,7 @@
     \if at scores
       % Note: We'll never use the final "c" in the format of the
       % tabular, but there's no harm in that. 
-      \begin{tabular}{*{\value{num at cols}}{@{}c|c|c@{}c}}
+      \begin{tabular}{*{\value{num at cols}}{|c|c|c|c}}
       % We need to make sure that the \cline at stuff@v commands come
       % *immediately* following the \\ or \begin{tabular} (with no
       % conditionals evaluated, even if those conditionals expand to
@@ -6860,7 +6851,7 @@
     \else
       % Note: We'll never use the final "c" in the format of the
       % tabular, but there's no harm in that. 
-      \begin{tabular}{*{\value{num at cols}}{@{}c|c@{}c}}
+      \begin{tabular}{*{\value{num at cols}}{|c|c|c}}
       % We need to make sure that the \cline at stuff@v commands come
       % *immediately* following the \\ or \begin{tabular} (with no
       % conditionals evaluated, even if those conditionals expand to
@@ -7003,7 +6994,6 @@
   % Called by \@multicolumntable.
   % multicolumngradetable or multicolumnbonusgradetable, possibly
   % partial.
-  \vline \hspace*{\tabcolsep}\hspace*{\fill}%
     \iftbl at pgs
       \if at bonus
         \@bvpgword
@@ -7017,19 +7007,16 @@
         \@vqword
       \fi
     \fi
-    \hspace*{\fill}%
   & \if at bonus
       \@bvpword
     \else
       \@vpword
     \fi
-  & \hspace*{\fill}%
-    \if at bonus
+  & \if at bonus
       \@bvsword
     \else
       \@vsword
     \fi
-    \hspace*{\tabcolsep}\hspace*{\fill}\vline
   \addtocounter{@iterator}{1}%
   \ifnum \value{@iterator} < \value{num at cols}\relax
     \hidden at ampersand
@@ -7046,7 +7033,6 @@
   % Called by \@multicolumntable.
   % multicolumnpointtable or multicolumnbonuspointtable, possibly
   % partial.
-  \vline \hspace*{\tabcolsep}\hspace*{\fill}%
     \iftbl at pgs
       \if at bonus
         \@bvpgword
@@ -7060,14 +7046,12 @@
         \@vqword
       \fi
     \fi
-    \hspace*{\fill}%
-  & \hspace*{\fill}%
+    &
     \if at bonus
       \@bvpword
     \else
       \@vpword
     \fi
-    \hspace*{\tabcolsep}\hspace*{\fill}\vline
   \addtocounter{@iterator}{1}%
   \ifnum \value{@iterator} < \value{num at cols}\relax
     \hidden at ampersand
@@ -7083,18 +7067,14 @@
 \def\docolumn at heads@comb at v{%
   % Called by \@multicolumntable.
   % multicolumncombinedgradetable, possibly partial.
-  \vline \hspace*{\tabcolsep}\hspace*{\fill}%
     \iftbl at pgs
       \@cvpgword
     \else
       \@cvqword
     \fi
-    \hspace*{\fill}%
   & \@cvpword
   & \@cvbpword
-  & \hspace*{\fill}%
-    \@cvsword
-    \hspace*{\tabcolsep}\hspace*{\fill}\vline
+  &  \@cvsword
   \addtocounter{@iterator}{1}%
   \ifnum \value{@iterator} < \value{num at cols}\relax
     \hidden at ampersand
@@ -7110,17 +7090,13 @@
 \def\docolumn at heads@comb at noscores@v{%
   % Called by \@multicolumntable.
   % multicolumncombinedpointtable, possibly partial.
-  \vline \hspace*{\tabcolsep}\hspace*{\fill}%
     \iftbl at pgs
       \@cvpgword
     \else
       \@cvqword
     \fi
-    \hspace*{\fill}%
   & \@vpword
-  & \hspace*{\fill}%
-    \@bvpword
-    \hspace*{\tabcolsep}\hspace*{\fill}\vline
+  & \@bvpword
   \addtocounter{@iterator}{1}%
   \ifnum \value{@iterator} < \value{num at cols}\relax
     \hidden at ampersand
@@ -7185,13 +7161,11 @@
       \ifnum \value{current at row} = \value{num at rows}\relax
         % We're in the last column, last row!
         % Print the total:
-        \vline \hspace*{\tabcolsep}\hspace*{\fill}%
           \if at bonus
             \@bvtword
           \else
             \@vtword
           \fi
-          \hspace*{\fill}%
           \hidden at ampersand
         \if at scores
             \if at bonus
@@ -7200,9 +7174,7 @@
               \prt at tablepoints
             \fi
           \hidden at ampersand
-            \hspace*{\fill}%
             \hbox to \@cellwidth{\hfill}%
-            \hspace*{\tabcolsep}\hspace*{\fill}\vline
         \else
             \hspace*{\fill}%
             \if at bonus
@@ -7210,41 +7182,30 @@
             \else
               \prt at tablepoints
             \fi
-            \hspace*{\tabcolsep}\hspace*{\fill}\vline
         \fi
       \else
         % Not last column last row; insert empty space:
-        \vline \hspace*{\tabcolsep}\hspace*{\fill}%
           \hbox to \@cellwidth{\hfill}%
-          \hspace*{\fill}%
         \if at scores
           \hidden at ampersand
             \hbox to \@cellwidth{\hfill}%
         \fi
         \hidden at ampersand
-          \hspace*{\fill}%
           \hbox to \@cellwidth{\hfill}%
-          \hspace*{\tabcolsep}\hspace*{\fill}\vline
       \fi
     \else
       % Not last column; insert empty space:
-      \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-        \hbox to \@cellwidth{\hfill}%
-        \hspace*{\fill}%
+      \hbox to \@cellwidth{\hfill}%
       \if at scores
         \hidden at ampersand
           \hbox to \@cellwidth{\hfill}%
       \fi
       \hidden at ampersand
-        \hspace*{\fill}%
         \hbox to \@cellwidth{\hfill}%
-        \hspace*{\tabcolsep}\hspace*{\fill}\vline
     \fi
   \else
     % We need to do question (or page) number pq at index:
-    \vline \hspace*{\tabcolsep}\hspace*{\fill}%
       \refto at index{pq at index}%
-      \hspace*{\fill}%
     \hidden at ampersand
       \if at scores
         \if at bonus
@@ -7255,19 +7216,15 @@
           \addto at hlfcntr{tbl at points}{\pointsof at index{pq at index}}%
         \fi
       \hidden at ampersand
-        \hspace*{\fill}%
         \hbox to \@cellwidth{\hfill}%
-        \hspace*{\tabcolsep}\hspace*{\fill}\vline
     \else
-        \hspace*{\fill}%
-        \if at bonus
-          \bonuspointsof at index{pq at index}%
-          \addto at hlfcntr{tbl at bonuspoints}{\bonuspointsof at index{pq at index}}%
-        \else
-          \pointsof at index{pq at index}%
-          \addto at hlfcntr{tbl at points}{\pointsof at index{pq at index}}%
-        \fi
-        \hspace*{\tabcolsep}\hspace*{\fill}\vline
+      \if at bonus
+        \bonuspointsof at index{pq at index}%
+        \addto at hlfcntr{tbl at bonuspoints}{\bonuspointsof at index{pq at index}}%
+      \else
+        \pointsof at index{pq at index}%
+        \addto at hlfcntr{tbl at points}{\pointsof at index{pq at index}}%
+      \fi
     \fi
   \fi
   \addtocounter{cols at done}{1}% Number of columns done
@@ -7297,9 +7254,7 @@
       \ifnum \value{current at row} = \value{num at rows}\relax
         % We're in the last column, last row!
         % Print the total:
-        \vline \hspace*{\tabcolsep}\hspace*{\fill}%
-          \@cvtword
-          \hspace*{\fill}%
+        \@cvtword
         \hidden at ampersand
           \prt at tablepoints
         \hidden at ampersand
@@ -7306,19 +7261,13 @@
         \if at scores
             \prt at tablebonuspoints
           \hidden at ampersand
-            \hspace*{\fill}%
             \hbox to \@cellwidth{\hfill}%
-            \hspace*{\tabcolsep}\hspace*{\fill}\vline
         \else
-          \hspace*{\fill}%
           \prt at tablebonuspoints
-          \hspace*{\tabcolsep}\hspace*{\fill}\vline
         \fi
       \else
         % Last column, but not last row; insert empty space:
-        \vline \hspace*{\tabcolsep}\hspace*{\fill}%
           \hbox to \@cellwidth{\hfill}%
-          \hspace*{\fill}%
         \hidden at ampersand
           \hbox to \@cellwidth{\hfill}%
         \if at scores
@@ -7326,15 +7275,11 @@
             \hbox to \@cellwidth{\hfill}%
         \fi
         \hidden at ampersand
-          \hspace*{\fill}%
           \hbox to \@cellwidth{\hfill}%
-          \hspace*{\tabcolsep}\hspace*{\fill}\vline
       \fi
     \else
       % Not last column; insert empty space:
-      \vline \hspace*{\tabcolsep}\hspace*{\fill}%
         \hbox to \@cellwidth{\hfill}%
-        \hspace*{\fill}%
       \hidden at ampersand
         \hbox to \@cellwidth{\hfill}%
       \if at scores
@@ -7342,15 +7287,11 @@
           \hbox to \@cellwidth{\hfill}%
       \fi
       \hidden at ampersand
-        \hspace*{\fill}%
         \hbox to \@cellwidth{\hfill}%
-        \hspace*{\tabcolsep}\hspace*{\fill}\vline
     \fi
   \else
     % We need to do question number pq at index:
-    \vline \hspace*{\tabcolsep}\hspace*{\fill}%
       \refto at index{pq at index}%
-      \hspace*{\fill}%
     \hidden at ampersand
       \pointsof at index{pq at index}%
       \addto at hlfcntr{tbl at points}{\pointsof at index{pq at index}}%
@@ -7359,14 +7300,10 @@
         \bonuspointsof at index{pq at index}%
         \addto at hlfcntr{tbl at bonuspoints}{\bonuspointsof at index{pq at index}}%
       \hidden at ampersand
-        \hspace*{\fill}%
         \hbox to \@cellwidth{\hfill}%
-        \hspace*{\tabcolsep}\hspace*{\fill}\vline
     \else
-      \hspace*{\fill}%
       \bonuspointsof at index{pq at index}%
       \addto at hlfcntr{tbl at bonuspoints}{\bonuspointsof at index{pq at index}}%
-      \hspace*{\tabcolsep}\hspace*{\fill}\vline
     \fi
   \fi
   \addtocounter{cols at done}{1}% Number of columns done
@@ -7823,22 +7760,22 @@
     % If the user said \unframedsolutions, then both
     % \if at framedsolutions and \if at shadedsolutions are false:
     \if at framedsolutions
-      % We'll use the default \FrameCommand
+      % We'll use the default \exam at FrameCommand
     \else
       \if at shadedsolutions
-        \def\FrameCommand{\colorbox{SolutionColor}}%
+        \def\exam at FrameCommand{\colorbox{SolutionColor}}%
       \else
         % It's \unframedsolutions:
-        \def\FrameCommand{}%
+        \def\exam at FrameCommand{}%
       \fi
     \fi
-    \MakeFramed{\advance\hsize-\width}%
+    \exam at MakeFramed{\advance\hsize-\exam at width}%
     \solutiontitle
     \ignorespaces
   }%
   {%
     \unskip
-    \endMakeFramed
+    \endexam at MakeFramed
   }%
 
 \newif\if at framedsolutions
@@ -8019,9 +7956,9 @@
 % arguments, the first being the color for the frame, and the second
 % being the stuff to be framed.
 
-% If we had assumed that color.sty was used (instead of just color.sty),
-% then the line that saves the current color in saved at color could have
-% been just
+% If we had assumed that xcolor.sty was used (instead of just
+% color.sty), then the line that saves the current color in
+% saved at color could have been just
 
 %   \colorlet{saved at color}{.}
 
@@ -8049,28 +7986,37 @@
 % provided that this notice is left intact.
 %
 % The modifications I made are marked with ``psh'' in a comment:
+%
+% Further modifications, 2017-09-21
+% I changed the names of many commands by prepending ``exam@'', so
+% that the user can use the framed.sty package with exam.cls and not
+% have conflicts.  (I also renamed the framed, shaded, and leftbar
+% environments to examframed, examshaded, and examleftbar.)  I didn't
+% mark these name changes.
 % 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Create framed or shaded regions that can break across pages using 
-% \begin{framed} ... \end{framed}    -- ordinary frame box (box at margin)
-% \begin{shaded} ... \end{shaded}    -- shaded background (into margin)
-%    ... leftbar ...                 -- line on left side
+% \begin{examframed} ... \end{examframed}    -- ordinary frame box
+% (box at margin)
+% \begin{examshaded} ... \end{examshaded}    -- shaded background
+% (into margin)
+%    ... examleftbar ...                 -- line on left side
 % \begin{MakeFramed}{settings} ... \end{MakeFramed}
 %                        -- generic frame (for new environments)
 %
-% The "framed" environment puts the text into "\fbox" with the
-% settings "\fboxrule=\FrameRule" and "\fboxsep=\FrameSep".
+% The "examframed" environment puts the text into "\fbox" with the
+% settings "\fboxrule=\exam at FrameRule" and "\fboxsep=\exam at FrameSep".
 % You can change these lengths (using "\setlength") and you
-% can even change the definition of "\FrameCommand" to use
+% can even change the definition of "\exam at FrameCommand" to use
 % much fancier boxes.
 %
-% In fact, the "shaded" environment just redefines "\FrameCommand"
+% In fact, the "shaded" environment just redefines "\exam at FrameCommand"
 % to use "\colorbox{shadecolor}" (and you have to define the
 % color "shadecolor": \newcolor{shadecolor}...).
 %
 % A page break is allowed, and even encouraged, before the framed
 % environment.  If you want to attach some text (a box title) to the
-% frame, then the text should be inserted by \FrameCommand
+% frame, then the text should be inserted by \exam at FrameCommand
 %
 % The contents of the framed regions are restricted: 
 % Floats, footnotes, marginpars and head-line entries will be lost.
@@ -8080,16 +8026,18 @@
 %
 % The MakeFramed environment does the work.  Its "settings" argument
 % should contain any adjustments to the text width (applied to \hsize,
-% and using the "\width" of the frame itself) as well as a `restore' 
-% command -- \@parboxrestore or \FrameRestore or something similar.
+% and using the "\exam at width" of the frame itself) as well as a `restore' 
+% command -- \@parboxrestore or \exam at FrameRestore or something similar.
 % 
 % Expert commands:
-% \MakeFramed, \endMakeFramed: the "MakeFramed" environment
-% \FrameCommand: command to draw the frame around its argument
-% \FrameRestore: restore some text settings, but fewer than \@parboxrestore
-% \FrameRule: length register; \fboxrule for default "framed".
-% \FrameSep: length register; \fboxsep for default "framed".
-% \FrameHeightAdjust: macro; height of frame above baseline at top of page
+% \exam at MakeFramed, \endexam at MakeFramed: the "MakeFramed" environment
+% \exam at FrameCommand: command to draw the frame around its argument
+% \exam at FrameRestore: restore some text settings, but fewer than
+% \@parboxrestore 
+% \exam at FrameRule: length register; \fboxrule for default "framed".
+% \exam at FrameSep: length register; \fboxsep for default "framed".
+% \exam at frameHeightAdjust: macro; height of frame above baseline at
+% top of page
 % 
 % This is still a `pre-production' version because I can think of many
 % features/improvements that should be made.  Nevertheless, starting 
@@ -8105,30 +8053,30 @@
 \newdimen\saved at totalleftmargin
 \newcount\@sollistdepth
 
-\newenvironment{framed}% using default \FrameCommand
-  {\MakeFramed {\advance\hsize-\width \FrameRestore}}%
-  {\endMakeFramed}
+\newenvironment{examframed}% using default \exam at FrameCommand
+  {\exam at MakeFramed {\advance\hsize-\exam at width \exam at FrameRestore}}%
+  {\endexam at MakeFramed}
 
-\newenvironment{shaded}{%
-  \def\FrameCommand{\colorbox{shadecolor}}%
-  \MakeFramed {\FrameRestore}}%
- {\endMakeFramed}
+\newenvironment{examshaded}{%
+  \def\exam at FrameCommand{\colorbox{shadecolor}}%
+  \exam at MakeFramed {\exam at FrameRestore}}%
+ {\endexam at MakeFramed}
 
-\newenvironment{leftbar}{%
-  \def\FrameCommand{\vrule width 3pt \hspace{10pt}}%
-  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
- {\endMakeFramed}
+\newenvironment{examleftbar}{%
+  \def\exam at FrameCommand{\vrule width 3pt \hspace{10pt}}%
+  \exam at MakeFramed {\advance\hsize-\exam at width \exam at FrameRestore}}%
+ {\endexam at MakeFramed}
 
-\chardef\FrameRestore=\catcode`\| % for debug
+\chardef\exam at FrameRestore=\catcode`\| % for debug
 \catcode`\|=\catcode`\% % (debug: insert space after backslash)
 
-\def\MakeFramed#1{\par
- % measure added width and height; call result \width and \height
+\def\exam at MakeFramed#1{\par
+ % measure added width and height; call result \exam at width and \exam at height
  \setbox\z@\vbox{\vskip-1in \hbox{\hskip-1in 
-   \FrameCommand{\hbox{\vrule \@height .7in \@depth.3in \@width 1in}}}%
+   \exam at FrameCommand{\hbox{\vrule \@height .7in \@depth.3in \@width 1in}}}%
    \vskip\z at skip}%
- \def\width{\wd\z@}\def\height{\ht\z@}%
- \edef\fb at frw{\the\width}\edef\fb at frh{\the\height}%
+ \def\exam at width{\wd\z@}\def\exam at height{\ht\z@}%
+ \edef\exam at fb@frw{\the\exam at width}\edef\exam at fb@frh{\the\exam at height}%
  % insert pre-penalties and skips
  \begingroup
  \skip@\lastskip
@@ -8136,7 +8084,7 @@
     \penalty9999 % updates \page parameters
     \ifdim\pagefilstretch=\z@ \ifdim\pagefillstretch=\z@
        \edef\@tempa{\the\skip@}%
-       \ifx\@tempa\zero at glue \penalty-30
+       \ifx\@tempa\exam at zero@glue \penalty-30
        \else \vskip-\skip@ \penalty-30 \vskip\skip@
     \fi\fi\fi
     \penalty\z@
@@ -8146,7 +8094,7 @@
     % calculated badness is really 8192, not 10000, so the multiplier
     % is 0.2301. 
     \advance\skip@ \z@ plus-.5\baselineskip
-    \advance\skip@ \z@ plus-.231\height
+    \advance\skip@ \z@ plus-.231\exam at height
     \advance\skip@ \z@ plus-.231\skip@
     \advance\skip@ \z@ plus-.231\topsep
     \vskip-\skip@ \penalty 1800 \vskip\skip@
@@ -8154,11 +8102,11 @@
  \addvspace{\topsep}%
  \endgroup
  % clear out pending page break
- \penalty\@M \vskip 2\baselineskip \vskip\height
- \penalty9999 \vskip -2\baselineskip \vskip-\height
+ \penalty\@M \vskip 2\baselineskip \vskip\exam at height
+ \penalty9999 \vskip -2\baselineskip \vskip-\exam at height
  \penalty9999 % updates \pagetotal
 |\message{After clearout, \pagetotal=\the\pagetotal, \pagegoal=\the\pagegoal. }%
- \fb at adjheight 
+ \exam at fb@adjheight 
 %psh: Added commands:
   \advance\hsize-\@totalleftmargin
   \saved at totalleftmargin=\@totalleftmargin
@@ -8169,25 +8117,26 @@
   \leftmargin=0pt
 %psh: end of added commands
  \setbox\@tempboxa\vbox\bgroup
-   #1% Modifications to \hsize (can use \width and \height)
+   #1% Modifications to \hsize (can use \exam at width and \exam at height)
    \textwidth\hsize \columnwidth\hsize
 %psh: added one line:
    \linewidth=\hsize
 }
 
-\def\endMakeFramed{\par
+\def\endexam at MakeFramed{\par
      \kern\z@ \penalty-100 % put depth into height
  \egroup
- \begingroup \put at frame \endgroup
+ \begingroup \exam at put@frame \endgroup
 %psh: Added one line:
  \@totalleftmargin=\saved at totalleftmargin
 }
 
-% \put at frame takes the contents of \@tempboxa and puts all, or a piece,
-% of it on the page with a frame (\FrameCommand).  It recurses until
-% all of \@tempboxa has been used up. (\@tempboxa must have zero depth.)
+% \exam at put@frame takes the contents of \@tempboxa and puts all, or a
+% piece, of it on the page with a frame (\exam at FrameCommand).  It
+% recurses until all of \@tempboxa has been used up. (\@tempboxa must
+% have zero depth.)
 
-\def\put at frame{\relax
+\def\exam at put@frame{\relax
  \ifdim\pagegoal=\maxdimen \pagegoal\vsize \fi
 |   \message{=============== Entering putframe ====================^^J
 |     \pagegoal=\the\pagegoal,  \pagetotal=\the\pagetotal. }%
@@ -8195,17 +8144,17 @@
     \dimen@\pagegoal \advance\dimen at -\pagetotal % natural space left on page
   \ifdim\dimen@<2\baselineskip 
 |   \message{Page has only \the\dimen@\space room left; eject. }%
-    \eject \fb at adjheight \put at frame
+    \eject \exam at fb@adjheight \exam at put@frame
   \else % there's appreciable room left on the page
 |    \message{\string\pagetotal=\the\pagetotal,
 |        \string\pagegoal=\the\pagegoal, 
 |        \string\pagestretch=\the\pagestretch,
 |        \string\pageshrink=\the\pageshrink,
-|        \string\fb at frh=\fb at frh. \space}
-|    \message{Box of size \the\ht\@tempboxa\space + \fb at frh}%
+|        \string\exam at fb@frh=\exam at fb@frh. \space}
+|    \message{Box of size \the\ht\@tempboxa\space + \exam at fb@frh}%
      \begingroup % temporarily set \dimen@ to be...
      \advance\dimen at .8\pageshrink  % maximum space available on page
-     \advance\dimen at -\fb at frh\relax % space available for frame's contents
+     \advance\dimen at -\exam at fb@frh\relax % space available for frame's contents
      \expandafter\endgroup
      % restore \dimen@ to real room left on page
      \ifdim\dimen@>\ht\@tempboxa % whole box does fit
@@ -8213,10 +8162,11 @@
      \else % box must be split
 |       \message{must be split to fit in \the\dimen at . }%
         \setbox\@tempboxa\vbox{% simulate frame and flexiblity of the page:
-           \vskip \fb at frh \@plus\pagestretch \@minus.8\pageshrink
+           \vskip \exam at fb@frh \@plus\pagestretch \@minus.8\pageshrink
            \kern137sp\kern-137sp\penalty-30
            \unvbox\@tempboxa}%
-        \edef\fb at resto@set{\boxmaxdepth\the\boxmaxdepth \splittopskip\the\splittopskip}%
+        \edef\exam at fb@resto at set{\boxmaxdepth\the\boxmaxdepth
+          \splittopskip\the\splittopskip}%
         \boxmaxdepth\z@ \splittopskip\z@
         \setbox\tw@\vsplit\@tempboxa to\dimen@
         \setbox\tw@\vbox{\unvbox\tw@}% natural-sized
@@ -8230,7 +8180,7 @@
 |         \message{Frame is big -- Use up the full column. }%
           \dimen at ii\pagegoal
           \advance\dimen at ii -\topskip
-          \advance\dimen at ii \FrameHeightAdjust\relax
+          \advance\dimen at ii \exam at frameHeightAdjust\relax
         \else  % suspect this is wrong:
           % If the split-to size > feasible room_on_page, rebox it smaller.
           \advance\dimen at .8\pageshrink
@@ -8242,17 +8192,18 @@
           \fi
         \fi
         % Re-box contents to desired size \dimen at ii
-        \advance\dimen at ii -\fb at frh
+        \advance\dimen at ii -\exam at fb@frh
         \setbox\tw@\vbox to\dimen at ii \bgroup
         % remove simulated frame and page flexibility:
-        \vskip -\fb at frh \@plus-\pagestretch \@minus-.8\pageshrink
+        \vskip -\exam at fb@frh \@plus-\pagestretch \@minus-.8\pageshrink
         \unvbox\tw@ \unpenalty\unpenalty
         \ifdim\lastkern=-137sp % whole box went to next page
 |          \message{box split at beginning! }%
-           \egroup \fb at resto@set \eject % (\vskip for frame size was discarded) 
-           \fb at adjheight
+           \egroup \exam at fb@resto at set \eject % (\vskip for frame size
+                                             % was discarded)  
+           \exam at fb@adjheight
         \else %
-           \egroup \fb at resto@set
+           \egroup \exam at fb@resto at set
            \ifvoid\@tempboxa % it all fit after all
 |             \message{box split at end! }%
               \setbox\@tempboxa\box\tw@
@@ -8261,8 +8212,8 @@
               \ifdim\wd\tw@>\z@
 %psh: Changed the command that inserts the box:
 %     Instead of \centerline, we shift right by \saved at totalleftmargin:
-%              \centerline{\FrameCommand{\box\tw@}}%  ??? \centerline bad idea
-       \hbox{\hskip \saved at totalleftmargin\FrameCommand{\box\tw@}}%
+%              \centerline{\exam at FrameCommand{\box\tw@}}%  ??? \centerline bad idea
+       \hbox{\hskip \saved at totalleftmargin\exam at FrameCommand{\box\tw@}}%
               \else
 |               \message{Zero width means likely blank. Don't frame it (guess)}%
                 \box\tw@
@@ -8269,34 +8220,35 @@
               \fi
               \hrule \@height\z@
               \eject
-              \fb at adjheight
-              \put at frame
+              \exam at fb@adjheight
+              \exam at put@frame
   \fi\fi\fi\fi\fi
   \ifvoid\@tempboxa\else
 %psh: Changed the command that inserts the box:
 %     Instead of \centerline, we shift right by \saved at totalleftmargin:
-%    \centerline{\FrameCommand{\box\@tempboxa}}%
-    \hbox{\hskip\saved at totalleftmargin\FrameCommand{\box\@tempboxa}}%
+%    \centerline{\exam at FrameCommand{\box\@tempboxa}}%
+    \hbox{\hskip\saved at totalleftmargin\exam at FrameCommand{\box\@tempboxa}}%
     \nointerlineskip \null %{\showoutput \showlists}
     \penalty-30 \vskip\topsep
   \fi}
 
-\def\fb at adjheight{%
-  \vbox to\FrameHeightAdjust{}% get proper baseline skip from above.
+\def\exam at fb@adjheight{%
+  \vbox to\exam at frameHeightAdjust{}% get proper baseline skip from above.
   \penalty\@M \nointerlineskip
-  \vskip-\FrameHeightAdjust
+  \vskip-\exam at frameHeightAdjust
   \penalty\@M} % useful for tops of pages
 
-\edef\zero at glue{\the\z at skip}
+\edef\exam at zero@glue{\the\z at skip}
 
-\catcode`\|=\FrameRestore
+\catcode`\|=\exam at FrameRestore
 
 % Provide configuration commands:
-%psh: Version 2.502, 2016/03/23, changed \FrameCommand so that the
+%psh: Version 2.502, 2016/03/23, changed \exam at FrameCommand so that the
 %     frame is printed in color if the user has said
 %     \colorsolutionboxes:
-%\providecommand\FrameCommand{\fboxrule=\FrameRule \fboxsep=\FrameSep \fbox}
-\def\FrameCommand{\fboxrule=\FrameRule \fboxsep=\FrameSep
+%\providecommand\exam at FrameCommand{\fboxrule=\exam at FrameRule
+%\fboxsep=\exam at FrameSep \fbox}
+\def\exam at FrameCommand{\fboxrule=\exam at FrameRule \fboxsep=\exam at FrameSep
   \if at colorsolutionboxes
     \def\box at it{\colorfbox{SolutionBoxColor}}%
   \else
@@ -8303,19 +8255,19 @@
     \def\box at it{\fbox}%
   \fi
   \box at it
-}% \FrameCommand
+}% \exam at FrameCommand
 
-\@ifundefined{FrameRule}{\newdimen\FrameRule \FrameRule=\fboxrule}{}
-\@ifundefined{FrameSep} {\newdimen\FrameSep  \FrameSep =3\fboxsep}{}
+\@ifundefined{FrameRule}{\newdimen\exam at FrameRule \exam at FrameRule=\fboxrule}{}
+\@ifundefined{FrameSep} {\newdimen\exam at FrameSep  \exam at FrameSep =3\fboxsep}{}
 
 % Height of frame above first baseline when frame starts a page:
-\providecommand\FrameHeightAdjust{6pt}
+\providecommand\exam at frameHeightAdjust{6pt}
 
-% \FrameRestore has parts of \@parboxrestore.  See how it is used in the 
+% \exam at FrameRestore has parts of \@parboxrestore.  See how it is used in the 
 % "settings" argument of \MakeFrame.  Previous behavior can be restored by 
 % using \@parboxrestore there, or redefining:
-% \makeatletter \renewcommand\FrameRestore{\@parboxrestore} \makeatother
-\def\FrameRestore{%
+% \makeatletter \renewcommand\exam at FrameRestore{\@parboxrestore} \makeatother
+\def\exam at FrameRestore{%
   \let\if at nobreak\iffalse
   \let\if at noskipsec\iffalse
 %  \let\par\@@par  ??
@@ -8333,7 +8285,8 @@
 }
 
 %  Compatibility with previous versions (temporary!):
-\let\fram at d=\MakeFramed  \let\endfram at d=\endMakeFramed
+% psh: we'll remove this 2017-09-21
+%\let\fram at d=\MakeFramed  \let\endfram at d=\endMakeFramed
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 



More information about the tex-live-commits mailing list