summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/rus/uni.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex209/contrib/rus/uni.sty
Initial commit
Diffstat (limited to 'macros/latex209/contrib/rus/uni.sty')
-rw-r--r--macros/latex209/contrib/rus/uni.sty1384
1 files changed, 1384 insertions, 0 deletions
diff --git a/macros/latex209/contrib/rus/uni.sty b/macros/latex209/contrib/rus/uni.sty
new file mode 100644
index 0000000000..ca2d6367d7
--- /dev/null
+++ b/macros/latex209/contrib/rus/uni.sty
@@ -0,0 +1,1384 @@
+
+% ********************************************
+% * 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