arxmliv
arxmliv build tool
 
KWARC group
LaTeXML
About
   
 

Back to Homepage

--- /arXMLiv/repos/arXMLiv/trunk/sty/birkmono_lieb.cls	2010-04-03 10:26:30.000000000 +0200
+++ /arXMLiv/repos/arXMLiv/trunk/sty/rapport3.cls	2010-04-07 15:16:47.000000000 +0200
@@ -1,22 +1,75 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Birkmono.cls                   %%
-%%                                %%
-%% Birkh\"auser Publishers        %%
-%% Basel/Switzerland              %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{birkmono}
-              [2004/08/15 v1.0
- Birkhauser LaTeX document class]
- %changed: plain -> empty
-\newif\if@noams
-\@noamsfalse
+%%
+%% This is file `rapport3.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ntgclass.dtx  (with options: `rapport,type3')
+%% This is a generated file.
+%%
+%% Copyright (C) 1990-2004 Nederlandstalige TeX Gebruikersgroep.
+%% All rights reserved.
+%%
+%% This file was generated from file(s) of the NTG document classes distribution.
+%% ------------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% This file may only be distributed together with a copy of the NTG
+%% document classes distribution. You may however distribute the NTG
+%% document classes distribution without such generated files.
+%%
+%% The list of all files belonging to the NTG document classes
+%% distribution is given in the file `manifest.txt'.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%% Copyright (C) 1994 -- 2004 by Victor Eijkhout and Johannes Braams
+%% Based on classes.dtx
+%% Copyright (C) 1999 LaTeX3 project, all rights reserved.
+%%
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesClass{rapport3}%
+              [2004/06/07 v2.1a
+       NTG LaTeX document class]
+\newcommand*\@ptsize{}
+
 \newif\if@restonecol
 \newif\if@titlepage
 \@titlepagetrue
 \newif\if@openright
-\newif\if@mainmatter \@mainmattertrue
-\if@compatibility\else
+\newif\if@oldtoc
+\@oldtocfalse
+\newif\if@allcaps
+\newif\if@titlecentered
+\@titlecenteredfalse
+\newif\if@revlabel
 \DeclareOption{a4paper}
    {\setlength\paperheight {297mm}%
     \setlength\paperwidth  {210mm}}
@@ -39,39 +92,24 @@
    {\setlength\@tempdima   {\paperheight}%
     \setlength\paperheight {\paperwidth}%
     \setlength\paperwidth  {\@tempdima}}
-\fi
-
-\DeclareOption{11pt}{\message{
->>> Please do not use size options with Birkmono!        ^^J
->>> For a larger printout use the printerdriver options. ^^J^^J}}
-\DeclareOption{12pt}{\message{
->>> Please do not use size options with Birkmono!        ^^J
->>> For a larger printout use the printerdriver options. ^^J^^J}}
-
-\DeclareOption{noams}{%
-\@noamstrue}
-
-\if@compatibility\else
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
-\fi
 \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
-\if@compatibility\else
 \DeclareOption{final}{\setlength\overfullrule{0pt}}
-\fi
 \DeclareOption{titlepage}{\@titlepagetrue}
-\if@compatibility\else
 \DeclareOption{notitlepage}{\@titlepagefalse}
-\fi
-\if@compatibility
-\@openrighttrue
-\else
 \DeclareOption{openright}{\@openrighttrue}
 \DeclareOption{openany}{\@openrightfalse}
-\fi
-\if@compatibility\else
+\DeclareOption{voorwerk}{\@titlepagetrue}
+\DeclareOption{geenvoorwerk}{\@titlepagefalse}
+\DeclareOption{oldtoc}{\@oldtoctrue}
+\DeclareOption{titlecentered}{\@titlecenteredtrue}
+\DeclareOption{mctitle}{\@allcapsfalse}
+\DeclareOption{uctitle}{\@allcapstrue}
 \DeclareOption{onecolumn}{\@twocolumnfalse}
-\fi
 \DeclareOption{twocolumn}{\@twocolumntrue}
 \DeclareOption{leqno}{\input{leqno.clo}}
 \DeclareOption{fleqn}{\input{fleqn.clo}}
@@ -85,156 +123,35 @@
       }%
    \renewcommand\newblock{\par}}%
 }
-%-------------------------------------------------------------
-\newif\if@headtop
-\@headtopfalse
-\DeclareOption{headtop}{\@headtoptrue}
-\newif\if@smallheadings
-\@smallheadingsfalse
-\DeclareOption{smallheadings}{\@smallheadingstrue}
-\newif\if@nochaptername
-\@nochapternamefalse
-\DeclareOption{nochaptername}{\@nochapternametrue}
-%-------------------------------------------------------------
-\ExecuteOptions{letterpaper,twoside,onecolumn,final,openright}
+\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,uctitle,openany}
 \ProcessOptions
-\if@noams \relax
-\else
-\RequirePackage{amsmath,amssymb,amsthm}
-\renewcommand\qedsymbol{\ifmmode\square\else$\square$\fi}
-\fi
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% birkbk10.clo
-\renewcommand\normalsize{%
-   \@setfontsize\normalsize\@xpt\@xiipt
-   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
-   \abovedisplayshortskip \z@ \@plus3\p@
-   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
-   \belowdisplayskip \abovedisplayskip
-   \let\@listi\@listI}
-\normalsize
-\newcommand\small{%
-   \@setfontsize\small\@ixpt{11}%
-   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
-   \abovedisplayshortskip \z@ \@plus2\p@
-   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
-   \def\@listi{\leftmargin\leftmargini
-               \topsep 4\p@ \@plus2\p@ \@minus2\p@
-               \parsep 2\p@ \@plus\p@ \@minus\p@
-               \itemsep \parsep}%
-   \belowdisplayskip \abovedisplayskip
-}
-\newcommand\footnotesize{%
-   \@setfontsize\footnotesize\@viiipt{9.5}%
-   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
-   \abovedisplayshortskip \z@ \@plus\p@
-   \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
-   \def\@listi{\leftmargin\leftmargini
-               \topsep 3\p@ \@plus\p@ \@minus\p@
-               \parsep 2\p@ \@plus\p@ \@minus\p@
-               \itemsep \parsep}%
-   \belowdisplayskip \abovedisplayskip
-}
-\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
-\newcommand\large{\@setfontsize\large\@xiipt{14}}
-\newcommand\Large{\@setfontsize\Large\@xivpt{18}}
-\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
-\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
-\if@twocolumn
-  \setlength\parindent{8mm}
-\else
-  \setlength\parindent{8mm}
-\fi
-\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
-\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
-\setlength\headheight{12\p@}
-\setlength\headsep   {.25in}
-\setlength\topskip   {10\p@}
-\setlength\footskip{.35in}
-\if@compatibility \setlength\maxdepth{4\p@} \else
-\setlength\maxdepth{.5\topskip} \fi
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\setlength\textwidth{125mm}
-\@settopoint\textwidth
-
-\setlength\textheight{185mm}
-\@settopoint\textheight
-
-\setlength\oddsidemargin{48.65pt}
-\@settopoint\oddsidemargin
-
-\setlength\evensidemargin{48.65pt}
-\@settopoint\evensidemargin
-
-\if@twocolumn
- \setlength\marginparsep {10\p@}
-\else
-  \setlength\marginparsep{7\p@}
-\fi
-\setlength\marginparpush{5\p@}
-\setlength\topmargin{.75in}
-
-\setlength\footnotesep{6.65\p@}
-\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
-\setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
-\setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
-\setlength\@fptop{0\p@ \@plus 1fil}
-\setlength\@fpsep{8\p@ \@plus 2fil}
-\setlength\@fpbot{0\p@ \@plus 1fil}
-\setlength\@dblfptop{0\p@ \@plus 1fil}
-\setlength\@dblfpsep{8\p@ \@plus 2fil}
-\setlength\@dblfpbot{0\p@ \@plus 1fil}
-\parskip=0pt plus1pt\relax
-%---new
-\newdimen\normalparindent
-\normalparindent=8mm
-\parindent=\normalparindent
-\partopsep=0pt \relax \parsep=0pt \relax \itemsep=0pt \relax
-%---end
-%\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
-\def\@listi{\leftmargin\leftmargini
-            \parsep 4\p@ \@plus2\p@ \@minus\p@
-            \topsep 8\p@ \@plus2\p@ \@minus4\p@
-            \itemsep4\p@ \@plus2\p@ \@minus\p@}
-\let\@listI\@listi
-\@listi
-\def\@listii {\leftmargin\leftmarginii
-              \labelwidth\leftmarginii
-              \advance\labelwidth-\labelsep
-              \topsep    4\p@ \@plus2\p@ \@minus\p@
-              \parsep    2\p@ \@plus\p@  \@minus\p@
-              \itemsep   \parsep}
-\def\@listiii{\leftmargin\leftmarginiii
-              \labelwidth\leftmarginiii
-              \advance\labelwidth-\labelsep
-              \topsep    2\p@ \@plus\p@\@minus\p@
-              \parsep    \z@
-              \partopsep \p@ \@plus\z@ \@minus\p@
-              \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}
-\frenchspacing
-\def\bfdefault{b}
-%% End birkbk10.clo
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\input{ntg1\@ptsize.clo}
 \setlength\lineskip{1\p@}
 \setlength\normallineskip{1\p@}
-%\renewcommand\baselinestretch{}
-\setlength\parskip{0\p@ \@plus \p@}
+\renewcommand\baselinestretch{}
+\newdimen\unitindent
+{\setbox0\hbox{\normalsize\rmfamily 2.2.2\hskip.5em}
+ \global\unitindent=\wd0}
+\newdimen\othermargin
+{\setbox0\hbox{\normalsize (m)\hskip.6em}\global\othermargin=\wd0}
+\newif\if@needwriteindent
+\newcommand*\@indentset{%
+                \global\leftmargini=\unitindent
+                \global\@needwriteindenttrue}
+\newcommand*\@writeindent[1]{\immediate\write\@mainaux
+   {\string\@ifundefined{unitindent}{\string\newdimen\string\unitindent
+                                     \let\string\@indentset\relax}{}}
+    \immediate\write\@mainaux{\global\string\unitindent=#1\string\relax
+                              \string\@indentset \string\relax}}
+\AtEndDocument{%
+    \if@filesw
+      \if@needwriteindent
+        \@writeindent{\the\unitindent}
+      \fi
+    \fi}
+\setlength\parskip{.5\baselineskip \@plus .1\baselineskip
+                                   \@minus .1\baselineskip}
+\setlength\parindent{\z@}
 \@lowpenalty   51
 \@medpenalty  151
 \@highpenalty 301
@@ -248,65 +165,103 @@
 \setcounter{dbltopnumber}{2}
 \renewcommand\dbltopfraction{.7}
 \renewcommand\dblfloatpagefraction{.5}
+\let\Thispagestyle\thispagestyle
+\newcommand*\@emptypagestyle{empty}
+\renewcommand*\pagestyle[1]{\@nameuse{ps@#1}\def\@currentpagestyle{#1}}
+\renewcommand*\thispagestyle[1]{%
+  \ifx\@currentpagestyle\@emptypagestyle
+  \else
+    \global\@specialpagetrue
+    \gdef\@specialstyle{#1}%
+  \fi}
+\renewcommand*\ps@plain{%
+    \let\@oddhead\@empty\let\@evenhead\@empty
+    \def\@oddfoot{\hfil\PageFont\thepage}%
+    \if@twoside
+      \def\@evenfoot{\PageFont\thepage\hfil}%
+    \else
+      \let\@evenfoot\@oddfoot
+    \fi
+    \let\@mkboth\@gobbletwo}
 \if@twoside
   \def\ps@headings{%
       \let\@oddfoot\@empty\let\@evenfoot\@empty
-      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
-      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+      \def\@evenhead{{\PageFont\thepage}\hfil\MarkFont\leftmark}%
+      \def\@oddhead{{\MarkFont\rightmark}\hfil\PageFont\thepage}%
       \let\@mkboth\markboth
     \def\chaptermark##1{%
-      \markboth {{%
-        \ifnum \c@secnumdepth >\m@ne
-          \if@mainmatter
+        \markboth {\MakeUppercase{\ifnum \c@secnumdepth >\m@ne
             \@chapapp\ \thechapter. \ %
           \fi
-        \fi
         ##1}}{}}%
     \def\sectionmark##1{%
-      \markright {{%
-        \ifnum \c@secnumdepth >\z@
-          \thesection. \ %
-        \fi
+        \markright {\MakeUppercase{\ifnum \c@secnumdepth >\z@
+            \thesection. \ \fi
         ##1}}}}
 \else
   \def\ps@headings{%
     \let\@oddfoot\@empty
-    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \def\@oddhead{{\MarkFont\rightmark}\hfil\PageFont\thepage}%
     \let\@mkboth\markboth
     \def\chaptermark##1{%
-      \markright {{%
+      \markright {\MakeUppercase{%
         \ifnum \c@secnumdepth >\m@ne
-          \if@mainmatter
             \@chapapp\ \thechapter. \ %
           \fi
-        \fi
         ##1}}}}
 \fi
 \def\ps@myheadings{%
     \let\@oddfoot\@empty\let\@evenfoot\@empty
-    \def\@evenhead{\thepage\hfil\slshape\leftmark}%
-    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \def\@evenhead{{\PageFont\thepage}\hfil\MarkFont\leftmark}%
+    \def\@oddhead{{\MarkFont\rightmark}\hfil\PageFont\thepage}%
     \let\@mkboth\@gobbletwo
     \let\chaptermark\@gobble
     \let\sectionmark\@gobble
     }
+\newcommand*\PageFont{\rmfamily}
+\newcommand*\MarkFont{\slshape}
+\newcommand*\RunningFonts[2]{%
+  \renewcommand*\PageFont{#1}\renewcommand*\MarkFont{#2}}
+\newcommand*\TitleFont{\bfseries}
   \if@titlepage
-  \newcommand\maketitle{\begin{titlepage}%
+\renewcommand*\TitleFont{\rmfamily}
+\newcommand*\maketitle{%
+  \begin{titlepage}%
   \let\footnotesize\small
   \let\footnoterule\relax
   \let \footnote \thanks
+    \long\def\@makefntext##1{\parindent\z@
+         \def\labelitemi{\textendash}\@revlabeltrue
+         \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1}
+    \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+    \if@compatibility\setcounter{page}{0}\fi
   \null\vfil
   \vskip 60\p@
   \begin{center}%
-    {\LARGE \@title \par}%
+      \TitleFont
+      {\LARGE \def\\{\penalty -\@M}
+        \if@allcaps
+          \expandafter\uc@nothanks\@title\thanks\relax
+        \else
+          \@title
+        \fi\par}%
     \vskip 3em%
     {\large
-     \lineskip .75em%
+        \lineskip .75em \parindent\z@
       \begin{tabular}[t]{c}%
+          \if@allcaps
+            \expandafter\uc@authornothanks\@author\and\relax
+          \else
         \@author
+          \fi
       \end{tabular}\par}%
       \vskip 1.5em%
-    {\large \@date \par}%       % Set date in \large size.
+      {\large
+        \if@allcaps
+          \uppercase\expandafter{\@date}%
+        \else
+          \@date
+        \fi\par}%
   \end{center}\par
   \@thanks
   \vfil\null
@@ -316,21 +271,32 @@
   \global\let\maketitle\relax
   \global\let\@thanks\@empty
   \global\let\@author\@empty
-  \global\let\@date\@empty
   \global\let\@title\@empty
+  \global\let\@date\@empty
   \global\let\title\relax
   \global\let\author\relax
   \global\let\date\relax
   \global\let\and\relax
 }
+\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx}
+\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax
+    \futurelet\@tempa\uc@ax}
+\def\uc@ax{%
+  \ifx\@tempa\relax
+  \else
+    \\ \andname \\ \expandafter\uc@authornothanks
+  \fi}
+\def\uc@tx{\ifx\@tempa\relax
+    \else \expandafter\uc@ty \fi}
+\def\uc@ty#1{\thanks{#1}\uc@nothanks}
 \else
-\newcommand\maketitle{\par
+\newcommand*\maketitle{\par
   \begingroup
-    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
-    \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
-    \long\def\@makefntext##1{\parindent 1em\noindent
-            \hb@xt@1.8em{%
-                \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+    \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+    \def\@makefnmark{\rlap{%
+      \@textsuperscript{\normalfont\@thefnmark}}}%
+    \long\def\@makefntext{\@xmakefntext{%
+      \@textsuperscript{\normalfont\@thefnmark}}}%
     \if@twocolumn
       \ifnum \col@number=\@ne
         \@maketitle
@@ -339,10 +305,10 @@
       \fi
     \else
       \newpage
-      \global\@topnum\z@   % Prevents figures from going at top of page.
+      \global\@topnum\z@
       \@maketitle
     \fi
-    \thispagestyle{empty}\@thanks
+    \thispagestyle{plain}\@thanks
   \endgroup
   \setcounter{footnote}{0}%
   \global\let\thanks\relax
@@ -350,8 +316,8 @@
   \global\let\@maketitle\relax
   \global\let\@thanks\@empty
   \global\let\@author\@empty
-  \global\let\@date\@empty
   \global\let\@title\@empty
+  \global\let\@date\@empty
   \global\let\title\relax
   \global\let\author\relax
   \global\let\date\relax
@@ -361,21 +327,88 @@
   \newpage
   \null
   \vskip 2em%
+\if@titlecentered
   \begin{center}%
   \let \footnote \thanks
-    {\LARGE \@title \par}%
+    {\LARGE \TitleFont \@title \par}%
     \vskip 1.5em%
-    {\large
+    {\large \TitleFont
       \lineskip .5em%
       \begin{tabular}[t]{c}%
         \@author
       \end{tabular}\par}%
     \vskip 1em%
-    {\large \@date}%
+    {\large \TitleFont \@date}%
   \end{center}%
+ \else
+     {\LARGE \TitleFont \head@style \@title \par} \vskip 1.5em
+     {\large \TitleFont \lineskip .5em \tabcolsep\z@
+             \def\and{%%% \begin{tabular} has already started
+                      \end{tabular}\hskip 1em plus .17fil
+                      \begin{tabular}[t]{l}}%% \end{tabular} will come
+             \begin{tabular}[t]{l}\@author\end{tabular}\par}
+     \vskip 1em {\large \TitleFont \@date}
+ \fi
   \par
   \vskip 1.5em}
 \fi
+\newcommand*\head@style{%
+    \interlinepenalty \@M
+    \hyphenpenalty=\@M \exhyphenpenalty=\@M
+    \rightskip=0cm plus .7\hsize\relax}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \let\@svsec\@empty
+  \else
+    \refstepcounter{#1}%
+    \begingroup
+      \setbox\@tempboxa=\hbox{#6\relax
+                              \csname the#1\endcsname
+                              \hskip.5em}
+      \ifdim\wd\@tempboxa>\unitindent
+        \global\unitindent=\wd\@tempboxa
+        \@indentset
+      \fi
+    \endgroup
+    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+  \fi
+  \@tempskipa #5\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+    #6{%
+      \@hangfrom{\hskip #3\relax\@svsec}\head@style #8\endgraf}%
+     \endgroup
+     \csname #1mark\endcsname{#7}%
+     \addcontentsline{toc}{#1}{%
+       \ifnum #2>\c@secnumdepth
+       \else
+         \protect\numberline{\csname the#1\endcsname}%
+       \fi
+       \toc@font#2 #7}%
+     \else
+       \def\@svsechd{#6\hskip #3\relax
+         \@svsec #8\csname #1mark\endcsname{#7}%
+         \addcontentsline{toc}{#1}{%
+           \ifnum #2>\c@secnumdepth
+           \else
+             \protect\numberline{\csname the#1\endcsname}%
+           \fi
+           \toc@font#2 #7}}%
+     \fi
+     \@xsect{#5}}
+\def\@seccntformat#1{%
+  \hb@xt@\unitindent{\csname the#1\endcsname \hfil}%
+  }
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+  \ifdim \@tempskipa>\z@
+    \begingroup
+      #4{%
+        \@hangfrom{\hskip #1}\head@style #5\endgraf}%
+    \endgroup
+  \else
+    \def\@svsechd{#4\hskip #1\relax #5}%
+  \fi
+  \@xsect{#3}}
 \newcommand*\chaptermark[1]{}
 \setcounter{secnumdepth}{2}
 \newcounter {part}
@@ -385,35 +418,16 @@
 \newcounter {subsubsection}[subsection]
 \newcounter {paragraph}[subsubsection]
 \newcounter {subparagraph}[paragraph]
-\renewcommand \thepart {\@Roman\c@part}
-\renewcommand \thechapter {\@arabic\c@chapter}
-\renewcommand \thesection {\thechapter.\@arabic\c@section}
-\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
-\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
-\renewcommand\theparagraph    {\thesubsubsection.\@arabic\c@paragraph}
-\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
-\newcommand\@chapapp{\chaptername}
-\newcommand\frontmatter{%
-    \cleardoublepage
-  \@mainmatterfalse
-  \pagenumbering{roman}}
-\newcommand\mainmatter{%
-    \cleardoublepage
-  \@mainmattertrue
-  \pagenumbering{arabic}}
-\newcommand\backmatter{%
-  \if@openright
+\renewcommand*\thepart{\@Roman\c@part}
+\renewcommand*\thechapter{\@arabic\c@chapter}
+\renewcommand*\thesection{\thechapter.\@arabic\c@section}
+\renewcommand*\thesubsection{\thesection.\@arabic\c@subsection}
+\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
+\renewcommand*\theparagraph{\thesubsubsection.\@arabic\c@paragraph}
+\renewcommand*\thesubparagraph{\theparagraph.\@arabic\c@subparagraph}
+\newcommand*\@chapapp{\chaptername}
+\newcommand*\part{%
     \cleardoublepage
-  \else
-    \clearpage
-  \fi
-  \@mainmatterfalse}
-\newcommand\part{%
-  \if@openright
-    \cleardoublepage
-  \else
-    \clearpage
-  \fi
   \thispagestyle{empty}%
   \if@twocolumn
     \onecolumn
@@ -423,30 +437,32 @@
   \fi
   \null\vfil
   \secdef\@part\@spart}
-
+\newcommand*\PartFont{\bfseries}
 \def\@part[#1]#2{%
     \ifnum \c@secnumdepth >-2\relax
       \refstepcounter{part}%
-      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+      \addcontentsline{toc}{part}{\thepart\hspace{1em}\toc@case{#1}}%
     \else
-      \addcontentsline{toc}{part}{#1}%
+      \addcontentsline{toc}{part}{\toc@case{#1}}%
     \fi
     \markboth{}{}%
     {\centering
      \interlinepenalty \@M
      \normalfont
      \ifnum \c@secnumdepth >-2\relax
-       \huge\bfseries \partname~\thepart
+       \Large\PartFont
+       \edef\@tempa{\noexpand\uppercase{\partname}}\@tempa
+       \nobreakspace\thepart
        \par
        \vskip 20\p@
      \fi
-     \Huge \bfseries #2\par}%
+     \Large \PartFont \uppercase{#2}\par}%
     \@endpart}
 \def\@spart#1{%
     {\centering
      \interlinepenalty \@M
      \normalfont
-     \Huge \bfseries #1\par}%
+     \Large \PartFont #1\par}%
     \@endpart}
 \def\@endpart{\vfil\newpage
               \if@twoside
@@ -459,22 +475,19 @@
               \if@tempswa
                 \twocolumn
               \fi}
-\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
-                    \thispagestyle{empty}%
+\newcommand*\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+                    \thispagestyle{plain}%
                     \global\@topnum\z@
                     \@afterindentfalse
                     \secdef\@chapter\@schapter}
-\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
-                       \if@mainmatter
+\def\@chapter[#1]#2{%
+    \ifnum \c@secnumdepth >\m@ne
                          \refstepcounter{chapter}%
                          \typeout{\@chapapp\space\thechapter.}%
                          \addcontentsline{toc}{chapter}%
-                                   {\protect\numberline{\thechapter}#1}%
+                      {\protect\numberline{\thechapter}\toc@font0 #1}%
                        \else
-                         \addcontentsline{toc}{chapter}{#1}%
-                       \fi
-                    \else
-                      \addcontentsline{toc}{chapter}{#1}%
+      \addcontentsline{toc}{chapter}{\toc@font0 #1}%
                     \fi
                     \chaptermark{#1}%
                     \addtocontents{lof}{\protect\addvspace{10\p@}}%
@@ -485,22 +498,19 @@
                       \@makechapterhead{#2}%
                       \@afterheading
                     \fi}
+\newcommand*\ChapFont{\bfseries}
 \def\@makechapterhead#1{%
-%changed
-\if@headtop\relax\else  \vspace*{50\p@}\fi%
-  {\parindent \z@ \raggedright \normalfont
+  \vspace*{50\p@ \@plus 5\p@}%
+  {\setlength\parindent{\z@}%
+   \setlength\parskip  {\z@}%
+   \head@style \normalfont
     \ifnum \c@secnumdepth >\m@ne
-      \if@mainmatter
-        \if@nochaptername\relax\else
-        \if@smallheadings\LARGE\else\huge\fi\bfseries \@chapapp\space \thechapter
+        \Large\ChapFont \@chapapp{} \thechapter
         \par\nobreak
-        \if@smallheadings\vskip10\p@\else\vskip 20\p@\fi
-      \fi
-      \fi
+        \vskip 20\p@
     \fi
-    \interlinepenalty\@M
-    \if@smallheadings\huge\else\Huge\fi \bfseries
-    \if@nochaptername\thechapter\space\space \else\relax\fi #1\par\nobreak
+    \Large \ChapFont #1\par
+    \nobreak
     \vskip 40\p@
   }}
 \def\@schapter#1{\if@twocolumn
@@ -510,76 +520,189 @@
                    \@afterheading
                  \fi}
 \def\@makeschapterhead#1{%
-  \if@headtop\relax\else  \vspace*{50\p@}\fi%
-  {\parindent \z@ \raggedright
+  \vspace*{50\p@\@plus 5\p@}%
+  {\setlength\parindent{\z@}%
+    \setlength\parskip{\z@}%
+    \head@style
     \normalfont
-    \interlinepenalty\@M
-    \if@smallheadings\LARGE\else\Huge\fi\bfseries  #1\par\nobreak
+    \Large \ChapFont  #1\par
+    \nobreak
     \vskip 40\p@
   }}
-\newcommand\section{\@startsection {section}{1}{\z@}%
-                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
-                                   {2.3ex \@plus.2ex}%
-                                   {\normalfont\Large\bfseries}}
-\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
-                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
-                                     {1.5ex \@plus .2ex}%
-                                     {\normalfont\large\bfseries}}
-\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
-                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
-                                     {1.5ex \@plus .2ex}%
-                                     {\normalfont\normalsize\bfseries}}
-\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+\newcommand*\section{%
+  \@startsection {section}{1}{\z@}%
+    {-2\baselineskip\@plus -1\baselineskip \@minus -.5\baselineskip}%
+    {.01\baselineskip}%
+    {\normalfont\large\SectFont}}
+\newcommand*\SectFont{\bfseries}
+\newcommand*\subsection{%
+  \@startsection{subsection}{2}{\z@}%
+    {-1\baselineskip\@plus -.5\baselineskip \@minus -.25\baselineskip}%
+    {.01\baselineskip}%
+    {\normalfont\normalsize\SSectFont}}
+\newcommand*\SSectFont{\bfseries}
+\newcommand*\subsubsection{%
+  \@startsection{subsubsection}{3}{\z@}%
+    {-1\baselineskip plus -.5\baselineskip minus -.25\baselineskip}%
+    {.01\baselineskip}%
+    {\normalfont\normalsize\SSSectFont}}
+\newcommand*\SSSectFont{\slshape}
+\newcommand*\paragraph{%
+  \@startsection{paragraph}{4}{\z@}%
                                     {3.25ex \@plus1ex \@minus.2ex}%
                                     {-1em}%
-                                    {\normalfont\normalsize\bfseries}}
-\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+    {\normalfont\normalsize\ParaFont}}
+\newcommand*\ParaFont{\slshape}
+\newcommand*\subparagraph{%
+  \@startsection{subparagraph}{5}{\parindent}%
                                        {3.25ex \@plus1ex \@minus .2ex}%
                                        {-1em}%
-                                      {\normalfont\normalsize\bfseries}}
-\if@twocolumn
-  \setlength\leftmargini  {2em}
-\else
-  \setlength\leftmargini  {2.5em}
-\fi
-\leftmargin  \leftmargini
-\setlength\leftmarginii  {2.2em}
-\setlength\leftmarginiii {1.87em}
-\setlength\leftmarginiv  {1.7em}
-\if@twocolumn
-  \setlength\leftmarginv  {.5em}
-  \setlength\leftmarginvi {.5em}
-\else
-  \setlength\leftmarginv  {1em}
+    {\normalfont\normalsize\SParaFont}}
+\newcommand*\SParaFont{\slshape}
+\newcommand*\HeadingFonts[8]{%
+  \renewcommand*\TitleFont{#1}%
+  \renewcommand*\PartFont{#2}%
+  \renewcommand*\ChapFont{#3}%
+  \renewcommand*\SectFont{#4}%
+  \renewcommand*\SSectFont{#5}%
+  \renewcommand*\SSSectFont{#6}%
+  \renewcommand*\ParaFont{#7}%
+  \renewcommand*\SParaFont{#8}}
+\setlength\leftmargini  {\unitindent}
+\setlength\leftmarginii {\othermargin}
+\setlength\leftmarginiii{\othermargin}
+\setlength\leftmarginiv {\othermargin}
+\setlength\leftmarginv  {\othermargin}
   \setlength\leftmarginvi {1em}
-\fi
-\setlength  \labelsep  {.5em}
+\setlength\leftmargin    {\leftmargini}
+\setlength  \labelsep  {5\p@}
 \setlength  \labelwidth{\leftmargini}
 \addtolength\labelwidth{-\labelsep}
+\setlength\partopsep{\z@}
+\setlength\topsep{\z@}
 \@beginparpenalty -\@lowpenalty
 \@endparpenalty   -\@lowpenalty
 \@itempenalty     -\@lowpenalty
-\renewcommand\theenumi{\@arabic\c@enumi}
-\renewcommand\theenumii{\@alph\c@enumii}
-\renewcommand\theenumiii{\@roman\c@enumiii}
-\renewcommand\theenumiv{\@Alph\c@enumiv}
-\newcommand\labelenumi{\theenumi.}
-\newcommand\labelenumii{(\theenumii)}
-\newcommand\labelenumiii{\theenumiii.}
-\newcommand\labelenumiv{\theenumiv.}
-\renewcommand\p@enumii{\theenumi}
-\renewcommand\p@enumiii{\theenumi(\theenumii)}
-\renewcommand\p@enumiv{\p@enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\def\@listi{%
+            \leftmargin\unitindent
+            \labelsep.5em%
+            \labelwidth\leftmargin
+            \advance\labelwidth-\labelsep
+            \parsep \z@
+            \topsep -.5\parskip \@plus\p@
+            \itemsep 0\p@ \@plus1\p@}
+\let\@listI\@listi
+\@listi
+\def\@listii {\leftmargin\leftmarginii
+              \labelsep  .5em%
+              \labelwidth\leftmarginii
+              \advance\labelwidth-\labelsep
+              \topsep    -.5\parskip\@plus\p@
+              \parsep    \z@
+              \itemsep   \z@ \@plus\p@}
+\def\@listiii{\leftmargin\leftmarginiii
+              \labelsep  .5em%
+              \labelwidth\leftmarginiii
+              \advance\labelwidth-\labelsep
+              \topsep    -.5\parskip\@plus\p@
+              \parsep    \z@
+              \partopsep \z@ \@plus\p@
+              \itemsep   \z@ \@plus\p@}
+\def\@listiv {\leftmargin\leftmarginiv
+              \labelsep  .5em%
+              \labelwidth\leftmarginiv%
+              \advance\labelwidth-\labelsep
+              \topsep    -.5\parskip\@plus\p@
+              \parsep    \z@
+              \itemsep   \z@ \@plus\p@}
+\def\@listv  {\leftmargin\leftmarginv
+              \labelsep  .5em%
+              \labelwidth\leftmarginv
+              \advance\labelwidth-\labelsep%
+              \topsep    -.5\parskip\@plus\p@
+              \parsep    \z@
+              \itemsep   \z@ \@plus\p@}
+\def\@listvi {\leftmargin\leftmarginvi
+              \labelsep  .5em
+              \labelwidth\leftmarginvi
+              \advance\labelwidth{-\labelsep}%
+              \topsep    -.5\parskip\@plus\p@
+              \parsep    \z@
+              \itemsep   \z@ \@plus\p@}
+\renewcommand*\theenumi{\@arabic\c@enumi}
+\renewcommand*\theenumii{\@alph\c@enumii}
+\renewcommand*\theenumiii{\@roman\c@enumiii}
+\renewcommand*\theenumiv{\@Alph\c@enumiv}
+\newcommand*\labelenumi{\theenumi.}
+\newcommand*\labelenumii{(\theenumii)}
+\newcommand*\labelenumiii{\theenumiii.}
+\newcommand*\labelenumiv{\theenumiv.}
+\renewcommand*\p@enumii{\theenumi}
+\renewcommand*\p@enumiii{\theenumi(\theenumii)}
+\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
+\renewenvironment{enumerate}{%
+  \ifnum \@enumdepth >3
+    \@toodeep
+  \else
+    \advance\@enumdepth \@ne
+    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+    \list{\csname label\@enumctr\endcsname}
+         {\usecounter{\@enumctr}%
+             \if@revlabel
+               \def\makelabel##1{\hskip .5\unitindent{##1\hfil}}%
+             \else
+               \def\makelabel##1{##1\hfil}
+             \fi
+         }%
+  \fi}
+ {\global\@ignoretrue \endlist}
+\newcommand*{\labelitemi}{\textbullet}
+\newcommand*{\labelitemii}{\normalfont\bfseries \textendash}
+\newcommand*{\labelitemiii}{\textasteriskcentered}
+\newcommand*{\labelitemiv}{\textperiodcentered}
+\renewenvironment{itemize}{%
+  \ifnum \@itemdepth >3
+    \@toodeep
+  \else
+    \advance\@itemdepth \@ne
+    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+    \list{\csname\@itemitem\endcsname}%
+         {%
+            \if@revlabel
+              \def\makelabel##1{\hskip .5\unitindent{##1\hfil}}\else
+              \def\makelabel##1{##1\hfil}
+            \fi
+          }%
+  \fi}
+ {\global\@ignoretrue \endlist}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}
                {\endlist}
-\newcommand*\descriptionlabel[1]{\hspace\labelsep
-                                \normalfont\bfseries #1}
+\newcommand*\descriptionlabel[1]{\hspace\labelsep \bfseries #1}
+\def\verbatim{%
+  \topsep=-.5\parskip
+  \@verbatim
+  \frenchspacing\@vobeyspaces \@xverbatim}
+\if@titlepage
+  \newenvironment{abstract}{%
+      \titlepage
+      \null\vfil
+      \hbox{\SectFont \abstractname}
+      \noindent\ignorespaces}
+     {\par\vfil\null\endtitlepage}
+\else
+  \newenvironment{abstract}{%
+      \if@twocolumn
+        \section*{\abstractname}%
+      \else
+        \small
+        \bgroup\rightskip=\unitindent
+        \hbox{\SectFont \abstractname}%
+        \noindent\ignorespaces
+      \fi}
+      {\if@twocolumn\else\par\egroup\fi}
+\fi
 \newenvironment{verse}
                {\let\\\@centercr
                 \list{}{\itemsep      \z@
@@ -590,7 +713,8 @@
                 \item\relax}
                {\endlist}
 \newenvironment{quotation}
-               {\list{}{\listparindent\normalparindent%
+               {\list{}{%
+                        \listparindent\z@
                         \itemindent    \listparindent
                         \rightmargin   \leftmargin
                         \parsep        \z@ \@plus\p@}%
@@ -600,74 +724,32 @@
                {\list{}{\rightmargin\leftmargin}%
                 \item\relax}
                {\endlist}
-%---new
-\AtBeginDocument{%
-  \settowidth\leftmargini{\labelenumi\hskip\labelsep}%
-  \advance\leftmargini by \normalparindent
-  \settowidth\leftmarginii{\labelenumii\hskip\labelsep}%
-  \advance\leftmarginii by 6pt
-  \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}%
-  \advance\leftmarginiii by 6pt
-  \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}%
-  \advance\leftmarginiv by 10pt
-  \leftmarginv=10pt
-  \leftmarginvi=10pt
-  \leftmargin=0pt%\leftmargini
-  \labelsep=5pt
-  \labelwidth=\leftmargini \advance\labelwidth-\labelsep
-  \@listi}
-\newskip\listisep
-\listisep\medskipamount
-\def\@listI{\leftmargin\normalparindent%\leftmargini
-\parsep\listisep%z@skip
-  \topsep\medskipamount \itemsep\z@skip
-  \listparindent\normalparindent}
-\let\@listi\@listI
-\def\@listii{\leftmargin\normalparindent%\leftmarginii
-  \labelwidth\leftmarginii \advance\labelwidth-\labelsep
-  \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\listisep}
-\def\@listiii{\leftmargin\normalparindent%leftmarginiii
-  \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
-\def\@listiv{\leftmargin\normalparindent%\leftmarginiv
-  \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
-\def\@listv{\leftmargin\normalparindent%\leftmarginv
-  \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
-\def\@listvi{\leftmargin\normalparindent%\leftmarginvi
-  \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
-%--end
-\if@compatibility
+\def\@begintheorem#1#2{%
+    \vskip\baselineskip \labelsep=.5em%
+    \trivlist
+    \item[\hskip \labelsep{\bfseries #1\ #2}]\slshape}
+\def\@opargbegintheorem#1#2#3{%
+    \vskip\baselineskip \labelsep=.5em%
+    \trivlist
+    \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\slshape}
+\def\@endtheorem{\endtrivlist \vskip\baselineskip}
 \newenvironment{titlepage}
-    {%
-      \cleardoublepage
+    {
       \if@twocolumn
         \@restonecoltrue\onecolumn
       \else
         \@restonecolfalse\newpage
       \fi
       \thispagestyle{empty}%
+      \if@compatibility
       \setcounter{page}\z@
-    }%
-    {\if@restonecol\twocolumn \else \newpage \fi
-    }
-\else
-\newenvironment{titlepage}
-    {%
-      \cleardoublepage
-      \if@twocolumn
-        \@restonecoltrue\onecolumn
       \else
-        \@restonecolfalse\newpage
-      \fi
-      \thispagestyle{empty}%
       \setcounter{page}\@ne
-    }%
+      \fi}
     {\if@restonecol\twocolumn \else \newpage \fi
-     \if@twoside\else
         \setcounter{page}\@ne
-     \fi
     }
-\fi
-\newcommand\appendix{\par
+\newcommand*\appendix{\par
   \setcounter{chapter}{0}%
   \setcounter{section}{0}%
   \gdef\@chapapp{\appendixname}%
@@ -677,19 +759,22 @@
 \setlength\arrayrulewidth{.4\p@}
 \setlength\doublerulesep{2\p@}
 \setlength\tabbingsep{\labelsep}
+\def\@minipagerestore{%
+             \parskip=.5\baselineskip \@plus .1\baselineskip
+                                      \@minus .1\baselineskip}
 \skip\@mpfootins = \skip\footins
 \setlength\fboxsep{3\p@}
 \setlength\fboxrule{.4\p@}
 \@addtoreset {equation}{chapter}
-\renewcommand\theequation
-  {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
+\renewcommand*\theequation{%
+  \ifnum \c@chapter>\z@ \thechapter.\fi\@arabic\c@equation}
 \newcounter{figure}[chapter]
-\renewcommand \thefigure
-     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
+\renewcommand*\thefigure{%
+  \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
 \def\fps@figure{tbp}
 \def\ftype@figure{1}
 \def\ext@figure{lof}
-\def\fnum@figure{\figurename~\thefigure}
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
 \newenvironment{figure}
                {\@float{figure}}
                {\end@float}
@@ -697,12 +782,12 @@
                {\@dblfloat{figure}}
                {\end@dblfloat}
 \newcounter{table}[chapter]
-\renewcommand \thetable
-     {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
+\renewcommand*\thetable{%
+  \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table}
 \def\fps@table{tbp}
 \def\ftype@table{2}
 \def\ext@table{lot}
-\def\fnum@table{\tablename~\thetable}
+\def\fnum@table{\tablename\nobreakspace\thetable}
 \newenvironment{table}
                {\@float{table}}
                {\end@float}
@@ -715,44 +800,97 @@
 \setlength\belowcaptionskip{0\p@}
 \long\def\@makecaption#1#2{%
   \vskip\abovecaptionskip
-  \sbox\@tempboxa{#1: #2}%
+  \sbox\@tempboxa{{\CaptionLabelFont#1:} \CaptionTextFont#2}%
   \ifdim \wd\@tempboxa >\hsize
-    #1: #2\par
+    {\CaptionLabelFont#1:} \CaptionTextFont#2\par
   \else
     \global \@minipagefalse
     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
   \fi
   \vskip\belowcaptionskip}
+\newcommand*\CaptionLabelFont{\relax}
+\newcommand*\CaptionTextFont{\relax}
+\newcommand*\CaptionFonts[2]{%
+  \renewcommand*\CaptionLabelFont{#1}%
+  \renewcommand*\CaptionTextFont{#2}%
+  }
 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\relax}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\relax}
 \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
 \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
-\newcommand\@pnumwidth{1.55em}
-\newcommand\@tocrmarg{2.55em}
-\newcommand\@dotsep{4.5}
+\DeclareRobustCommand*\em{%
+  \@nomath\em
+  \ifdim\fontdimen\@ne\font>\z@
+    \upshape
+  \else
+    \slshape
+  \fi}
+\newcommand*\@pnumwidth{1.55em}
+\newcommand*\@tocrmarg {2.55em}
+\newcommand*\@dotsep{4.5}
 \setcounter{tocdepth}{2}
-\newcommand\tableofcontents{%
+\newcommand*\tableofcontents{%
     \if@twocolumn
       \@restonecoltrue\onecolumn
     \else
       \@restonecolfalse
     \fi
-    \chapter*{\contentsname
-        \@mkboth{%
-           \contentsname}{\contentsname}}%
+    \chapter*{\contentsname}%
+    \@mkboth{\MakeUppercase{\contentsname}}%
+            {\MakeUppercase{\contentsname}}%
     \@starttoc{toc}%
     \if@restonecol\twocolumn\fi
     }
+\def\@starttoc#1{\begingroup
+  \makeatletter
+  \parskip\z@
+  \@input{\jobname.#1}%
+  \if@filesw
+    \expandafter\newwrite\csname tf@#1\endcsname
+    \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+  \fi \global\@nobreakfalse \endgroup}
+\newcommand*\@regtocline[3]{%
+  \ifnum #1>\c@tocdepth
+  \else
+    \vskip\z@\@plus.2\p@
+    {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M
+     \leftskip\unitindent
+     \rightskip\unitindent\@plus 1fil
+     \parfillskip\z@
+     \@tempdima\unitindent
+     \parindent\z@
+     \leavevmode
+     \hbox{}\hskip -\leftskip\relax#2\nobreak
+     \hskip 1em \nobreak{\slshape #3}\par
+     }%
+  \fi}
+\if@oldtoc
+  \newcommand*\toc@font[1]{\relax}
+\else
+  \newcommand*\toc@font[1]{%
+    \ifcase#1\relax
+    \bfseries
+    \or\slshape
+    \or\rmfamily
+    \fi}
+\fi
+\if@oldtoc
+  \newcommand*\toc@case{\relax}
+\else
+  \newcommand*\toc@case{\MakeUppercase}
+\fi
+\if@oldtoc
 \newcommand*\l@part[2]{%
   \ifnum \c@tocdepth >-2\relax
     \addpenalty{-\@highpenalty}%
     \addvspace{2.25em \@plus\p@}%
     \begingroup
+      \setlength\@tempdima{3em}%
       \parindent \z@ \rightskip \@pnumwidth
       \parfillskip -\@pnumwidth
       {\leavevmode
@@ -762,8 +900,16 @@
          \everypar{\global\@nobreakfalse\everypar{}}%
     \endgroup
   \fi}
+\else
+   \newcommand*\l@part{%
+     \ifnum \c@tocdepth >-2\relax
+     \addpenalty{-\@highpenalty}%
+     \addvspace{2.25em \@plus \p@}%
+     \@regtocline{0}%
+   \fi}
+\fi
+\if@oldtoc
 \newcommand*\l@chapter[2]{%
-  \ifnum \c@tocdepth >\m@ne
     \addpenalty{-\@highpenalty}%
     \vskip 1.0em \@plus\p@
     \setlength\@tempdima{1.5em}%
@@ -775,44 +921,62 @@
       \hskip -\leftskip
       #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
       \penalty\@highpenalty
-    \endgroup
-  \fi}
+   \endgroup}
+\else
+  \newcommand*\l@chapter{\@regtocline{0}}
+\fi
+\if@oldtoc
 \newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+\else
+  \newcommand*\l@section      {\@regtocline{1}}
+\fi
+\if@oldtoc
 \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
 \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
 \newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
 \newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
-\newcommand\listoffigures{%
+\else
+  \newcommand*\l@subsection   {\@regtocline{2}}
+  \newcommand*\l@subsubsection{\@regtocline{3}}
+  \newcommand*\l@paragraph    {\@regtocline{4}}
+  \newcommand*\l@subparagraph {\@regtocline{5}}
+\fi
+\newcommand*\listoffigures{%
     \if@twocolumn
       \@restonecoltrue\onecolumn
     \else
       \@restonecolfalse
     \fi
-    \chapter*{\listfigurename
-      \@mkboth{\listfigurename}%
-              {\listfigurename}}%
+    \chapter*{\listfigurename}%
+    \@mkboth{\MakeUppercase{\listfigurename}}%
+            {\MakeUppercase{\listfigurename}}%
     \@starttoc{lof}%
     \if@restonecol\twocolumn\fi
     }
+\if@oldtoc
 \newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
-\newcommand\listoftables{%
+\else
+  \newcommand*\l@figure{\@regtocline{1}}
+\fi
+\newcommand*\listoftables{%
     \if@twocolumn
       \@restonecoltrue\onecolumn
     \else
       \@restonecolfalse
     \fi
-    \chapter*{\listtablename
-      \@mkboth{%
-          \listtablename}{\listtablename}}%
+    \chapter*{\listtablename}%
+    \@mkboth{\MakeUppercase{\listtablename}}%
+            {\MakeUppercase{\listtablename}}%
     \@starttoc{lot}%
     \if@restonecol\twocolumn\fi
     }
 \let\l@table\l@figure
 \newdimen\bibindent
 \setlength\bibindent{1.5em}
+\newcommand*\newblock{}
 \newenvironment{thebibliography}[1]
-     {\chapter*{\bibname
-        \@mkboth{\bibname}{\bibname}}%
+     {\chapter*{\bibname}%
+       \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
       \list{\@biblabel{\@arabic\c@enumiv}}%
            {\settowidth\labelwidth{\@biblabel{#1}}%
             \leftmargin\labelwidth
@@ -820,67 +984,73 @@
             \@openbib@code
             \usecounter{enumiv}%
             \let\p@enumiv\@empty
-            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
-      \sloppy
-      \clubpenalty4000
-      \@clubpenalty \clubpenalty
-      \widowpenalty4000%
+            \renewcommand*\theenumiv{\@arabic\c@enumiv}}%
+      \sloppy\clubpenalty4000\widowpenalty4000%
       \sfcode`\.\@m}
      {\def\@noitemerr
        {\@latex@warning{Empty `thebibliography' environment}}%
       \endlist}
-\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\renewcommand\newblock{\hskip.11em\@plus.33em\@minus.07em}
 \let\@openbib@code\@empty
-\newenvironment{theindex}
-               {\if@twocolumn
+\newenvironment{theindex}{%
+  \if@twocolumn
                   \@restonecolfalse
                 \else
                   \@restonecoltrue
                 \fi
+  \twocolumn[\@makeschapterhead{\indexname}]%
+  \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}%
+  \thispagestyle{plain}\parindent\z@
                 \columnseprule \z@
                 \columnsep 35\p@
-                \twocolumn[\@makeschapterhead{\indexname}]%
-                \@mkboth{\indexname}%
-                        {\indexname}%
-                \thispagestyle{empty}\parindent\z@
                 \parskip\z@ \@plus .3\p@\relax
-                \let\item\@idxitem}
-               {\if@restonecol\onecolumn\else\clearpage\fi}
-\newcommand\@idxitem{\par\hangindent 40\p@}
-\newcommand\subitem{\@idxitem \hspace*{20\p@}}
-\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
-\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
-\renewcommand\footnoterule{%
+  \let\item\@idxitem
+  }{%
+  \if@restonecol\onecolumn\else\clearpage\fi}
+\newcommand*\@idxitem  {\par\hangindent 40\p@}
+\newcommand*\subitem   {\@idxitem\hspace*{20\p@}}
+\newcommand*\subsubitem{\@idxitem\hspace*{30\p@}}
+\newcommand*\indexspace{\par\vskip10\p@\@plus5\p@\@minus3\p@\relax}
+\renewcommand*\footnoterule{%
   \kern-3\p@
-  \hrule\@width.4\columnwidth
-  \kern2.6\p@}
+  \kern.5\baselineskip
+  \hrule\@width\unitindent
+  \kern.4\baselineskip
+}
 \@addtoreset{footnote}{chapter}
-\newcommand\@makefntext[1]{%
-    \parindent 1em%
-    \noindent
-    \hb@xt@1.8em{\hss\@makefnmark}#1}
-\newcommand\contentsname{Contents}
-\newcommand\listfigurename{List of Figures}
-\newcommand\listtablename{List of Tables}
-\newcommand\bibname{Bibliography}
-\newcommand\indexname{Index}
-\newcommand\figurename{Figure}
-\newcommand\tablename{Table}
-\newcommand\partname{Part}
-\newcommand\chaptername{Chapter}
-\newcommand\appendixname{Appendix}
+\newcommand*\@makefntext{\@xmakefntext{\normalfont\@thefnmark.}}
+\newcommand*\@xmakefntext[1]{%
+    \parindent\z@
+    \def\labelitemi{\textendash}\@revlabeltrue
+    {\setbox0\hbox {#1\hskip.5em plus 1fil}
+      \dimen0=2\wd0\relax
+      \ifdim\dimen0>\unitindent
+        \global\unitindent\dimen0\relax
+        \@indentset
+      \fi}
+    \leavevmode\hb@xt@.5\unitindent{#1\hfil}}
+\newcommand*\contentsname{Contents}
+\newcommand*\listfigurename{List of Figures}
+\newcommand*\listtablename{List of Tables}
+\newcommand*\bibname{Bibliography}
+\newcommand*\indexname{Index}
+\newcommand*\figurename{Figure}
+\newcommand*\tablename{Table}
+\newcommand*\partname{Part}
+\newcommand*\chaptername{Chapter}
+\newcommand*\appendixname{Appendix}
+\newcommand*\abstractname{Abstract}
+\newcommand*\seename{see}
+\newcommand*\andname{and}
+\newcommand*\today{}
 \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}
 \setlength\columnsep{10\p@}
 \setlength\columnseprule{0\p@}
-\pagestyle{headings}
-\pagenumbering{arabic}
-\if@twoside
-\else
-  \raggedbottom
-\fi
+\pagestyle{plain}
+\pagenumbering{arabic}      % Arabic page numbers
 \if@twocolumn
   \twocolumn
   \sloppy
@@ -888,9 +1058,7 @@
 \else
   \onecolumn
 \fi
-
-\newcommand\br{\hfill\break}
-
+\frenchspacing
 \endinput
 %%
-%% End of file `birkmono.cls'.
+%% End of file `rapport3.cls'.

 

Close Window
 
  The service has been written by
Heinrich Stamerjohanns