%  ********************************************
%  * Universtity of Stuttgart Universal Style *
%  ********************************************
%  *            USUS DOCUMENT STYLE           *
%  *      R.Harscheidt, IKE/UNI Stuttgart     *
%  ********************************************
%
%  All macros like in the usplain format. This
%  file can also be used to make this format
%  by INITEX. In the loading INITEX-file the
%  definition "\def\initex{INITEX}" should be
%  included.
%
\makeatletter   % make at a letter

%  ****************************************
%  *                BANNER                *
%  ****************************************
%
\def\@usname    {USUS - University of Stuttgart Universal Style }
\def\@usdate    {14. July 1988}
\def\@usversion {RUS1.0}
\everyjob{\typeout{\@usname \@usversion\space- Released \@usdate}}
\immediate\write10{\@usname \@usversion\space- Released \@usdate}

%%%%% The following comes from usgerman.sty %%%%%%%%%%%%

%  *****************************************
%  *                HEADERS                *
%  *****************************************
%
\gdef\@headabstract {\"Ubersicht}
\gdef\@headpreface  {Vorwort}
\gdef\@headappendix {Anhang}
\gdef\@headpart     {Teil}
\gdef\@headchapter  {}
\gdef\@headtoc      {Inhalt}
\gdef\@headloa      {Abk\"urzungen}
\gdef\@headlof      {Abbildungen}
\gdef\@headlos      {Formelzeichen}
\gdef\@headlot      {Tabellen}
\gdef\@headglo      {Erkl\"arungen}
\gdef\@headidx      {Index}
\gdef\@headbib      {Literatur}

%  *****************************************
%  *                CAPTIONS               *
%  *****************************************
%
\gdef\@capfigure    {Abbildung}
\gdef\@captable     {Tabelle}

%  *****************************************
%  *                  DATE                 *
%  *****************************************
%
\gdef\monthname{
     \ifcase\month\or
        Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
        Juli\or August\or September\or Oktober\or November\or Dezember
     \fi}
\gdef\thismonth{\monthname\space\number\year}
\gdef\today{\number\day.\thismonth}

%%%%% Here the original ususall.sty goes on %%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This was made from:
%
% BOOK DOCUMENT STYLE -- Released 23 September 1985
%    for LaTeX version 2.09
% Copyright (C) 1985 by Leslie Lamport
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%  ****************************************
%  *          TWO-COLUMN OPTION           *
%  ****************************************
%
% \@twocolumnfalse              % Default is one column.
\def\ds@twocolumn{              % Defines two column option.
    \@twocolumntrue}

%  ****************************************
%  *           TWO-SIDE OPTION            *
%  ****************************************
%
% \twosidefalse                 % Default is single sided.
\def\ds@twoside{                % Defines twoside option.
    \@twosidetrue
    \@mparswitchtrue}           % Marginpars go on outside of page.

%  ****************************************
%  *             DRAFT OPTION             *
%  ****************************************
%
% \overfullrule = 0em           % Default is don't mark overfull hboxes.
\def\ds@draft{                  % Causes overfull hboxes to be marked.
    \overfullrule .5em}

%  ****************************************
%  *                FONTS                 *
%  ****************************************
%
\lineskip       .1em      % \lineskip is 0.1em for all font sizes.
\normallineskip .1em
\def\baselinestretch{1}   % 1=1-zeilig, 1.33=1.5-zeilig, 1.66=2-zeilig

%  The font size option is handled by reading a different file for each
%  size, as follows, to define font size-specific commands:
%       10pt : US10, 11pt : US11, 12pt : US12
%  Implemented by \def'ing \@fontload to the nesessary input command.
%
%  in 10pt type size : 1em = 10pt
%  in 11pt type size : 1em = 11pt
%  in 12pt type size : 1em = 12pt
%
\def\definefont#1{%
    \def\@ptsize{#1}                    % define ptsize used by some macros
    \def\@fontload{%
        \input us1\@ptsize.sty          % input fontfile
        \let\@fontload\relax}}          % load only once

\definefont{2}                          % 12pt is default
\@namedef{ds@12pt}{}                    % 12pt option does nothing
\@namedef{ds@11pt}{\definefont{1}}      % 11pt option loads us11.sty
\@namedef{ds@10pt}{\definefont{0}}      % 10pt option loads us10.sty

% The sans serif option must be set before the optionfiles are loaded. Some of
% these files use the \@fontstyle.
%
\def\@fontstyle{}                       % default is roman
\@namedef{ds@sf}{\let\@fontstyle\sf}    % sf option  sans serif

%  ****************************************
%  *            LOAD OPTIONFILES          *
%  ****************************************
%
% The \@options command causes the execution of every command \ds@FOO
% which is defined and for which the user typed the FOO option in his
% \documentstyle command.  For every option BAR he typed for which
% \ds@BAR is not defined, the file BAR.sty will be read after the present
% (main) .STY file is executed.
%
\def\@options{\let\@elt\relax
    \@for\@tempa:=\@optionlist\do
        {\@ifundefined{ds@\@tempa}                          % option command ?
             {\xdef\@optionfiles{\@optionfiles              % load option file
              \catcode`@=11\@elt\@tempa.sty\relax}}
             {\csname ds@\@tempa\endcsname}}}               % execute command

\ifx \initex \undefined                 % do not load option- and fontfiles
     \@options                          % when this is used to make a format.
     \relax                             % that must then be done by 'usus.sty'
\fi

\@fontload                              % load default fontsize
%\input logos.sty                        % logo makros
%\input quotes.sty                       % quote makros
%
%  ****************************************
%  *            PAGE LAYOUT               *
%  ****************************************
%
% All margin dimensions measured from a point one inch from top and side
% of page.
% SIDE MARGINS:
%
\if@twoside
   \oddsidemargin     5mm % rh  % Left margin on odd-numbered pages.
   \evensidemargin   -5mm % rh  % Left margin on even-numbered pages.
\else
   \oddsidemargin     5mm % rh  % Left margin on odd-numbered pages.
   \evensidemargin    5mm % rh  % Left margin on even-numbered pages.
\fi

% VERTICAL SPACING:
%                               % Top of page:
\topmargin           -5mm % rh  %   Nominal distance from top of page to
                                %   top of box containing running head.
\headheight           5mm % rh  %   Height of box containing running head.
\headsep             10mm % rh  %   Space between running head and text.
\topskip              4mm % rh  %   '\baselineskip' for first line of page.
                                % Bottom of page:
\footheight           5mm % rh  %   Height of box containing running foot.
\footskip            10mm % rh  %   Distance from baseline of box containing
                                %   foot to baseline of last line of text.
% DIMENSION OF TEXT:
%
\textheight         225mm % rh  % Height of text (including footnotes and
                                % figures, excluding running head and foot).
\textwidth          150mm % rh  % Width of text line.
                                % For two-column mode:
\columnsep            1em % rh  %    Space between columns
\columnseprule        0mm % rh  %    Width of rule between columns.

% A \raggedbottom command causes 'ragged bottom' pages: pages set to
% natural height instead of being stretched to exactly \textheight.
% FOOTNOTES:
%
\footnotesep          3mm % rh  % Height of strut placed at the beginning of
                                % every footnote = height of normal
                                % \footnotesize strut, so no extra space
                                % between footnotes.
\skip\footins 4mm plus .4em minus .2em    % Space between last line of text
                                          % text and top of first footnote.

%  ****************************************
%  *                FLOATS                *
%  ****************************************
%
% FLOATS: (a float is something like a figure or table)
%
%  FOR FLOATS ON A TEXT PAGE:
%
%    ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
%
\floatsep   1.2em plus .2em minus .2em  % Space between adjacent floats moved
                                        % to top or bottom of text page.
\intextsep  1.2em plus .2em minus .2em  % Space between in-text figures and
                                        % text.
\textfloatsep 2em plus .2em minus .4em  % Space between main text and floats
                                        % at top or bottom of page.
\@maxsep      2em                       % The maximum of \floatsep,
                                        % \textfloatsep and \intextsep (minus
                                        % the stretch and shrink).

%    TWO-COLUMN FLOATS IN TWO-COLUMN MODE:
%
\dblfloatsep   1.2em plus .2em minus .2em % Same as \floatsep for double-column
                                          % figures in two-column mode.
\dbltextfloatsep 2em plus .2em minus .4em % \textfloatsep for double-column
                                          % floats.
\@dblmaxsep      2em                      % The maximum of \dblfloatsep and
                                          % \dbltexfloatsep.

%  FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN:
%
%    ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
%
\@fptop  0em plus 1fil          % Stretch at top of float page/column.
                                % (Must be 0em plus ...)
\@fpbot  0em plus 1fil          % Stretch at bottom of float page/column.
                                % (Must be 0em plus ... )
\@fpsep .8em plus 2fil          % Space between floats on float page/column.

%   DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE.
%
\@dblfptop  0em plus 1fil       % Stretch at top of float page.
                                % (Must be 0em plus ...)
\@dblfpbot  0em plus 1fil       % Stretch at bottom of float page.
                                % (Must be 0em plus ...)
\@dblfpsep .8em plus 2fil       % Space between floats on float page.

% MARGINAL NOTES:
%
\marginparwidth      20mm % rh  % Width of marginal notes.
\marginparsep        .5em % rh  % Horizontal space between outer margin
                                % and marginal note
\marginparpush       .5em       % Minimum vertical separation between two
                                % marginal notes.

%  ****************************************
%  *           PARAGRAPHING               *
%  ****************************************
%
\parindent   0em                        % Width of paragraph indentation.
\parskip    .8em plus .2em minus .2em   % Extra vertical space between
                                        % paragraphs.
\topsep     .4em plus .2em minus .1em   % Extra vertical space, in addition to
                                        % \parskip, added above and below list
                                        % and paragraphing environments.
\partopsep  .2em plus .1em minus .1em   % Extra vertical space, in addition to
                                        % \parskip and \topsep, added when
                                        % user leaves blank line before the
                                        % environment.
\itemsep    .2em plus .1em minus .1em   % Extra vertical space, in addition to
                                        % \parskip, added between list items.
\newskip    \tocparskip
\tocparskip .4em plus .2em minus .1em   % Extra vertical space between lines
                                        % in the content tables

%  ****************************************
%  *              PENALTIES               *
%  ****************************************
%
% The following page-breaking penalties are defined
%
\@lowpenalty   51       % Produced by \nopagebreak[1] or \nolinebreak[1]
\@medpenalty  151       % Produced by \nopagebreak[2] or \nolinebreak[2]
\@highpenalty 301       % Produced by \nopagebreak[3] or \nolinebreak[3]
\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
\@endparpenalty   -\@lowpenalty % After a list or paragraph environment.
\@itempenalty     -\@lowpenalty % Between list items.
% \clubpenalty                  % 'Club line'  at bottom of page.
% \widowpenalty                 % 'Widow line' at top of page.
% \displaywidowpenalty          % Math display widow line.
% \predisplaypenalty            % Breaking before a math display.
% \postdisplaypenalty           % Breaking after a math display.
% \interlinepenalty             % Breaking at a line within a paragraph.
% \brokenpenalty                % Breaking after a hyphenated line.

%    ****************************************
%    *     PARTS, CHAPTERS AND SECTIONS     *
%    ****************************************
%
% \secdef{UNSTARCMDS}{STARCMDS} :
%    When defining a \chapter or \section command without using
%    \@startsection, you can use \secdef as follows:
%       \def\chapter { ... \secdef \CMDA \CMDB }
%       \def\CMDA    [#1]#2{ ... }  % Command to define \chapter[...]{...}
%       \def\CMDB    #1{ ... }      % Command to define \chapter*{...}
%
% The value of the counter secnumdepth gives the depth of the
% highest-level sectioning command that is to produce section numbers.
%
\setcounter{secnumdepth}{3}
\def\part{
    \cleardoublepage            % Starts new page.
    \thispagestyle{usplain}     % rh Page style of part page is 'usplain'
    \if@twocolumn               % IF two-column style THEN
       \onecolumn               %   \onecolumn
       \@tempswatrue            %   @tempswa := true
    \else                       % ELSE
       \@tempswafalse           %   @tempswa := false
    \fi                         % FI
    \hbox{} \vfil               % Add fil glue to center title
    \bgroup \centering          % BEGIN centering
    \secdef\@part\@spart}

\def\@part[#1]#2{
    \ifnum \c@secnumdepth >-2\relax     % IF secnumdepth > -2 THEN
       \refstepcounter{part}            %   step part counter
       \addcontentsline{toc}{part}      %   add toc numbered line
       {\protect\numberline{\thepart}{#1}}
       \LARGE\bf\@headpart\ \thepart    %   Print 'Part' and number
       \par                             %   in \LARGE bold.
       \vskip 2em                       %   Add space before title.
    \else                               % ELSE
       \addcontentsline{toc}{part}{#1}  %   add toc unnumbered line
    \fi                                 % FI
    \markboth{}{}
    \huge \bf #1\@endpart               % Print Title in \huge bold.
    \addtocontents{lof}{\protect\addvspace{4\parskip}}  % rh
    \addtocontents{lot}{\protect\addvspace{4\parskip}}} % rh

\def\@spart#1{
    \huge \bf #1\@endpart}              % Print title in \huge boldface

% \@endpart finishes the part page
%
\def\@endpart{
    \par\egroup                         % END centering
    \vfil\newpage                       % End page with 1fil glue.
    \if@twoside                         % IF twoside printing THEN
       \hbox{}                          %   Produce totally blank page
       \thispagestyle{empty}
       \newpage
    \fi                                 % FI
    \if@tempswa                         % IF @tempswa = true THEN
       \twocolumn                       %   \twocolumn
    \fi}                                % FI

\def\chapter{
    \cleardoublepage            % Starts new right-hand page.
    \thispagestyle{usplain}     % rh Page style of chapter page is 'usplain'
    \global\@topnum\z@          % Prevents figures from going at top of page.
    \@afterindentfalse          % Suppresses indent in first paragraph.
    \secdef\@chapter\@schapter} % Change to \@afterindenttrue to have indent.

\def\@chapter[#1]#2{
    \ifnum \c@secnumdepth >\m@ne                % IF secnumdepth > -2 THEN
       \refstepcounter{chapter}                 %   step chapter counter
       \typeout{\@chapapp\space\thechapter.}    %
       \addcontentsline{toc}{chapter}           %   add toc numbered line
       {\protect\numberline{\thechapter}{#1}}
    \else                                       % ELSE
      \addcontentsline{toc}{chapter}{#1}        %   add toc unnumbered line
    \fi                                         % FI
    \chaptermark{#1}
    \if@twocolumn                               % Tests for two-column mode.
       \@topnewpage[\@makechapterhead{#2}]
    \else
       \@makechapterhead{#2}
       \@afterheading                           % Routine called after
                                                % chapter and section
                                                % heading.
    \fi
    \addtocontents{lof}{\protect\addvspace{2\parskip}} % Adds between-chapter
    \addtocontents{lot}{\protect\addvspace{2\parskip}}}% space to lists of
                                                       % figs & tables.

\def\@schapter#1{
    \if@twocolumn
       \@topnewpage[\@makeschapterhead{#1}]
    \else
       \@makeschapterhead{#1}
       \@afterheading
    \fi}

% \@makechapterhead {TEXT} : Makes the heading for the \chapter command.
%
\def\@makechapterhead#1{                % Heading for \chapter command
    \vspace{40pt}
    { \Large \bf
      \parindent  \z@
      \hangindent \@pnumwidth
      \makebox[\hangindent][l]{\thechapter}#1\par}
    \nobreak
    \vspace{25pt}}

% \@makeschapterhead {TEXT} : Makes the heading for the \chapter* command.
%
\def\@makeschapterhead#1{               % Heading for \chapter* command
    \vspace{40pt}
    { \Large \bf
      \parindent  \z@
      #1\par}
    \nobreak
    \vspace{25pt}}

% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
%            optional * [ALTHEADING]{HEADING}
%    Generic command to start a section.
%    NAME       : e.g., 'subsection'
%    LEVEL      : a number, denoting depth of section -- e.g., chapter=1,
%                 section = 2, etc.  A section number will be printed if
%                 and only if LEVEL < or = the value of the secnumdepth
%                 counter.
%    INDENT     : Indentation of heading from left margin
%    BEFORESKIP : Absolute value = skip to leave above the heading.
%                 If negative, then paragraph indent of text following
%                 heading is suppressed.
%    AFTERSKIP  : if positive, then skip to leave below heading,
%                       else - skip to leave to right of run-in heading.
%    STYLE      : commands to set style
%  If '*' missing, then increments the counter.  If it is present, then
%  there should be no [ALTHEADING] argument.  A sectioning command
%  is normally defined to \@startsection + its first six arguments.
%
\def\section{\@startsection {section}{1}{\z@}
    {-3.5ex plus -1ex minus  -.2ex}
    {2.3ex plus .2ex}{\large\bf}}
\def\subsection{\@startsection {subsection}{2}{\z@}
    {-3.25ex plus -1ex minus -.2ex}
    {1.5ex plus .2ex}{\normalsize\bf}}
\def\subsubsection{\@startsection {subsubsection}{3}{\z@}
    {-3.25ex plus -1ex minus -.2ex}
    {1.5ex plus .2ex}{\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}}

% Default initializations of \...mark commands.  (See below for their
% use in defining page styles.
%
\def\chaptermark#1{}
% \def\sectionmark#1{}           % Preloaded definitions
% \def\subsectionmark#1{}
% \def\subsubsectionmark#1{}
% \def\paragraphmark#1{}
% \def\subparagraphmark#1{}

%    ****************************************
%    *          DOCUMENT-SECTIONS           *
%    ****************************************
%
% FRONT % rh
%
% The \front command must do the following:
%    -- begin a new page
%    -- set \@chapapp empty (for messages)
%    -- set the page counter to one
%    -- reset the chapter counter to zero
%    -- reset the section counter to zero
%    -- redefine the page counter to produce roman numbers
%
\def\front{
    \clearpage
    \def\@chapapp{}
    \setcounter{page}{1}
    \setcounter{chapter}{0}
    \setcounter{section}{0}
    \setcounter{footnote}{0}
    \def\thepage{\Roman{page}}}

% BODY % rh
%
% The \body command must do the following:
%    -- begin a new page
%    -- set \@chapapp empty (for messages)
%    -- reset the page counter to one
%    -- reset the chapter counter to zero
%    -- reset the section counter to zero
%    -- redefine the page counter to produce arabic numbers
%    -- redefine the chapter counter to produce arabic numbers
%
\def\body{
    \clearpage
    \def\@chapapp{\@headchapter}
    \setcounter{page}{1}
    \setcounter{chapter}{0}
    \setcounter{section}{0}
    \def\thepage{\arabic{page}}
    \def\thechapter{\arabic{chapter}}}

% APPENDIX
%
% The \appendix command must do the following:
%    -- begin a new unnumbered part
%    -- set \@chapapp to Appendix (for messages)
%    -- reset the chapter counter to zero
%    -- redefine the chapter counter to produce appendix numbers
%    -- reset the section counter to zero
%
\def\appendix{
    \part*{\@headappendix}
    \def\@chapapp{\@headappendix}
    \setcounter{chapter}{0}
    \setcounter{section}{0}
    \def\thechapter{\Alph{chapter}}
    \addtocontents{toc}{\protect\addvspace{4\parskip}}}
    \addtocontents{lof}{\protect\addvspace{4\parskip}}
    \addtocontents{lot}{\protect\addvspace{4\parskip}}

%    ****************************************
%    * PART, CHAPTER AND SECTION NUMBERING  *
%    ****************************************
%
% DEFINE COUNTERS:
%
% \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is
%                               reset to zero when counter OLDCTR is stepped.
%                               Counter OLDCTR must already be defined.
%
\newcounter {part}
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]

% For any counter CTR, \theCTR is a macro that defines the printed version
% of counter CTR.  It is defined in terms of the following macros:
%
%  \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral.
%  \roman{COUNTER}  : Its value printed as a lower-case roman numberal.
%  \Roman{COUNTER}  : Its value printed as an upper-case roman numberal.
%  \alph{COUNTER}   : Value of COUNTER printed as a lower-case letter:
%                         1 = a, 2 = b, etc.
%  \Alph{COUNTER}   : Value of COUNTER printed as an upper-case letter:
%                           1 = A, 2 = B, etc.
%
\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}}

% \@chapapp is initially defined to be 'Chapter'.  The \appendix
% command redefines it to be 'Appendix'.
%
\def\@chapapp{\@headchapter}

%    ****************************************
%    *         TABLE OF CONTENTS, ETC.      *
%    ****************************************
%
% A \subsection command writes a
%       \contentsline{subsection}{TITLE}{PAGE}
% command on the .toc file, where TITLE contains the contents of the
% entry and PAGE is the page number.  If subsections are being numbered,
% then TITLE will be of the form
%       \numberline{NUM}{HEADING}
% where NUM is the number produced by \thesubsection.  Other sectioning
% commands work similarly.
%
% A \caption command in a 'figure' environment writes
%    \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE}
% on the .lof file, where NUM is the number produced by \thefigure and
% CAPTION is the figure caption.  It works similarly for a 'table' environment.
%
% The command \contentsline{NAME} expands to \l@NAME.  So, to specify
% the table of contents, we must define \l@chapter, \l@section,
% \l@subsection, ... ; to specify the list of figures, we must define
% \l@figure; and so on.  Most of these can be defined with the
% \@dottedtocline command, which works as follows.
%
% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
%    LEVEL    : An entry is produced only if LEVEL < or = value of
%               'tocdepth' counter.  Note, \chapter is level 0, \section
%               is level 1, etc.
%    INDENT   : The indentation from the outer left margin of the start of
%               the contents line.
%    NUMWIDTH : The width of a box in which the section number is to go,
%               if TITLE includes a \numberline command.
%
% This command uses the following three parameters, which are set
% with a \def (so em's can be used to make them depend upon the font).
%   \@pnumwidth : The width of a box in which the page number is put.
%   \@tocrmarg  : The right margin for multiple line entries.  One
%                 wants \@tocrmarg > or = \@pnumwidth
%   \@dotsep    : Separation between dots, in mu units.  Should be \def'd to
%                 a number like 2 or 1.7
%
% TABLEOFCONTENTS
%  In report style, \tableofcontents, \listoffigures, etc. are always
%  set in single-column style.  @restonecol
%
\def\tableofcontents{
    \@restonecolfalse
    \if@twocolumn
       \@restonecoltrue
       \onecolumn
    \fi
    \chapter*{\@headtoc
    \@mkboth{\uppercase{\@headtoc}}
            {\uppercase{\@headtoc}}}
    {\parskip \tocparskip \@starttoc{toc}}
    \if@restonecol
       \twocolumn
    \fi}

%    ****************************************
%    *       TABLE OF CONTENTS ENTRIES      *
%    ****************************************
%
\setcounter{tocdepth}{3}
\def\@dotsep         {4.5}
\def\@tocrmarg       {2.55em}
\def\@pnumwidth      {1.55em}

\def\l@part#1#2{
    \addpenalty{-\@highpenalty}
    \addvspace{4\parskip}
    \begingroup
       { \large\bf
         \parindent    \z@
         \@tempdima    \@pnumwidth
         \rightskip    \@tocrmarg
         \parfillskip -\@tocrmarg
         \leavevmode #1\hfill#2\par}
       \nobreak
    \endgroup}

\def\l@chapter#1#2{
    \pagebreak [3]
    \addvspace{2\parskip}
    \begingroup
       { \bf
         \parindent    \z@
         \@tempdima    \@pnumwidth
         \rightskip    \@tocrmarg
         \parfillskip -\@tocrmarg
         \leavevmode #1\hfill#2\par}
    \endgroup}

\def\l@section       {\@dottedtocline{1} {\@pnumwidth} {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}}

%    ****************************************
%    *           LIST OF FIGURES            *
%    ****************************************
%
\def\listoffigures{
    \@restonecolfalse
    \if@twocolumn
       \@restonecoltrue
       \onecolumn
    \fi
    \chapter*{\@headlof
    \@mkboth{\uppercase{\@headlof}}
            {\uppercase{\@headlof}}}
    {\parskip \tocparskip \@starttoc{lof}}
    \if@restonecol
       \twocolumn
    \fi}
\def\l@figure{\@dottedtocline{1}{\@pnumwidth}{2.3em}}

%    ****************************************
%    *             LIST OF TABLES           *
%    ****************************************
%
\def\listoftables{
    \@restonecolfalse
    \if@twocolumn
       \@restonecoltrue
       \onecolumn
    \fi
    \chapter*{\@headlot
    \@mkboth{\uppercase{\@headlot}}
            {\uppercase{\@headlot}}}
    {\parskip \tocparskip \@starttoc{lot}}
    \if@restonecol
       \twocolumn
    \fi}
\let\l@table\l@figure

%    ****************************************
%    *         LIST OF ABBREVIATIONS        *
%    ****************************************
%
\def\listofabbrev{\@ifnextchar[{\@listofabbrev}{\@listofabbrev[MMMM]}}
\def\@listofabbrev[#1]{
    \@restonecolfalse
    \if@twocolumn
       \@restonecoltrue
       \onecolumn
    \fi
    \chapter*{\@headloa
    \@mkboth{\uppercase{\@headloa}}
            {\uppercase{\@headloa}}}
    \begin{list}{}{
           \labelsep 1em
           \settowidth\labelwidth{#1}
           \leftmargin\labelwidth
           \advance\leftmargin\labelsep}
       {\parskip \tocparskip \@starttoc{loa}}
       \item [~] ~ % Dummy
    \end{list}
    \if@restonecol \twocolumn \fi}
\def\abbrev#1#2{\addtocontents{loa}{\protect{\item [#1] #2 }}}

\let\listofshortcuts=\listofabbrev
\let\shortcut       =\abbrev

%    ****************************************
%    *            LIST OF SYMBOLS           *
%    ****************************************
%
\def\listofsymbols{\@ifnextchar[{\@listofsymbols}{\@listofsymbols[MMMM]}}
\def\@listofsymbols[#1]{
    \@restonecolfalse
    \if@twocolumn
       \@restonecoltrue
        \onecolumn
    \fi
    \chapter*{\@headlos
    \@mkboth{\uppercase{\@headlos}}
            {\uppercase{\@headlos}}}
    \begin{list}{}{
           \settowidth\labelwidth{#1}
           \labelsep 1em
           \leftmargin\labelwidth
           \advance\leftmargin\labelsep}
       {\parskip \tocparskip \@starttoc{los}}
       \item [~] ~ % Dummy
    \end{list}
    \if@restonecol \twocolumn \fi}
\def\symbol#1#2{\addtocontents{los}{\protect{\item [#1] #2 }}}

%    ****************************************
%    *                ABSTRACT              *
%    ****************************************
%
\def\abstract{\@ifnextchar[{\@abstract}{\@abstract[d]}}
\def\@abstract[#1]{\def\temp{#1}
    \if \temp d \chapter*{\@headabstract                        % default
                \@mkboth{\uppercase{\@headabstract}}
                        {\uppercase{\@headabstract}}} \fi
    \if \temp g \chapter*{Zusammenfassung                       % german
                \@mkboth{ZUSAMMENFASSUNG}
                        {ZUSAMMENFASSUNG}} \fi
    \if \temp e \chapter*{Abstract                              % english
                \@mkboth{ABSTRACT}
                        {ABSTRACT}} \fi}
\def\endabstract{}

%    ****************************************
%    *               PREFACE                *
%    ****************************************
%
\def\preface{\chapter*{\@headpreface
             \@mkboth{\uppercase{\@headpreface}}
                     {\uppercase{\@headpreface}}}}
\def\endpreface{}

%    ****************************************
%    *             BIBLIOGRAPHY             *
%    ****************************************
%
% The thebibliography environment executes the following commands:
%
%  \def\newblock{\hskip .11em plus .33em minus -.07em} --
%      Defines the `closed' format, where the blocks (major units of
%      information) of an entry run together.
%
%  \sloppy  -- Used because it's rather hard to do line breaks in
%      bibliographies,
%
%  \sfcode`\.=1000\relax --
%      Causes a `.' (period) not toproduce an end-of-sentence space.
%
\def\thebibliography#1{
    \chapter*{\@headbib
    \@mkboth{\uppercase{\@headbib}}
            {\uppercase{\@headbib}}}
    \def\newblock{\hskip .11em plus .33em minus -.07em}
    \sfcode`\.=1000\relax
    \sloppy
    \list{[\arabic{enumi}]}{
          \settowidth\labelwidth{[#1]}
          \labelsep 1em
          \leftmargin\labelwidth
          \advance\leftmargin\labelsep
          \usecounter{enumi}}}
\let\endthebibliography=\endlist

% \def\@biblabel#1{[#1]\hfill}  % Produces the label for a \bibitem[...]
                                % command.
% \def\@cite#1{[#1]}            % Produces the output of the \cite command.

%    ****************************************
%    *              THE INDEX               *
%    ****************************************
%
% THE THEINDEX ENVIRONMENT
% Produces double column format, with each paragraph a separate entry.
% The user commands \item, \subitem and \subsubitem are used to
% produce the entries, and \indexspace adds an extra vertical space
% that's the right size to put above the first entry with a new letter
% of the alphabet.
%
\newif\if@restonecol
\def\theindex{
    \@restonecoltrue
    \if@twocolumn
       \@restonecolfalse
    \fi
    \columnseprule \z@
    \columnsep 3.5em
    \twocolumn
    \chapter{\@headidx
    \@mkboth{\uppercase{\@headidx}}
            {\uppercase{\@headidx}}}
    \thispagestyle{usplain} % rh
    \parindent\z@
    \parskip \z@ plus .03em
    \relax
    \let\item\@idxitem}

\def\endtheindex{
    \if@restonecol
       \onecolumn
    \else
       \clearpage
    \fi}

\def\@idxitem{\par\hangindent 4em}
\def\subitem{\par\hangindent 4em \hspace*{2em}}
\def\subsubitem{\par\hangindent 4em \hspace*{3em}}
\def\indexspace{\par \vskip 1em plus .5em minus .3em\relax}

%    ****************************************
%    *                LISTS                 *
%    ****************************************
%
% The following commands are used to set the default values for the list
% environment's parameters. See the LaTeX manual for an explanation of
% the meanings of the parameters.  Defaults for the list environment are
% set as follows.  First, \rightmargin, \listparindent and \itemindent
% are set to 0pt.  Then, for a Kth level list, the command \@listK is
% called, where 'K' denotes 'i', 'ii', ... , 'vi'.  (I.e., \@listiii is
% called for a third-level list.)  By convention, \@listK should set
% \leftmargin to \leftmarginK.
%
% For efficiency, level-one list's values are defined at top level, and
% \@listi is defined to set only \leftmargin.
% In two-column format the indentations for level i, v and vi are smaller
% than in one-column format.
%
\if@twocolumn
   \leftmargini      2em
   \leftmarginii   2.2em   % > \labelsep + width of '(m)'
   \leftmarginiii  1.87em  % > \labelsep + width of 'vii.'
   \leftmarginiv   1.7em   % > \labelsep + width of 'M.'
   \leftmarginv    0.5em
   \leftmarginvi   0.5em
\else
   \leftmargini    2.5em
   \leftmarginii   2.2em   % > \labelsep + width of '(m)'
   \leftmarginiii  1.87em  % > \labelsep + width of 'vii.'
   \leftmarginiv   1.7em   % > \labelsep + width of 'M.'
   \leftmarginv    1.0em
   \leftmarginvi   1.0em
\fi

\leftmargin\leftmargini
\labelwidth\leftmargini\advance\labelwidth-\labelsep
\labelsep .5em
\parsep .4em plus .2em minus .1em

\def\@listi{\leftmargin\leftmargini}
\def\@listii{\leftmargin\leftmarginii
    \labelwidth\leftmarginii
    \advance\labelwidth-\labelsep
    \topsep .4em plus .2em minus .1em
    \parsep .2em plus .1em minus .1em
    \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
    \labelwidth\leftmarginiii
    \advance\labelwidth-\labelsep
    \topsep .2em plus .1em minus .1em
    \parsep \z@
    \partopsep .1em plus 0em minus .1em
    \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}

%    ****************************************
%    *           LIST ENVIRONMENTS          *
%    ****************************************
%
% ENUMERATE
%  Enumeration is done with four counters: enumi, enumii, enumiii
%  and enumiv, where enumN controls the numbering of the Nth level
%  enumeration.  The label is generated by the commands \labelenumi
%  ... \labelenumiv.  The expansion of \p@enumN\theenumN defines the
%  output of a \ref command.
%
\def\theenumi     {\arabic{enumi}}
\def\theenumii    {\alph{enumii}}
\def\theenumiii   {\roman{enumiii}}
\def\theenumiv    {\Alph{enumiv}}
\def\labelenumi   {\theenumi.}          % rh {\arabic{enumi}.}
\def\labelenumii  {(\theenumii)}        % rh {(\alph{enumii})}
\def\labelenumiii {\theenumiii.}        % rh {\roman{enumiii}.}
\def\labelenumiv  {\theenumiv.}         % rh {\Alph{enumiv}.}
\def\p@enumii     {\theenumi}
\def\p@enumiii    {\theenumi(\theenumii)}
\def\p@enumiv     {\p@enumiii\theenumiii}

% ITEMIZE
% Itemization is controlled by four commands: \labelitemi, \labelitemii,
% \labelitemiii, and \labelitemiv, which define the labels of the various
% itemization levels.
%
\def\labelitemi   {$\bullet$}
\def\labelitemii  {\bf --}
\def\labelitemiii {$\circ$}
\def\labelitemiv  {$\cdot$}

% VERSE
%   The verse environment is defined by making clever use of the
%   list environment's parameters.  The user types \\ to end a line.
%   This is implemented by \let'in \\ equal \@centercr.
%
\def\verse{
    \let\\=\@centercr
    \list{}{\itemsep       \z@
            \itemindent    -1.5em
            \listparindent \itemindent
            \rightmargin   \leftmargin
            \advance\leftmargin 1.5em}
    \item[]}
\let\endverse\endlist

% QUOTATION
%   Fills lines
%   Indents paragraph
%
\def\quotation{
    \list{}{\itemindent    1.5em
            \listparindent \itemindent
            \rightmargin   \leftmargin
            \parsep 0em plus .1em}
    \item[]}
\let\endquotation=\endlist

% QUOTE -- same as quotation except no paragraph indentation,
%
\def\quote{
    \list{}{\rightmargin\leftmargin}
    \item[]}
\let\endquote=\endlist

% DESCRIPTION
%
%  To change the formatting of the label, you must redefine
%  \descriptionlabel.
%
\def\descriptionlabel#1{\hspace\labelsep \bf #1}
\def\description{
    \list{}{\labelwidth    \z@
            \itemindent   -\leftmargin
            \let\makelabel \descriptionlabel}}
\let\enddescription\endlist
\newdimen\descriptionmargin
\descriptionmargin=3em


% DEFLIST
%
%\def\deflabel#1{\bf #1\hfill}
\def\deflabel#1{#1\hfill}
\def\deflist#1{
%    \list{}{\settowidth{\labelwidth}{\bf #1}
    \list{}{\settowidth{\labelwidth}{#1}
            \setlength{\leftmargin}{\labelwidth}
            \addtolength{\leftmargin}{\labelsep}
            \let\makelabel \deflabel}}
\let\enddeflist\endlist

%    ****************************************
%    *         OTHER ENVIRONMENTS           *
%    ****************************************
%
% THEOREM
%
% \@begintheorem ... \@endtheorem are the commands executed at the
% beginning and end of a (user-defined) theorem-like environment.
% Except \@opargbegintheorem is executed when an optional argument is
% given.  Cf. LATEX.TEX.
%
% \def\@begintheorem#1#2{
%     \it \trivlist \item[\hskip \labelsep{\bf #1\ #2}]}
% \def\@opargbegintheorem#1#2#3{
%     \it \trivlist \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]}
% \def\@endtheorem{\endtrivlist}
% TITLEPAGE
%  In the normal environments, the titlepage environment does nothing but
%  start and end a page, and inhibit page numbers.  It also resets the
%  page number to zero.  In two-column style, it still makes a one-column
%  page.
%
\def\titlepage{
    \if@twocolumn
       \@restonecoltrue
       \onecolumn
    \else
       \@restonecolfalse
       \newpage
    \fi
    \thispagestyle{empty}
    \c@page\z@}

\def\endtitlepage{
    \if@restonecol
       \twocolumn
    \else
       \newpage
    \fi}

% ARRAY AND TABULAR
%
\arraycolsep    .5em  % Half the space between columns in array environment.
\tabcolsep      .6em  % Half the space between columns in tabular environment.
\arrayrulewidth .04em % Width of rules in array and tabular environment.
\doublerulesep  .2em  % Space between adjacent rules in array or tabular env.

% TABBING
%
\tabbingsep\labelsep % Space used by the \' command.  (See LaTeX manual.)

% MINIPAGE
%  \@minipagerestore is called upon entry to a minipage environment to
%  set up things that are to be handled differently inside a minipage
%  environment. In the current styles, it does nothing.
%
% \skip\@mpfootins : plays same role for footnotes in a minipage as
%                    \skip\footins does for ordinary footnotes
%
\skip\@mpfootins = \skip\footins

% FRAMEBOX
%
\fboxsep    .3em  % Space left between box and text by \fbox and \framebox.
\fboxrule   .04em % Width of rules in box made by \fbox and \framebox.

%    ****************************************
%    *             FOOTNOTES                *
%    ****************************************
%
% \footnoterule is a macro to draw the rule separating the footnotes from
% the text.  It should take zero vertical space, so it needs a negative
% skip to compensate for any positive space taken by the rule.  (See
% PLAIN.TEX.)
%
\def\footnoterule{
    \kern-3\p@
    \hrule width .4\columnwidth
    \kern 2.6\p@}               % The \hrule has default height of .04em .

% \newcounter{footnote}
\@addtoreset{footnote}{chapter}  % Numbers footnotes within chapters
%   \@makefntext{NOTE} :
%        Must produce the actual footnote, using \@thefnmark as the mark
%        of the footnote and NOTE as the text.  It is called when effectively
%        inside a \parbox of width \columnwidth (i.e., with \hsize =
%        \columnwidth).
%
%        The following macro indents all lines of the footnote by 1em, and
%        indents the first line of a new paragraph by 1em.  To change these
%        dimensions, just substitute the desired value for '10pt' [in both
%        places] or '1em'.  The mark is flushright against the footnote.
%          \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize
%             \advance\@tempdima-10pt\parshape \@ne 1em \@tempdima}\par
%             \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1}
%
%        A simpler macro is used, in which the footnote text is
%        set like an ordinary text paragraph, with no indentation except
%        on the first line of a paragraph, and the first line of the
%        footnote.  Thus, all the macro must do is set \parindent
%        to the appropriate value for succeeding paragraphs and put the
%        proper indentation before mark.
\long\def\@makefntext#1{
     \parindent    0em
     \hangindent 1.8em
     \makebox[\hangindent][r]{$^{\@thefnmark}$}#1}
% \@makefnmark : A macro to generate the footnote marker that goes
%    in the text.  Default used.
%

%    ****************************************
%    *         FIGURES AND TABLES           *
%    ****************************************
%
% Float placement parameters.  See LaTeX manual for their definition.
%
%****
%\setcounter{topnumber}    {2}
\setcounter{topnumber}     {1}
%***
%\setcounter{bottomnumber} {1}
\setcounter{bottomnumber}  {2}
%***
\setcounter{totalnumber}  {3}
%***
\setcounter{dbltopnumber} {2}
%***
%\def\topfraction          {.7}
\def\topfraction          {.8}
%***
%\def\bottomfraction       {.3}
\def\bottomfraction       {.8}
%***
%\def\textfraction         {.2}
\def\textfraction         {.1}
%***
%\def\floatpagefraction    {.5}
\def\floatpagefraction    {.2}
%***
\def\dbltopfraction       {.7}
%***
\def\dblfloatpagefraction {.5}

% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption.
%      NUMBER : Figure or table number--e.g., 'Figure 3.2'
%      TEXT   : The caption text.
%  Macro should be called inside a \parbox of right width, with \normalsize.
%
\long\def\@makecaption#1#2{
     \vskip 1em
     \setbox\@tempboxa\hbox{{\normalsize \sf #1: #2}}
     \ifdim \wd\@tempboxa >\hsize   % IF longer than one line THEN
        \parindent    0em
        \settowidth{\hangindent}{{\normalsize \sf #1: }}
        \makebox[\hangindent][r]{{\normalsize \sf #1: }}{\normalsize \sf #2}
%       \unhbox\@tempboxa\par       %   set as ordinary paragraph.
     \else                          % ELSE
        \hbox to\hsize{\hfil\box\@tempboxa\hfil} % center.
     \fi}
% To define a float of type TYPE (e.g., TYPE = figure), the document style
% must define the following.
%
%  \fps@TYPE   : The default placement specifier for floats of type TYPE.
%
%  \ftype@TYPE : The type number for floats of type TYPE.  Each TYPE has
%                associated a unique positive TYPE NUMBER, which is a power
%                of two.  E.g., figures might have type number 1, tables type
%                number 2, programs type number 4, etc.
%
%  \ext@TYPE   : The file extension indicating the file on which the
%                contents list for float type TYPE is stored.  For example,
%                \ext@figure = 'lof'.
%
%  \fnum@TYPE  : A macro to generate the figure number for a caption.
%                For example, \fnum@TYPE == Figure \thefigure.
%
%  The actual float-making environment commands--e.g., the commands
%  \figure and \endfigure--are defined in terms of the macros \@float
%  and \end@float, which are described below.
%
%  \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a
%     single-column float of type TYPE with PLACEMENT as the placement
%     specifier.  The default value of PLACEMENT is defined by \fps@TYPE.
%     The environment is ended by \end@float.
%     E.g., \figure == \@float{figure}, \endfigure == \end@float.

% FIGURE
%
\newcounter{figure}[chapter]
\def\thefigure{\thechapter.\@arabic\c@figure}
\def\ext@figure{lof}
\def\ftype@figure{1}
\def\fps@figure{htbp}
\def\fnum@figure{{\sf \@capfigure\ \thefigure}}
\def\figure{\@float{figure}}
\let\endfigure\end@float
\@namedef{figure*}{\@dblfloat{figure}}
\@namedef{endfigure*}{\end@dblfloat}

% TABLE
%
\newcounter{table}[chapter]
\def\thetable{\thechapter.\@arabic\c@table}
\def\ext@table{lot}
\def\ftype@table{2}
\def\fps@table{htbp}
\def\fnum@table{\@captable\ \thetable}
\def\table{\@float{table}}
\let\endtable\end@float
\@namedef{table*}{\@dblfloat{table}}
\@namedef{endtable*}{\end@dblfloat}

%    ****************************************
%    *                TITLE                 *
%    ****************************************
%
% Uses same title and abstract format as the article style's
% titlepage option.
%
\def\maketitle{
    \begin{titlepage}
    \let\footnotesize\small     % Local definitions to make \thanks produce
    \let\footnoterule\relax     % \normalsize footnotes with no separating rule.
    \setcounter{page}{0}
    \null
    \vfil
    \vskip 6em                          % To adjust centering.
    \begin{center}
       {\LARGE\@title\par}              % Set title in \LARGE size.
       \vskip 3em                       % Vertical space after title.
       { \large                         % Set author in \large size.
         \lineskip .75em
         \begin{tabular}[t]{c}\@author
         \end{tabular}\par}
       \vskip 1.5em                     % Vertical space after author.
       {\large \@date \par}             % Set date in \large size.
    \end{center}\par
    \@thanks
   \vfil
   \null
   \end{titlepage}
   \setcounter{footnote}{0}             % Footnotes start at zero again.
   \let\thanks\relax
   \gdef\@thanks{}
   \gdef\@author{}
   \gdef\@title{}
   \let\maketitle\relax}

%    ****************************************
%    *            PAGE STYLES               *
%    ****************************************
%
% The page style 'foo' is defined by defining the command \ps@foo.  This
% command should make only local definitions.  There should be no stray
% spaces in the definition, since they could lead to mysterious extra
% spaces in the output.
%
% The \ps@... command defines the macros \@oddhead, \@oddfoot,
% \@evenhead, and \@evenfoot to define the running heads and
% feet---e.g., \@oddhead is the macro to produce the contents of the
% heading box for odd-numbered pages.  It is called inside an \hbox of
% width \textwidth.
%
% To make headings determined by the sectioning commands, the page style
% defines the commands \chaptermark, \sectionmark, ... , where
% \chaptermark{TEXT} is called by \chapter to set a mark, and so on.
% The \...mark commands and the \...head macros are defined with the
% help of the following macros.  (All the \...mark commands should be
% initialized to no-ops.)
%
% MARKING CONVENTIONS:
% LaTeX extends TeX's \mark facility by producing two kinds of marks
% a 'left' and a 'right' mark, using the following commands:
%     \markboth{LEFT}{RIGHT} : Adds both marks.
%     \markright{RIGHT}      : Adds a 'right' mark.
%     \leftmark  : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'left'  mark.  Works like TeX's
%                  \botmark command.
%     \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
%                  macro, gets the current 'right'  mark.  Works like TeX's
%                  \firstmark command.
% The marking commands work reasonably well for right marks 'numbered
% within' left marks--e.g., the left mark is changed by a \chapter command and
% the right mark is changed by a \section command.  However, it does
% produce somewhat anomalous results if two \bothmark's occur on the same page.
%
% Commands like \tableofcontents that should set the marks in some page styles
% use a \@mkboth command, which is \let by the pagestyle command (\ps@...)
% to \markboth for setting the heading or \@gobbletwo to do nothing.
%
\mark{{}{}}   % Initializes TeX's marks
% \ps@empty and \ps@plain defined in LATEX.TEX

% Definition of 'headings' page style
%
%  Note the use of ##1 for parameter of \def\chaptermark inside the
%  \def\ps@headings.
%
\def\ps@headings{
    \let\@mkboth\markboth
    \def\@evenhead{\rm\thepage\hfil \sl\leftmark\hbox{}}% Left heading.
    \def\@oddhead{\hbox{}\sl\rightmark \hfil\rm\thepage}% Right heading.
    \def\@oddfoot{}
    \def\@evenfoot{}
    \def\chaptermark##1{
        \markboth{\uppercase{\ifnum \c@secnumdepth >\m@ne
                                \@chapapp\ \thechapter. \
                             \fi ##1}}{}}%
    \def\sectionmark##1{\markright{\uppercase{ \ifnum \c@secnumdepth >\z@
                                                  \thesection. \
                                               \fi ##1}}}}
% Definition of 'myheadings' page style.
%
\def\ps@myheadings{
    \let\@mkboth\@gobbletwo
    \def\@oddhead{\hbox{}\sl\rightmark \hfil\rm\thepage}
    \def\@evenhead{\rm\thepage\hfil \sl\leftmark\hbox{}}
    \def\@oddfoot{}
    \def\@evenfoot{}
    \def\sectionmark##1{}
    \def\subsectionmark##1{}}
% Definition of 'usplain' page style.
%
\def\ps@usplain{
    \let\@mkboth\@gobbletwo
    \def\@oddhead {\hfil \thepage \hfil }
    \def\@evenhead{\hfil \thepage \hfil }
    \def\@oddfoot{}
    \def\@evenfoot{}
    \def\sectionmark##1{}
    \def\subsectionmark##1{}}

%    ****************************************
%    *            MISCELLANEOUS             *
%    ****************************************
%
% EQUATION and EQNARRAY -- put here because it must follow \chapter definition
%
% \newcounter{equation}
%
\@addtoreset{equation}{chapter}   % Makes \chapter reset 'equation' counter.
\def\theequation{\thechapter.\arabic{equation}}

% \jot = 0.3em     % Extra space added between lines of an eqnarray environment
% The macro \@eqnnum defines how equation numbers are to appear in equations.
%
% \def\@eqnnum{(\theequation)}
%
\def\bs{$\backslash$}
\let\3\ss

%    ****************************************
%    *           INITIALIZATION             *
%    ****************************************
%
% Default initializations
%
\if@twocolumn \twocolumn \sloppy % Two-column.
\else         \onecolumn \fussy  % Single-column.
\fi
\pagenumbering{arabic}           % Arabic page numbers
\pagestyle{usplain}              % `usplain' page style
\makeatother                     % re-make at a special character