% FIXUP DOCUMENT STYLE OPTION
% for LaTeX Version 2.09 <25 Jan 1988>
% by John Hobby
%
% If the fleqn style option is also used, it should precede this one.
\hyphenation{bi-dif-fer-en-tial buzz-word data-path equi-vari-ant gauss-ian
hexa-dec-i-mal le-gendre mass-a-chu-setts non-smooth
qua-si-smooth stand-alone time-stamp wave-guide white-space}
% Fix Plain's \bigl, \Bigl, etc. macros so that they try to scale with
% LaTeX size changes. This uses the fact that \@setsize sets \ht\strutbox
% to be 70% of the normal unstretched baselineskip.
\def\big#1{{\hbox{$\left#1\vcenter to1.428\ht\strutbox{}\right.\n@space$}}}
\def\Big#1{{\hbox{$\left#1\vcenter to2.142\ht\strutbox{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vcenter to2.857\ht\strutbox{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vcenter to3.571\ht\strutbox{}\right.\n@space$}}}
% Fix \sbox and \mbox so that they do not take the box contents as a parameter.
% This makes environments that depend on catcode changes work inside
\def\sbox#1{\setbox#1\hbox}
\def\mbox{\leavevmode\hbox}
% Apply \addpenalty's trick for not confusing \addvspace so that the \write
% from \addtocontents or \addcontentsline will not mess up vertical spacing
\def\addvstuff#1{%
\ifvmode\ifdim\lastskip=\z@ #1%
\else \@tempskipb\lastskip
\vskip -\lastskip #1\vskip\@tempskipb
\fi
\else #1\fi}
\def\addpenalty#1{\ifvmode
\if@minipage\else\if@nobreak\else
\addvstuff{\penalty#1}%
\fi\fi
\else\@noitemerr\fi}
\long\def\addtocontents#1#2{%
\if@filesw \begingroup
\let\label\@gobble \let\index\@gobble
\def\protect##1{\string\string\string##1\string\space\space}%
\edef\@tempa{\write \@auxout {\string\@writefile{#1}{#2}}}%
\addvstuff{\@tempa \if@nobreak \ifvmode\nobreak\fi\fi}%
\endgroup\fi}
\def\addcontentsline#1#2#3{%
\if@filesw \begingroup
\let\label\@gobble \let\index\@gobble
\def\protect##1{\string\string\string##1\string\space\space}%
\@temptokena{\thepage}%
\edef\@tempa{\write \@auxout{\string\@writefile{#1}%
{\protect\contentsline{#2}{#3}{\the\@temptokena}}}}%
\addvstuff{\@tempa \if@nobreak \ifvmode\nobreak\fi\fi}%
\endgroup\fi}
% Make floats use the trick from the minipage environment to avoid extraneous
% space at the top. e.g., "\begin{figure} \begin{center}..."
\def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else
\@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner
\@parmoderr\@floatpenalty\z@
\else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname
\multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n
\@tfor \@tempa :=#2\do
{\if\@tempa h\advance\@tempcnta \@ne\fi
\if\@tempa t\advance\@tempcnta \tw@\fi
\if\@tempa b\advance\@tempcnta 4\relax\fi
\if\@tempa p\advance\@tempcnta 8\relax\fi
}\global\count\@currbox\@tempcnta}\@fltovf\fi
\global\setbox\@currbox\vbox\bgroup
\hsize\columnwidth \@parboxrestore
\@minipagetrue
\everypar{\global\@minipagefalse\everypar{}}}
% We now redefine the eqnarray environment to correct the space around
% the operator. Since the fleqn document style option also redefines
% this environment, we carefully check the previous definition before
% making any changes. Any changes to the definition in LaTeX itself
% or in the fleqn document style option will cause the `Warning: unable...'
% message to appear. If this happens it will be necessary to update the
% definitions of \@tempa and \@tempb below and incorperate the changes into
% the new definitions of \eqnarray.
% This is the current definition of \eqnarray for the fleqn document style
% option:
\def\@tempa{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
\belowdisplayskip\abovedisplayskip
\belowdisplayshortskip\abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
$$\halign to
\linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@
{##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil
&\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil
\tabskip\@centering&\llap{##}\tabskip\z@\cr}
% Here is the corresponding defintion from latex.tex:
\def\@tempb{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
$\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
\hskip 2\arraycolsep \hfil${##}$\hfil
&\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
\tabskip\@centering&\llap{##}\tabskip\z@\cr}
\ifx\eqnarray\@tempa % If the fleqn document style option is in effect
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
\belowdisplayskip\abovedisplayskip
\belowdisplayshortskip\abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
$$\halign to \linewidth\bgroup\hfil
$\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
\hfil$\displaystyle{{}##{}}$\hfil
&\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
\tabskip\@centering&\llap{##}\tabskip\z@\cr}
\else\ifx\eqnarray\@tempb % Else try the default eqnarray environment
\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\hfil
$\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
\hfil$\displaystyle{{}##{}}$\hfil
&\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
\tabskip\@centering&\llap{##}\tabskip\z@\cr}
\else \typeout{Warning: Unable to fix unknown version of \string\enarray.}
\fi\fi
\def\@tempa{} % Free up TeX's memory
\def\@tempb{}