%%% $Id: mitpress.sty,v 1.54 1993/07/13 18:05:06 pao Exp $
%%%%% This file is called mitpress.sty
\input cmfonts
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This Style file prepared by Amy Hendrickson, TeXnology Inc.          %%
%% exclusively for the use of MIT Press. Copyright TeXnology Inc.       %%
%% All rights reserved.                                                 %%
%% Inquiries to: Amy Hendrickson, (617) 738-8029                        %%
%% net address: amyh@ai.mit.edu                                         %%
%% It is a variation on book.sty, released by Leslie Lamport 23 Sep 85  %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%% Modification history:
%%% 1.50  Began versioning, 92.9.23, PAO
%%% 1.51  A few bug fixes and spacing changes, particularly the list
%%%	  indentation parameters.  92.9.23, PAO
%%% 1.52  Change list indentation parameters to allow second and third
%%%       level lists.  This should eventually be run through MITP's
%%%	  design department.  93.06.17, PAO
%%% 1.53  Change \elevenbold in most places to \chapheadfont so it can be
%%%	  parameterized.  This is for chapter headings, frontmatter,
%%%	  backmatter.  Also introduced \secheadfont for first level section
%%%	  headings, and \chaptocfont and \sectocfont for table of contents.
%%%	  Also, \secnumwidth for toc, modified \tableofcontents to set
%%%	  \hsizeminusfive and friends to look at \secnumwidth.
%%%	  If changed, these must be defined in the preamble.  93.07.13, PAO
%%% 1.54  Add $Id: mitpress.sty,v 1.54 1993/07/13 18:05:06 pao Exp $ line.  Trivial change. PAO

\typeout{\space\space\space\space\space\space\space\space\space}
\typeout{Document Style `MATH' for MIT Press, 6in. by 9in.\space}
\typeout{Version 1.54, 13 July 1993\space}
\typeout{Copyright (c) 1987 by Amy Hendrickson, TeXnology, Inc.\space}
\typeout{Revised February 1991 and later by MIT Press.\space}
\typeout{\space\space\space\space\space\space\space\space\space}
 
\def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
\@namedef{ds@12pt}{\def\@ptsize{2}}
\@twosidetrue \@mparswitchtrue \def\ds@draft{\overfullrule 5pt}
\@options
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Definitions of dimensions, page layout, type sizes,
%%% positions and leadings for environments.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\raggedbottom
\lineskip 1pt \normallineskip 1pt
\baselineskip=13pt
\def\baselinestretch{1}
 
\def\chapheadfont{\elevenbold}
\def\secheadfont{\elevenbold}
\def\chaptocfont{\elevenbold}
\def\sectocfont{\elevenbold}

\def\@normalsize{\@setsize\normalsize{13pt}\xpt\@xpt
\abovedisplayskip 10pt plus2pt minus5pt
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus3pt
\belowdisplayshortskip 6pt plus3pt minus3pt}
 
\def\small{\@setsize\small{11pt}\ixpt\@ixpt
\abovedisplayskip 8.5pt plus 3pt minus 4pt
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2pt
\belowdisplayshortskip 4pt plus2pt minus 2pt
\def\@listi{\topsep 4pt plus 2pt minus 2pt
\parsep 2pt plus 1pt minus 1pt
\itemsep \parsep}}
 
\def\footnotesize{\@setsize\footnotesize{8pt}\viiipt\@viiipt
\abovedisplayskip 6pt plus 2pt minus 4pt
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus 1pt
\belowdisplayshortskip 3pt plus 1pt minus 2pt
\def\@listi{\topsep 3pt plus 1pt minus 1pt
\parsep 2pt plus 1pt minus 1pt
\itemsep \parsep}}
 
\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
\def\large{\@setsize\large{14pt}\xiipt\@xiipt}
\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}\normalsize
 
\oddsidemargin 0pt
\evensidemargin 0pt
\textheight 41pc
\textwidth 26pc 
\marginparwidth .75in
\marginparsep 7pt
\topmargin .75in
\headheight 12pt
\headsep0pt% .25in
\footheight 12pt
\footskip.35in
\columnsep 10pt
\columnseprule 0pt
\footnotesep 6.65pt
\skip\footins 12pt plus 4pt minus 2pt
\floatsep 12pt plus 2pt minus 2pt
\textfloatsep 18pt plus 2pt minus 4pt
\intextsep 12pt plus 2pt minus 2pt
\@maxsep 18pt
\dblfloatsep 12pt plus 2pt minus 2pt
\dbltextfloatsep 20pt plus 2pt minus 4pt
\@dblmaxsep 20pt
\@fptop 0pt plus 1fil
\@fpsep 8pt plus 2fil
\@fpbot 0pt plus 1fil
\@dblfptop 0pt plus 1fil
\@dblfpsep 8pt plus 2fil
\@dblfpbot 0pt plus 1fil
\marginparpush 5pt
 
\parskip 0pt plus 1pt
\parindent 1em
\topsep 8pt plus 2pt minus 4pt
\partopsep 2pt plus 1pt minus 1pt
\itemsep 4pt plus 2pt minus 1pt
\@lowpenalty 51
\@medpenalty 151
\@highpenalty 301
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
 
\def\6x9width{26pc}
\def\7x9width{32pc}
\newcount\pw
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% changes made by Glenn Kramer:
% added \hsizeminusfive, \hsizeminussix, \hsizeminusseven to replace
% hardwired constants in the macros which were made for 6x9 format.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newdimen\hsizeminusfive
\newdimen\hsizeminussix
\newdimen\hsizeminusseven
\newdimen\secnumwidth\secnumwidth=2pc
\def\pagewidth#1{\pw=#1
         \ifnum\pw=6 \textwidth\6x9width
	             \hsizeminusfive=21pc
		     \hsizeminussix=20pc
		     \hsizeminusseven=19pc
         \else
         \ifnum\pw=7 \textwidth\7x9width
		     \hsizeminusfive=27pc
		     \hsizeminussix=26pc
		     \hsizeminusseven=25pc
         \else\errmessage{You must choose another pagewidth}\fi\fi}

%%%
%%% Begin modification -- PAO 5/26/92 15:35:05
%%%
%%% Select a default \pagewidth

\pagewidth6

%%%
%%% End modification -- PAO 5/26/92 15:35:05
%%%
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Macros for Chapters, sections, subsections
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\newif\ifcontributors
\contributorsfalse
 
\newcounter {part}
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
 
\def\thepart {\Roman{part}}
\def\thechapter {\arabic{chapter}}
\def\thesection {\thechapter.\arabic{section}}
\def\thesubsection {\thesection.\arabic{subsection}}
\def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
\def\@chapapp{Chapter}
 
\def\cleardoublepage{%
\newpage\ifodd\count0\else\hbox{}\thispagestyle{empty}\newpage
\if@twocolumn \hbox{}\thispagestyle{empty}\newpage\fi\fi}
 
\def\part{\cleardoublepage
\if@twocolumn \onecolumn
\@tempswatrue \else \@tempswafalse \fi
% \hbox{}\vfil \bgroup \centering
\thispagestyle{empty}\secdef\@part\@spart}
 
\newif\iffirstpart
\global\firstparttrue
 
\newbox\partnumbox
\newdimen\partnumwidth
 
\def\@part[#1]#2{%
%\iffirstpart\global\firstpartfalse\pagenumbering{arabic}\fi
\ifnum \c@secnumdepth >-2\relax \refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart \hspace{1em}#1}%
\else \addcontentsline{toc}{part}{#1}\fi
%\markboth{}{}\thispagestyle{plain}%
\markboth{}{}\thispagestyle{empty}%
\setbox\partnumbox=\hbox{\thirtysixbold\thepart\hskip10pt}%
\partnumwidth=\wd\partnumbox
\noindent\hbox to0pt{\vbox to0pt{\vss\vbox to 5.6pc{% was 5.6pc WYN
\noindent{\box\partnumbox\vbox{\advance\hsize by-\partnumwidth
\baselineskip=13pt\chapheadfont\noindent\uppercase{#1}\vskip1sp}}%
\vfill}}\hss}}
%}}}
 
\def\@endpart{\par\vfil\newpage \if@twoside \hbox{}
\thispagestyle{empty}
\newpage \fi \if@tempswa \twocolumn \fi}
 
\def\@spart#1{\@endpart}
 
\def\@makechapterhead#1{\noindent\hbox to0pt{\vbox to0pt{\vss%
\vbox to5.6pc{\noindent\thirtysixbold\thechapter %was 5.6 JBC
\hskip6pt
\vbox{\baselineskip=16pt\raggedright\hyphenpenalty10000
\hsize=.86\textwidth\chapheadfont #1}\vfill}}\hss}}
 
\def\@makeschapterhead#1{\vspace*{50pt}{\parindent 0pt\raggedright%
\Huge\bf #1\par\nobreak\vskip 40pt}}
 
\def\chapter{\cleardoublepage
\thispagestyle{empty}
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
 
% changed pagenumbering to be arabic for any chapter, not just 
% chapter 1. This makes life easier when printing portions of a
% document. -- Glenn Kramer
\def\@chapter[#1]#2{\refstepcounter{chapter}%
\setcounter{secnumdepth}{2}%
\ifinappendix\else
\ifnum\c@chapter=1\global\count0=1\relax\pagestyle{headings}%
\fi\fi%
\ifnum\c@chapter>\z@\gdef\thepage{\@arabic{\c@page}}\fi%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}{\protect%
\chaptocfont\numberline{\thechapter}#1}%
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10pt}}%
\addtocontents{lot}{\protect\addvspace{10pt}}%
\@makechapterhead{#2}}%\noindent\ignorespaces}
 
\def\@schapter#1{%
\if@twocolumn\@topnewpage[\@makeschapterhead{#1}]\fi}
 
\@afterindentfalse
 
\def\@afterheading{\global\@nobreaktrue
      \everypar{\if@nobreak
                   \global\@nobreakfalse
                   \clubpenalty \@M
                   \hskip -\parindent\else
		   \clubpenalty \@clubpenalty
                   \everypar{}\fi}}
 
\def\beginepigraph#1#2{%
\begingroup%
\parindent 0pt%
\tenbold#1%
\addtocontents{toc}{\vskip-5pt\hbox{\hskip\secnumwidth\eleven#1}}%
\newline%
\tenpoint#2%
\vskip 1.5pc%
\nine%
\baselineskip 11pt}
 
\def\endepigraph{%
\endgroup}
 
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
     \def\@svsec{}\else
     \refstepcounter{#1}%
     \edef\@svsec{\csname the#1\endcsname\hskip 1em}\fi
     \@tempskipa #5\relax
      \ifdim \@tempskipa>\z@
        \begingroup#6\relax
\noindent\@svsec{\interlinepenalty \@M #8\par}%
        \endgroup
       \csname #1mark\endcsname{#7}%
\ifcontributors\else\addcontentsline
         {\ifinappendix matter
	  \else\ifnum\c@chapter=0 matter
	  \else
	  toc\fi\fi}%
	  {#1}%
	  {\ifnum #2>\c@secnumdepth
	  \else
          \protect\numberline{\csname the#1\endcsname}\fi
          #7}\fi%
	  \else
          \def\@svsechd{#6\hskip #3\@svsec
	                #8\csname
			#1mark\endcsname
                        {#7}%
\ifcontributors\else\addcontentsline
              {\ifinappendix matter
	      \else\ifnum\c@chapter=0 matter
              \else toc\fi\fi}%
	      {#1}%
	      {\ifnum #2>\c@secnumdepth
	      \else
              \protect\numberline{\csname the#1\endcsname}\fi
              #7}\fi}\fi
          \@xsect{#5}}
 
\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
 \ifdim \@tempskipa>\z@%
  \begingroup#4%\@hangfrom{\hskip #1}
{\interlinepenalty \@M #5\par}\endgroup
   \else \def\@svsechd{#4\hskip #1\relax #5}\fi%
    \@xsect{#3}}
 
% \@startsection {NAME}{LEVEL}{INDENT}
%                {BEFORESKIP}{AFTERSKIP}{STYLE}
 
\def\section{\@startsection {section}{1}{\z@}%
{16pt}{13pt}{\sectocfont\noindent}}
\def\subsection{\@startsection{subsection}{2}{\z@}%
{7pt}{7pt}{\bf\noindent}}
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{7pt}{-1em}{\normalsize\bf}}
\def\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
\def\subparagraph{\@startsection{subparagraph}{4}{\parindent}%
{3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\bf}}
 
\def\chaptermark#1{}
 
\setcounter{secnumdepth}{0}
 
\newif\ifinappendix
\def\appendix{\inappendixtrue\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\def\@chapapp{Appendix}%
\def\thechapter{\Alph{chapter}}}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% I don't think any of these will be used: MSC
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\leftmargini   25pt
%\leftmarginii 22pt
\leftmargini   0pt  %% PAO
%\leftmarginii  0pt
\leftmarginii  \parindent %% PAO
%\leftmarginiii 18.7pt
\leftmarginiii \parindent %% PAO
\leftmarginiv  17pt
\leftmarginv   10pt
\leftmarginvi  10pt
\leftmargin\leftmargini
\labelwidth\leftmargini\advance\labelwidth-\labelsep
\labelsep 5pt
\parsep 4pt plus 2pt minus 1pt
\def\@listi{\leftmargin\leftmargini
 \topsep 7pt  % v1.52
 \itemsep 0pt plus 1pt minus 1pt}   %this makes total itemsep 16pt bb
\def\@listii{\leftmargin\leftmarginii
 \labelwidth\leftmarginii\advance\labelwidth-\labelsep
 \topsep \z@ %% v1.52 % 4pt plus 2pt minus 1pt
 \parsep 2pt plus 1pt minus 1pt
 \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
 \topsep \z@ %% v1.52 % \topsep 2pt plus 1pt minus 1pt
 \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
 \itemsep \topsep}
\def\@listiv{\leftmargin\leftmarginiv
 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
\def\@listv{\leftmargin\leftmarginv
 \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
\def\@listvi{\leftmargin\leftmarginvi
 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
\def\labelenumi{\arabic{enumi}.}
\def\theenumi{\arabic{enumi}}
\def\labelenumii{(\alph{enumii})}
\def\theenumii{\alph{enumii}}
\def\p@enumii{\theenumi}
\def\labelenumiii{\roman{enumiii}.}
\def\theenumiii{\roman{enumiii}}
\def\p@enumiii{\theenumi(\theenumii)}
\def\labelenumiv{\Alph{enumiv}.}
\def\theenumiv{\Alph{enumiv}}
\def\p@enumiv{\p@enumiii\theenumiii}
\def\labelitemi{$\bullet$}
\def\labelitemii{\bf --}
\def\labelitemiii{$\ast$}
\def\labelitemiv{$\cdot$}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Macros for special environments
%%% number lists, bullet lists, verse, tables, figures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\def\verse{\let\\=\@centercr
 \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
 \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
\let\endverse\endlist
\def\quotation{\leftmargini25pt\leftmarginii22pt %% PAO
\list{}{\listparindent 1.5em
 \itemindent\listparindent
 \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]}
\let\endquotation=\endlist
\def\quote{\leftmargini25pt\leftmarginii22pt %% PAO
\list{}{\rightmargin\leftmargin}\item[]}
\let\endquote=\endlist
 
%%%
%%% Begin modifications --- PAO 5/27/92 15:59:00
%%%

%%% New definitions of the flush left style of itemizations and
%%% enumerations.  Respecting the documentation of these environments,
%%% I'm prohibiting nesting.  The reason for the change is 1) to improve
%%% the interaction of these envs with the rest of LaTeX---with \label
%%% and with displayed equations, and 2) to prevent bad page appearance
%%% from the \noindent if the list ends a paragraph & section.  (An
%%% empty paragraph will be generated which can end up at the top of a
%%% page followed by the skip that precedes a section heading.)

%%% The old definitions:
% 
% \def\bulletlist{\begingroup\vskip7pt \parindent=1pc
%   \def\item{\par\noindent\hbox to 1pc{$\bullet$\hfil}}}
% \def\endbulletlist{\vskip7pt\endgroup\noindent}
%  
% \newcount\numberlistcounter \numberlistcounter=0
% \newbox\numberbox
% \def\numberlist#1{\begingroup\vskip7pt
%   \setbox\numberbox=\hbox{#1.\hskip0.5em}%
%   \numberlistcounter=0 \parindent=\wd\numberbox
%   \def\item{\advance\numberlistcounter by1
%             \par\noindent
%             \hbox to \wd\numberbox{\hfil
%             \the\numberlistcounter.\hskip0.5em}}}
% \def\endnumberlist{\vskip7pt\endgroup\noindent}

%%% The new definitions:

\newcount\@mitplistdepth\@mitplistdepth 0

%%% Set most spacings to zero.  Basically, only \topsep, \parsep, and
%%% \parindent are used.

\def\@mitplist{\ifnum\@mitplistdepth>2\relax\@toodeep
	\else\advance\@mitplistdepth\@ne\fi 
%  \topsep 7pt
  \partopsep 0pt \itemsep 0pt \parsep \parskip
%  \leftmargin 0pt \rightmargin 0pt
  \labelwidth 0pt \labelsep 0pt}

%%% bulletlist

\def\bulletlist{\list
	{\hbox to 1pc{$\bullet$\hfil}}{\@mitplist\listparindent 1pc}}
\let\endbulletlist\endlist

%%% numberlist

\newcounter{numlist}
\newbox\numberbox

\def\numberlist#1{\setbox\numberbox=\hbox{#1.\hskip0.5em}\list
	{\thenumlist.}{\@mitplist\usecounter{numlist}
		\listparindent\wd\numberbox
		\def\makelabel##1{\hbox to\wd\numberbox
			{\hfil ##1\hskip0.5em}}}}
\let\endnumberlist\endlist

%%%
%%% End modifications --- PAO 5/27/92 15:59:00
%%% 
 
\newcounter{figure}[chapter]
\def\thefigure{\thechapter.\@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{Figure \thefigure}
\def\figure{\@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}
\newcounter{table}[chapter]
\def\thetable{\thechapter.\@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{Table \thetable}
\def\table{\@float{table}}
\let\endtable\end@float
\@namedef{table*}{\@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}
 
\def\tablerule{%
\noalign{\vskip4pt}\noalign{\hrule}
\noalign{\vskip4pt}}
\def\toprule{%
\noalign{\vskip4pt}\noalign{\hrule}
\noalign{\vskip4pt}}
\def\bottomrule{%
\noalign{\vskip4pt}\noalign{\hrule}}
 
\long\def\@makecaption#1#2{%
\vskip2pt
\vtop{\hbox{\eightpoint\bf#1}%
\raggedright
\parskip=6pt\relax
\eightpoint
\hsize=\textwidth % changed from 26pc to \textwidth - gak
\vskip-6pt
\noindent#2}}
 
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
 \let\makelabel\descriptionlabel}}
\let\enddescription\endlist
\newdimen\descriptionmargin
\descriptionmargin=3em
 
\newif\if@restonecol

\def\titlepage{\@restonecolfalse
   \if@twocolumn\@restonecoltrue\onecolumn
   \else\newpage\fi
   \thispagestyle{empty}\c@page\z@}
 
\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
 
\arraycolsep 5pt
\tabcolsep 6pt
\arrayrulewidth .4pt
\doublerulesep 2pt
\tabbingsep \labelsep
\skip\@mpfootins = \skip\footins
\fboxsep = 3pt
\fboxrule = .4pt
 
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{2}
 
\def\tableofcontents{\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn\fi
\eject\pagestyle{headers}\thispagestyle{empty}%
\vbox to0pt{\vss\vbox to 5.6pc{% was 5.6pc WYN
\hbox{\chapheadfont Contents}\vfill}}
\markboth{Contents}{Contents}
\vglue-1.2pc
\let\contentsline=\toccontentsline
\hsizeminusfive=\hsize \advance\hsizeminusfive by-\pagenumwidth
\hsizeminussix=\hsize \advance\hsizeminussix by-\pagenumwidth
   \advance\hsizeminussix by-1pc
\hsizeminusseven=\hsize \advance\hsizeminusseven by-\pagenumwidth
   \advance\hsizeminusseven by-\secnumwidth
\@starttoc{toc}
\if@restonecol\twocolumn\fi
\vfill\eject\markboth{}{}}
 
\def\l@part#1#2{\addpenalty{-\@highpenalty}%
\addvspace{2.25em plus 1pt}\begingroup
\@tempdima 3em \parindent \z@
\rightskip \@pnumwidth
\parfillskip -\@pnumwidth
{\large \bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
\nobreak \endgroup}
 
\def\l@chapter#1#2{\pagebreak[3]
\vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\bf \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
\endgroup}
\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\def\l@paragraph{\@dottedtocline{4}{10em}{5em}}
\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
 
\def\listoffigures{%
\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn
\fi
\vbox to0pt%
{\vss\vbox to 5.6pc% was 5.6pc WYN
{\hbox{\chapheadfont List of Figures}\vfill}}%
\thispagestyle{empty}%
\vglue-22pt
\addcontentsline{toc}{matter}{List of Figures}%
\markboth{List of Figures}{List of Figures}%
\thispagestyle{empty}%
\let\contentsline=\lofcontentsline
\@starttoc{lof}%
\if@restonecol\twocolumn
\fi
\vfill\eject\markboth{}{}}
 
\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
 
\def\listoftables{%
\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn
\fi
\vbox to0pt%
{\vss\vbox to 5.6pc% was 5.6pc WYN
{\hbox{\chapheadfont List of Tables}\vfill}}%
\vglue-22pt
\markboth{List of Tables}{List of Tables}%
\addcontentsline{toc}{matter}{List of Tables}%
\let\contentsline=\lofcontentsline
\thispagestyle{empty}%
\@starttoc{lot}\if@restonecol\twocolumn
\fi
\vfill\eject\markboth{}{}}
 
\let\l@table\l@figure
 
\def\thebibliography#1{\endmatter{Bibliography}\markboth
{Bibliography}{Bibliography}\thispagestyle{empty}%
\vspace{-1.5pc}  %fudge space to move \bibitems up on first page JBC
\list
{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
\advance\leftmargin\labelsep
\usecounter{enumi}}
\def\newblock{\hskip .11em plus .33em minus -.07em}
\sloppy
\sfcode`\.=1000\relax\eightpoint}
\let\endthebibliography=\endlist
 
\def\footnoterule{\kern-3\p@
\hrule width .4\columnwidth
\kern 2.6\p@}%
\@addtoreset{footnote}{chapter}
\long\def\@makefntext#1{\parindent 1em\noindent
\hbox to 1.8em{\hss$^{\@thefnmark}$}#1}
 
\setcounter{topnumber}{2}
\def\topfraction{.7}
\setcounter{bottomnumber}{1}
\def\bottomfraction{.3}
\setcounter{totalnumber}{3}
\def\textfraction{.2}
\def\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\def\dbltopfraction{.7}
\def\dblfloatpagefraction{.5}
 
\def\maketitle{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\setcounter{page}{0}
\null
\vfil
\vskip 60pt
\begin{center}
{\LARGE \@title \par} \vskip 3em {\large \lineskip .75em
\begin{tabular}[t]{c}\@author
\end{tabular}\par}%
\vskip 1.5em {\large \@date \par}%
\end{center}\par
\@thanks
\vfil
\null
\end{titlepage}%
\setcounter{footnote}{0}%
\let\thanks\relax
\gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\maketitle\relax}
 
\mark{{}{}}
 
%\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}\def\@evenhead{\nine
%\thepage\hfil \nine \leftmark}\def\@oddhead{\hbox{}\nine \rightmark \hfil
%\nine\thepage}
%\def\chaptermark##1{\markboth {%\uppercase
%{\ifnum \c@secnumdepth
%>\m@ne \@chapapp\ \thechapter. \ \fi ##1}}{}}\def\sectionmark##1{\markright
%{\ifnum \c@secnumdepth >\z@
% \thesection. \ \fi ##1}}}% these were in \uppercase
 
%%%%%% revised headings by JBC(90) for Ashley %%%%%%
%%%%%% only chapter titles are put in head, no section titles %%%%%%
\def\ps@headings{%
\def\@oddfoot{}%
\def\@evenfoot{}%
\def\@evenhead{\nine\thepage\hfil \nine \leftmark}%
\def\@oddhead{\hbox{}\nine \rightmark \hfil\nine\thepage}
\def\chaptermark##1{\markboth{%
{\ifnum \c@secnumdepth>\m@ne \@chapapp\ \thechapter \ \fi }}%
{\ifnum \c@secnumdepth>\m@ne ##1 \ \fi }}}
 
\def\ps@myheadings{\def\@oddhead{\hbox{}\nine\rightmark \hfil
\nine\thepage}\def\@oddfoot{}\def\@evenhead{\nine\thepage\hfil\nine%
\leftmark\hbox{}}%
\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
 
\def\today{\ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi
 \space\number\day, \number\year}
\@addtoreset{equation}{chapter}
\def\theequation{\thesection.\arabic{equation}}
 
\ps@headings \pagenumbering{arabic} \onecolumn
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Modifications %%%%%%%%%%%%%%%
 
\parindent=1em
 
\def\title#1{\gdef\thetitle{\def\\ {\hfill\break}
\noindent\baselineskip=14pt\twelvebold #1\vskip1sp}}
 
\def\subtitle#1{\gdef\thesubtitle{\vskip1pt%
\def\\ {\hfill\break}
\noindent\baselineskip=13pt{\eleven #1}\vskip1sp}}
 
\def\author#1{\gdef\theauthor{\noindent\baselineskip=13pt{\eleven #1}
\vskip1sp}}
 
\def\theimprint{\vtop{\parskip=0pt\parindent=0pt
{\eleven\baselineskip=13pt  %jbc was 12/14pt
%A Bradford Book
%
The MIT Press
 
Cambridge, Massachusetts
 
London, England\vskip1sp}}}
 
\gdef\thesubtitle{}
 
% added \par\vss to avoid 'underfull \vbox' message -- Glenn Kramer
\def\booktitlepage{\hbox to0pt{\vbox to0pt{\vss\vbox
to 5.6pc{\boldfourteen\thetitle\par\vss}}\hss}\thispagestyle{empty}}
 
\def\secondbooktitlepage{\newpage\thispagestyle{empty}%
\ifodd\count0\else
\thispagestyle{empty}\hbox to\textwidth{\hfill}\newpage\fi
\thispagestyle{empty}\pagestyle{headings}%
\noindent\hbox to0pt{\vbox to0pt{\vss\vbox
to 5.6pc{\noindent\thetitle \vskip1sp\vfill}}\hss}}
 
\def\printtitlepage{\vfill\eject\thispagestyle{empty}%
\vbox to 0pt{\vss\vbox to 5.6pc{\thetitle
\ifx\thesubtitle\empty\vfill\else\thesubtitle\vfill\fi}}%
\vspace*{.2pc}\theauthor
\vfill\theimprint}
 
\newdimen\widestnum
\newbox\widestnumbox
\def\numberline#1{\hangindent=\secnumwidth\noindent\hbox to\secnumwidth{#1\hss}}
\def\dotfilll{\leaders\hbox to8pt{\tenpoint\hss.\hss}\hfill}
\def\lookatpart{part}
\def\lookatchap{chapter}
\def\lookatsec{section}
\def\lookatsubsec{subsection}
\def\lookatmatter{matter}
 
\newif\ifseespart
\newif\ifseeschap
\newif\ifseessec
\newif\ifseessubsec
\newif\ifseessubsubsec
\newif\ifmatter
\newif\ifthrowaway
\newdimen\pagenumwidth
 
\def\allfalse{\global\seespartfalse
\global\seeschapfalse\global\seessecfalse
\global\seessubsecfalse\global\matterfalse
\global\throwawayfalse}
 
\xdef\pickapart#1\phspace#2{\vtop\bgroup
\noindent\hangindent=\secnumwidth
\hsize=\hsizeminusfive\baselineskip=13pt
\ \unskip\hbox to\secnumwidth{#1\hfill}%
\uppercase\bgroup}
 
\newbox\picknumbox
\xdef\picknumapart\numberline#1{%
\setbox\picknumbox=\hbox{#1\hskip1em}%
\vtop\bgroup\noindent\hangindent=\wd\picknumbox
\hsize=\hsizeminusseven\baselineskip=13pt
\ \unskip\hbox to\wd\picknumbox{#1\hfill}}
 
%%%
%%% Begin modification --- PAO 5/27/92 16:20:05
%%%
%%% There wasn't enough space between subsection lines and a following
%%% section line in the table of contents.  This ``fixes'' it.  I'm not
%%% happy with the fix, but given the structure of this, it works.  I
%%% hope it's easily changeable.
%%%

\newif\ifwassub\wassubfalse

\def\toccontentsline#1#2#3{\setbox0=\hbox{\tenpoint #3}%
\baselineskip=13pt
\pagenumwidth=5pc
\global\advance\pagenumwidth by-\wd0
\def\catch{#1}\def\keeptwo{#2}%
\ifx\lookatpart\catch\global\seesparttrue\else
\ifx\lookatchap\catch\global\seeschaptrue\else
\ifx\lookatsec\catch\global\seessectrue\else
\ifx\lookatsubsec\catch\global\seessubsectrue\else
\ifx\lookatmatter\catch\global\mattertrue\else
\global\throwawaytrue\fi\fi\fi\fi\fi
\ifthrowaway\else
%%%%%%%%%%%
\ifseespart%
\wassubfalse
\vskip11pt
\hbox to\hsize{%
{\chaptocfont\expandafter\pickapart\keeptwo}%
\tenpoint\hfill
\hbox to-\pagenumwidth{}%
\vrule width0pt depth6pt\egroup\egroup\hfill}% depth was 11pt jbc
%%%%%%%%%%%%%%%%
\else\ifseeschap
\wassubfalse
\vskip11pt
\hbox to \hsize{%
\vtop{\hsize=\hsizeminusfive\noindent\keeptwo\hfill%
\rlap{\hbox to5pc{\tenpoint\hfill#3}}%
}\hfill}\vskip5pt
%%%%%%%%%%%%%%%%
\else\ifseessec%
\ifwassub\vskip3pt\fi
\wassubfalse
\hbox to\hsize{%
\vtop{\hsize=\hsizeminusfive\noindent\keeptwo\hfill%
\rlap{\hbox to5pc{\tenpoint\hfill#3}}}\hfill}\vskip3pt
%%%%%%%%%%%%%%%%%%
\else\ifseessubsec%
\wassubtrue
\setbox1=\hbox to \hsize{\baselineskip=12pt\hskip\secnumwidth
\vtop{\hsize=\hsizeminusseven\noindent\keeptwo\hfill%
\rlap{\hbox to5pc{\tenpoint\hfill#3}}}\hfill}%
\vskip1pt%
\box1%
\ifdim\dp1>6pt\vskip3pt\fi
%%%%%%%%%%%%%%%
\else\ifmatter%
\wassubfalse
\vskip3pt\hbox to
\hsize{\hskip\secnumwidth\vtop{\hsize=\hsizeminusseven\baselineskip=12pt
\noindent\keeptwo\hfill%\dotfilll
\hbox to-\pagenumwidth{}%
\rlap{\hbox to5pc{\tenpoint\hfill#3}}}\hfill}%
\fi\fi\fi\fi\fi\fi\allfalse}

%%%
%%% End modification --- PAO 5/27/92 16:20:05
%%%

\def\unwrapline\numberline#1#2#3{\setbox0=\hbox{\tenpoint #3}%
\pagenumwidth=3pc
\global\advance\pagenumwidth by-\wd0
\hbox to\hsize{\hbox to0pt{#1\hss}\hskip3pc
\vtop{\baselineskip=12pt\hsize=\hsizeminussix\noindent#2\hfill%\dotfilll
\hbox to-\pagenumwidth{}%
\rlap{\hbox to3pc{\hfill#3\vrule depth3pt width0pt}}}%
\hfill}}
 
\def\lofcontentsline#1#2#3{%
\def\catch{#2}\expandafter\unwrapline\catch{#3}%
\vskip3pt}
 
%% title of series= #1
%% editor(s) of series= #2
 
%\def\seriespage#1#2{\vfill\eject\thispagestyle{empty}
%\noindent
%\hbox to0pt{\vbox to0pt{\vss\vbox to
%5.6pc{\hbox{\chapheadfont #1}%
%\vskip2pt\hbox{\eleven #2}\vfill}}\hss}\vglue-1.2pc\vskip-22pt}
 
\def\seriespage#1#2{
\vfill\eject\thispagestyle{empty}
\noindent
\hbox{\chapheadfont #1}%
\vskip0pt
\hbox{\eleven #2}
\vskip-9.5pt}
 
\def\entry#1#2{%
\vtop{%
\vskip13pt\vtop{\noindent
\vrule width 0pt height9.5pt depth 3.5pt
\tenit #1}%
\vtop{\noindent
\vrule width 0pt height9.5pt depth 3.5pt
\tenpoint #2}}}
 
\def\frontmatter#1{\newpage\thispagestyle{empty}%
\ifodd\count0
\else \thispagestyle{empty}\hbox to\textwidth{\hfill}%
\newpage\thispagestyle{empty}\fi
\thispagestyle{empty}\pagestyle{headings}%
\markboth{#1}{#1}%
\noindent\hbox to0pt{\vbox to0pt{\vss\vbox to
5.6pc{\noindent\chapheadfont #1\vskip1sp\vfill}}\hss}% was 5.6pc WYN
\addcontentsline{toc}{matter}{#1}}
 
\def\endmatter#1{\newpage\thispagestyle{empty}%
\ifodd\count0
\else \thispagestyle{empty}\hbox to\textwidth{\hfill}%
\newpage\thispagestyle{empty}\fi
\thispagestyle{empty}\pagestyle{headings}%
\markboth{#1}{#1}%
\noindent\hbox to0pt{\vbox to0pt{\vss\vbox to
5.6pc{\noindent\chapheadfont #1\vskip1sp\vfill}}\hss}% was 5.6pc WYN
\addcontentsline{toc}{matter}{#1}}
 
% changed \boldfourteen to \elevenbold for consistency
\def\indexmatter#1{\newpage\thispagestyle{empty}%
\ifodd\count0 \else
\thispagestyle{empty}\hbox to\textwidth{\hfill}\newpage
\thispagestyle{empty}\fi
\thispagestyle{empty}\pagestyle{headings}%
\markboth{#1}{#1}%
\noindent\hbox to0pt{\vbox to0pt{\vss\vbox to 5.6pc% was 5.6pc WYN
{\noindent\hskip-16pt
\chapheadfont #1\vskip1sp\vfill}}\hss}%
\addcontentsline{toc}{matter}{#1}}
%JBC fudged endmatter for index by excising noindent
 
\newenvironment{extract}{\bgroup
\baselineskip=11pt\vskip9pt %was 7pt JBC
\nine\noindent\ignorespaces}{\vskip7pt\egroup}
 
\def\ltheorem{Theorem}
\def\lcorol{Corollary}
\def\lprop{Proposition}
\def\llemma{Lemma}
\def\lremark{Remark}
\def\xlproof{Proof}
 
\def\changetheoremfont{\ifx\lookattheorem\ltheorem\sc\else
\ifx\lookattheorem\lcorol\sc\else
\ifx\lookattheorem\lprop\sc\else
\ifx\lookattheorem\llemma\sc\else
\ifx\lookattheorem\lremark\it\else
\ifx\lookattheorem\xlproof\it\else\bf\fi\fi\fi\fi\fi\fi}
 
\def\@begintheorem#1#2{\def\lookattheorem{#1}\trivlist
\item[\hskip5pt\changetheoremfont #1\ #2]} 

% Glenn Kramer
% added \def\lookattheorem{#1} and removed spurious linefeed
\def\@opargbegintheorem#1#2#3{\def\lookattheorem{#1}\trivlist
\item[\hskip5pt\changetheoremfont#1\ #2\ (#3)]} 
\def\@endtheorem{\endtrivlist}
 
\newtheorem{theorem}{Theorem}
\newtheorem{prop}{Proposition}
\newtheorem{corol}{Corollary}
\newtheorem{lemma}{Lemma}
\newtheorem{remark}{Remark}
\newtheorem{proof}{Proof}
 
% \def\sptabular{tabular}
% \def\sptabularx{tabular*}
% \def\sptabbing{tabbing}
 
\long\def\tablenotes#1{\vskip5pt\hbox{\vbox{\eightpoint
\baselineskip=9pt \parindent=0pt \parskip=3pt
\noindent #1\vskip1sp}}}
 
\def\bibliography#1{%
\if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi
%\eightpoint % Glenn Kramer (this was not needed, and besides, it was
%not in a group, so it affected all subsequent text.
\@input{\jobname.bbl}}
 
\itemindent=0pt
\rightmargin=0pt
\leftmargin=0pt
\labelwidth=1em
\baselineskip=13pt
\pagestyle{headings}
\pagenumbering{roman}
 
%%%% output routine
 
%%%
%%% Begin Modification --- PAO 5/27/92 16:10:48
%%%
%%% I separated out the guide corners from the \@outputpage macro
%%% itself.  Whoever put them in separated the \moveright\@themargin
%%% from the page body.  The \moveright primitive takes a dimen and a
%%% box, both!  Since \@themargin was always zero, there wasn't a
%%% problem.  With the margin movies, however, \@themargin becomes
%%% non-zero.

\def\@mitpcorners{%
\vbox to0pt{\vss\hbox to
\textwidth{\llap{\hbox to4.95pc{\vbox to0pt{\vss
\hbox{\vrule depth 3pc}\vskip-3pc
\hrule width 3pc\vskip 3pc}\hfill}}%
\hfill
\rlap{\hbox to 4.95pc{\vbox to 0pt{\vss\hsize=4.95pc\noindent
\hskip1.95pc\vbox{\hsize=3pc
\parskip=0pt\parindent=0pt\leftskip=0pt
\rightskip=0pt\hrule\vskip-1sp
\hfill\hbox{\vrule height3pc}}}}}}}}%


\def\@outputpage{\begingroup\catcode`\ =10 \if@specialpage
     \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi
     \if@twoside
       \ifodd\count\z@
            \let\@thehead\@oddhead
            \let\@thefoot\@oddfoot
            \let\@themargin\oddsidemargin
          \else
            \let\@thehead\@evenhead
            \let\@thefoot\@evenfoot
            \let\@themargin\evensidemargin
     \fi\fi
     \shipout
     \vbox{\normalsize \baselineskip\z@ \lineskip\z@
           \vskip \topmargin
      \@mitpcorners
      \moveright\@themargin
      \vbox{\setbox\@tempboxa
      \vbox to5pc{\hbox to\textwidth{\@thehead}\vfill}%
      \dp\@tempboxa\z@
      \box\@tempboxa
      \vskip-2pt% \headsep
      \box\@outputbox
      \baselineskip\footskip
      \hbox to\textwidth{\@thefoot}}}\global\@colht\textheight
\endgroup\stepcounter{page}\let\firstmark\botmark}
 
%%%
%%% End Modification --- PAO 5/27/92 16:10:48
%%%

\hoffset=5pc
 
%% Glenn Kramer: the indexing macros do not belong here, so I am
%% putting them in another file: mitpress-index.sty

%\input{mitpress-index.sty}
