summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ucthesis/ucthesis.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ucthesis/ucthesis.cls')
-rw-r--r--macros/latex/contrib/ucthesis/ucthesis.cls1291
1 files changed, 1291 insertions, 0 deletions
diff --git a/macros/latex/contrib/ucthesis/ucthesis.cls b/macros/latex/contrib/ucthesis/ucthesis.cls
new file mode 100644
index 0000000000..69ad4dee2a
--- /dev/null
+++ b/macros/latex/contrib/ucthesis/ucthesis.cls
@@ -0,0 +1,1291 @@
+%% ucthesis.cls
+%% Copyright (C) 1988-2004 Daniel Gildea, BBF, Ethan Munson.
+%
+% This work 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 "unmaintained".
+%
+% This work consists of the files ucthesis.cls, uct10.clo, uct11.clo,
+% uct12.clo, uctest.bib, and uctest.tex.
+
+%%% ====================================================================
+%%% @LaTeX-class-file{
+%%% filename = "ucthesis.cls",
+%%% version = "3.2",
+%%% date = "19 December 2004",
+%%% license = "LPPL",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "LaTeX, ucthesis",
+%%% docstring = "This file is the main file for the ucthesis
+%%% class, which is intended to meet the requirements
+%%% for University of California Ph.D. dissertations.
+%%% It is a direct port to LaTeX2e from UCTHESIS
+%%% v2.7 by Ethan V. Munson, with no changes other
+%%% than those for compatibility. The major modifictions
+%%% are in the font selection commands in the option
+%%% files uct1x.clo.
+%%%
+%%% UCTHESIS.STY v2.7 is based on the standard
+%%% report.sty as modified by Mittelbach and Schopf in
+%%% Jan 1992. The primary differences are (1) the use
+%%% of pseudo-double-spacing, except in certain special
+%%% environments; and (2) the use of a 6 inch line
+%%% with 4em paragraph indentation. It is only
+%%% intended for single-sided printing. Double-sided
+%%% printing may be possible, but you're on
+%%% your own.
+%%%
+%%% I know of no bugs in this implementation,
+%%% but would be happy to hear of any problems
+%%% that arise with it.
+%%%
+%%% Version 2.x fixes a bug in the previous
+%%% version of 20 Jun 1988. The bug was that
+%%% "draft" optional mode didn't work because of
+%%% problems in handling optional arguments.
+%%% This file does not seem to work with earlier
+%%% versions of LaTeX (pre-Jan 1992).
+%%%
+%%% Version 2.3 includes a single-spaced
+%%% tabular* environment.
+%%%
+%%% Version 2.4 sets \evensidemargin correctly
+%%% for two-sided style. It also adds new
+%%% environments (\smalltabular and
+%%% \scriptsizetabular) which produce tables
+%%% with smaller fonts. The obvious methods
+%%% of producing small-font tables don't work
+%%% in ucthesis style.
+%%%
+%%% Version 2.5 adds support for the \maketitle
+%%% macro.
+%%%
+%%% Version 2.6 adds support for complete and
+%%% correct front matter. Some dead code was
+%%% removed, too.
+%%%
+%%% Version 2.7 adds front matter support for
+%%% thesis committees of more than 3 people
+%%% and for a labeled signature line on the
+%%% abstract page.
+%%%
+%%% Version 3.0 is a direct port of version 2.7
+%%% to LaTeX2e. The major revisions in ucthesis.cls
+%%% are converting option processing to LaTeX2e
+%%% conventions. The uct1x files have been revised
+%%% to use the new font selection commands.
+%%%
+%%% Version 3.1 makes the following changes:
+%%% ``U of C at CAMPUS'' is now ``U of C, CAMPUS''
+%%% new degreesemester variable
+%%% roman numeral frontmatter begins with page i,
+%%% not iii
+%%% ``acknowledgments'' not ``acknowledgements''
+%%%
+%%% Version 3.2 explicitly states the license as LPPL.
+%%%
+%%% Some users have had problems with the
+%%% margins ending up too small on one side.
+%%% This appears to be a DVI-to-PostScript
+%%% driver or printer-adjustment problem.
+%%% If you have such trouble, make small adjustments
+%%% to the \textwidth and \oddsidemargin
+%%% settings in your document preamble.
+%%%
+%%% Another problem some people have had is
+%%% that you can't use \pagestyle{headings}
+%%% and \markboth if you use \part. The solution
+%%% is to get the headerfooter style, which is
+%%% nice and simple to use."
+%%% }
+%%% ====================================================================
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ucthesis}[2004/12/19 v3.2 University of California Thesis Class]
+
+% ****************************************
+% * OPTIONS *
+% ****************************************
+%
+% Option values are now declared first thing. Defaults are set to
+% 11 point, onesided, final (ie not draft) mode (BBF 10/31/94)
+\newcommand\@ptsize{}
+\newcommand\@draftmark{}
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\DeclareOption{draft}{\renewcommand\@draftmark{1}}
+\DeclareOption{final}{\renewcommand\@draftmark{0}}
+\ExecuteOptions{11pt,oneside,final}
+
+
+% CHOOSING THE TYPE SIZE:
+%
+% The type size option is handled by reading a different file for each
+% size, as follows, to define font size-specific commands:
+% 10pt : UCT10, 11pt : UCT11, 12pt : UCT12
+%
+
+% Two-side or one-side printing.
+%
+% \@twosidefalse % Default is one-sided printing.
+\def\ds@twoside{\@twosidetrue % Defines twoside option.
+ \@mparswitchtrue} % Marginpars go on outside of page.
+
+% This is a tricky solution to a tough bootstrapping problem. The
+% "draft" option requires the definition of the \ssp macro. However,
+% the \ssp macro requires that the uct1?.clo file has been loaded. This
+% loading is done by the \@options command which also invokes the
+% \ds@draft macro. This was a cyclic dependency in the previous
+% version. To break this dependency, I have made \ds@draft set a marker
+% which is later tested to determine whether to actually do the draft
+% mode actions.
+%
+% Ethan Munson (October 16, 1992)
+
+% FMi 91/03/30: made twocolum.sty a file and twocolumn an option.
+
+% RmS 91/10/15: moved actual reading of twocolumn.sty
+% to the end of this file.
+\def\ds@twocolumn{\@twocolumntrue}
+
+% The \ProcessOptions command causes the execution of every option command
+% FOO which is declared and for which the user typed the FOO option in his
+% \documentclass. For every undeclared option BAR there will be a warning
+% message. (BBF 10/31/94)
+
+\ProcessOptions
+
+\input uct1\@ptsize.clo\relax
+
+% For some environments we switch back to single-spacing, also
+% provides \dsp in case you need double-spacing where single-spacing
+% is otherwise used.
+\def\ssp{\def\baselinestretch{1.0}\large\normalsize}
+\def\dsp{\def\baselinestretch{1.37}\large\normalsize}
+
+% \smallssp is used to produce tabular environments in the small font.
+% This is required because single-spacing requires a change in font size.
+% \scriptsizessp is a still smaller version of the same thing.
+
+\def\smallssp{\def\baselinestretch{1.0}\large\small}
+\def\scriptsizessp{\def\baselinestretch{1.0}\large\scriptsize}
+
+% draft option (this is where the draft option is actually implemented)
+%
+% \overfullrule = 0pt % Default is don't mark overfull hboxes.
+\ifnum \@draftmark = 1
+\ssp % Single-spaces and
+\overfullrule 5pt % causes overfull hboxes to be marked.
+\fi
+
+
+% PREPARING A FOREIGN LANGUAGE VERSION:
+%
+% This document style is for documents prepared in the English language.
+% To prepare a version for another language, various English words must
+% be replaced. Many of the English words that required replacement are
+% indicated below, where we give the name of the command in which the
+% words appear, and which must be redefined, with the actual words
+% underlined.
+%
+% Other English words that need replacement can be found in the macros
+% supporting the title and approval pages.
+%
+% \tableofcontents:
+\def\contentsname{Contents}
+% ~~~~~~~~
+%
+% \listoffigures:
+\def\listfigurename{List of Figures}
+% ~~~~~~~~~~~~~~~
+%
+% \listoftables:
+\def\listtablename{List of Tables}
+% ~~~~~~~~~~~~~~
+%
+% \thebibliography:
+\def\bibname{Bibliography}
+% ~~~~~~~~~~~~
+%
+% \theindex:
+\def\indexname{Index}
+% ~~~~~
+%
+% figure environment:
+\def\figurename{Figure}
+% ~~~~~~
+%
+% table environment:
+\def\tablename{Table}
+% ~~~~~
+%
+% \chapter:
+\def\chaptername{Chapter}
+% ~~~~~~~
+% \appendix:
+\def\appendixname{Appendix}
+% ~~~~~~~~
+% \part
+\def\partname{Part}
+% ~~~~
+% abstract environment:
+\def\abstractname{Abstract}
+% ~~~~~~~~
+%
+% acknowledge environment:
+\def\acknowledgename{Acknowledgments}
+% ~~~~~~~~~~~~~~~~
+
+% ****************************************
+% * FRONT MATTER *
+% ****************************************
+%
+
+% DECLARATIONS
+%
+% These macros are used to declare arguments needed for the
+% construction of the front matter.
+
+% The year the degree will be officially conferred
+\def\degreeyear#1{\gdef\@degreeyear{#1}}
+
+% The semester (Fall or Spring) the degree will be officially conferred
+\def\degreesemester#1{\gdef\@degreesemester{#1}}
+
+% The full (unabbreviated) name of the degree
+\def\degree#1{\gdef\@degree{#1}}
+
+% All previous degrees: one per line in chronological order
+\def\prevdegrees#1{\gdef\@prevdegrees{#1}}
+
+% The name of your committee's chair
+\def\chair#1{\gdef\@chair{#1}}
+
+% The names of your other committe members, one per line
+\def\othermembers#1{\gdef\@othermembers{#1}}
+
+% The number of committee members, which affects both the
+% number of lines and the amount of space between lines
+% on the approval page.
+\def\@numberofmembers{3}
+\def\@approvalspace{.75in}
+\def\numberofmembers#1{\gdef\@numberofmembers{#1}
+\ifnum \@numberofmembers > 3
+\gdef\@approvalspace{.5in}
+\fi}
+
+% The name of your degree's field (e.g. Psychology, Computer Science)
+\def\field#1{\gdef\@field{#1}}
+
+% You have to define the campus name twice because I can't figure out
+% how to get the TeX \uppercase macro to work for me (EVM, 9/21/94)
+
+% The name of your UC Campus CAPITALIZED (e.g. Berkeley, Los Angeles)
+\def\campus#1{\gdef\@campus{#1}}
+
+% \alwayssingle and \endalwayssingle
+%
+% These macros define an environment for front matter that is always
+% single column even in a double-column document.
+
+\def\alwayssingle{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
+ \else \newpage \fi}
+
+\def\endalwayssingle{\if@restonecol\twocolumn \else \newpage \fi}
+
+% \maketitle outputs the complete titlepage. It requires all the
+% above macros except \campuscap. It is probably not correct for
+% joint (e.g. UCSD/SDSU) degrees.
+
+% Set the font that will be used in the front matter headings
+\def\fmfont{\fontsize\@xiipt{14.5}\selectfont}
+\def\fmsmallfont{\fontsize\@xiipt{14pt}\selectfont}
+
+\def\maketitle{
+{\ssp
+\begin{alwayssingle}
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \thispagestyle{empty}
+ \setcounter{page}{1}
+
+ \null\vfil
+ \begin{center}
+ \fmfont
+ {\bfseries {\@title} \par}
+ \bigskip \medskip
+ by \par
+ \bigskip \medskip
+ {\@author} \par
+\vspace{6ex}
+ {\@prevdegrees} \par
+\vspace{6ex}
+ A dissertation submitted in partial satisfaction of the \par
+\smallskip
+ requirements for the degree of \par
+\smallskip
+ {\@degree} \par
+ \bigskip \medskip
+ in \par
+ \bigskip \medskip
+ {\@field}\par
+ \bigskip \medskip
+ in the \par
+ \bigskip \medskip
+ GRADUATE DIVISION \par
+\smallskip
+ of the \par
+\smallskip
+ UNIVERSITY OF CALIFORNIA, {\expandafter\uppercase\expandafter{\@campus}}
+ \end{center}
+{
+\vspace{6ex}
+\begin{center}
+\fmsmallfont
+ Committee in charge: \\
+{\@chair}, Chair \\
+{\@othermembers} \\
+\vspace{4ex}
+ {\@degreesemester \ \@degreeyear}
+\end{center}
+}
+ \vfil\null
+\end{alwayssingle}
+
+\setcounter{footnote}{0}
+}}
+
+% APPROVALPAGE
+%
+% The \approvalpage macro emits a UC-approved approval page ready for
+% your committee's signature. It is not an automatic part of the
+% output because there's really no point in printing it until you are
+% ready to get signatures. It requires the the \year, \author, and
+% \campus macros have been defined. It uses lots of tricky spacing
+% that is probably better handled with tabular environment code, but
+% I'm too lazy to fix it. (EVM, 9/19/94)
+
+\def\approvalpage{
+\begin{alwayssingle}
+\thispagestyle{empty}
+\null\vfill
+\begin{center}
+\fmfont The dissertation of {\@author} is approved: \\
+\vspace{.25in}
+\vspace{\@approvalspace}
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small Chair%
+\hspace{3.15in} Date }}\:$ \\
+\vspace{\@approvalspace}
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\
+\vspace{\@approvalspace}
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\
+\vspace{\@approvalspace}
+\ifnum \@numberofmembers > 3
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\
+\vspace{\@approvalspace}
+\fi
+\ifnum \@numberofmembers > 4
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\
+\vspace{\@approvalspace}
+\fi
+\ifnum \@numberofmembers > 5
+$\:\overline{~~~~ \mbox{\rule{0in}{0.16in}\small ~\hspace{3.5in} Date }}\:$ \\
+\vspace{\@approvalspace}
+\fi
+{\fmfont University of California, {\@campus}} \\
+\vspace{-.25in}
+\vspace{\@approvalspace}
+{\fmfont \@degreesemester \ \@degreeyear}
+\end{center}
+\vfill\null
+\end{alwayssingle}
+}
+
+% COPYRIGHTPAGE
+%
+% While it's technically optional, you probably want a copyright page.
+% This is a macro, not an environment, because it can be generated
+% with the \title, \author, and \year macros.
+
+\def\copyrightpage{
+\begin{alwayssingle}
+\thispagestyle{empty}
+\begin{center}
+{\fmfont
+{\bfseries\@title}\par
+\vspace{1in}
+Copyright \@degreeyear\par
+by\par
+\@author}
+\end{center}
+\end{alwayssingle}}
+
+% ABSTRACT
+%
+% The ABSTRACT environment allows for multi-page abstracts which,
+% in accordance with UC rules, is numbered separately from the rest
+% of the rest of the dissertation in Arabic. It requires definition
+% of the \title, \author, \degree, \field, \campus, and \chair macros.
+
+
+\def\abstract{
+\begin{alwayssingle}
+\pagestyle{plain}
+\thispagestyle{plain}
+\setcounter{page}{1}
+\begin{center}
+{\fmfont
+{\bfseries \abstractname}\par
+\vspace{.5in}
+\@title\par
+\vspace{.1in}
+by\par
+\vspace{.1in}
+\@author\par
+{\@degree} in \@field\par
+\vspace{.1in}
+University of California, {\@campus}\par
+\vspace{.1in}
+{\@chair}, Chair}
+\vspace{.1in}
+\end{center}}
+
+\def\endabstract{\par\vfil\null\end{alwayssingle}
+}
+
+\def\abstractsignature{
+\hspace*{\fill}
+\begin{minipage}[t]{3.25in}
+\addtolength{\baselineskip}{-.5\baselineskip}
+\vspace{1.7cm}
+\rule{3.2in}{.5pt}\\
+\@chair\\
+Dissertation Committee Chair
+\end{minipage}}
+
+% DEDICATION
+%
+% The dedication environment just makes sure the dedication gets its
+% own page.
+
+\newenvironment{dedication}
+{\begin{alwayssingle}}
+{\end{alwayssingle}}
+
+% ACKNOWLEDGEMENTS
+%
+% The acknowledgements environment puts a large, bold, centered
+% "Acknowledgements" label at the top of the page.
+
+\newenvironment{acknowledgements}
+{\begin{alwayssingle}
+\begin{center}
+{\large \bfseries \acknowledgename}
+\end{center}
+}
+{\end{alwayssingle}}
+
+% FRONTMATTER environment
+%
+% The FRONTMATTER environment makes sure that page numbering is set
+% correctly (roman, lower-case, starting at 3) for the front matter
+% that follows the abstract. It also resets page-numbering for
+% the remainder of the dissertation (arabic, starting at 1).
+
+\newenvironment{frontmatter}
+{\setcounter{page}{1}\renewcommand{\thepage}{\roman{page}}}
+{\newpage\renewcommand{\thepage}{\arabic{page}}\setcounter{page}{1}}
+
+
+% ****************************************
+% * LISTS *
+% ****************************************
+%
+
+% 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.
+%
+% 16 Mar 88 -- changed defs of \labelenum... to use \theenum...
+
+\def\labelenumi{\theenumi.}
+\def\theenumi{\arabic{enumi}}
+
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\alph{enumii}}
+\def\p@enumii{\theenumi}
+
+\def\labelenumiii{\theenumiii.}
+\def\theenumiii{\roman{enumiii}}
+\def\p@enumiii{\theenumi(\theenumii)}
+
+\def\labelenumiv{\theenumiv.}
+\def\theenumiv{\Alph{enumiv}}
+\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{$\m@th\bullet$}
+\def\labelitemii{\bfseries --}
+\def\labelitemiii{$\m@th\ast$}
+\def\labelitemiv{$\m@th\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{\par\let\\=\@centercr
+ \list{}{\ssp\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+ \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
+\let\endverse\endlist
+
+% QUOTATION
+% Fills lines
+% Indents paragraph
+%
+\def\quotation{\par\list{}{\ssp\listparindent 1.5em
+ \itemindent\listparindent
+ \rightmargin\leftmargin\parsep \z@ plus\p@}\item[]}
+\let\endquotation=\endlist
+
+% QUOTE -- same as quotation except no paragraph indentation,
+%
+\def\quote{\par\list{}{\ssp\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+
+% DESCRIPTION
+%
+% To change the formatting of the label, you must redefine
+% \descriptionlabel.
+
+\def\descriptionlabel#1{\hspace\labelsep \bfseries #1}
+\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+
+\let\enddescription\endlist
+
+\newdimen\descriptionmargin
+\descriptionmargin=3em
+
+
+% ****************************************
+% * OTHER ENVIRONMENTS *
+% ****************************************
+%
+%
+% VERBATIM
+%
+% standard verbatim mode driver macro is modified to use
+% single-spacing. There appears to be a small problem with extra
+% vertical space (1 or 2 points worth) after this environment.
+% Probably, this results from returning to double-spacing before
+% issuing a \parskip, but I'm not enough of TeX hacker to figure out
+% the source of the problem. (EVM, 9/25/94)
+% 94/11/03 BBF converted \tt to \ttfamily
+
+\def\@verbatim{\trivlist\ssp \item[]\if@minipage\else\vskip\parskip\fi
+\leftskip\@totalleftmargin\rightskip\z@
+\parindent\z@\parfillskip\@flushglue\parskip\z@
+%%RmS 91/08/26 Added \@@par to clear possible \parshape definition
+%%from a surrounding list (the verbatim guru says)
+\@@par
+\@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par
+\penalty\interlinepenalty}%
+\obeylines \ttfamily \catcode``=13 \@noligs \let\do\@makeother \dospecials}
+
+% ARRAY AND TABULAR
+%
+
+\arraycolsep 5pt % Half the space between columns in an array
+ % environment.
+\tabcolsep 6pt % Half the space between columns in a tabular
+ % environment.
+\arrayrulewidth .4pt % Width of rules in array and tabular environment.
+\doublerulesep 2pt % Space between adjacent rules in array or tabular
+ % environment.
+
+% We have to redefine array here in order to make it single-spaced.
+% (Not sure if this is really necessary.)
+\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv \let\\\@arraycr\let\@halignto\@empty\@tabarray}
+
+% TABBING
+%
+\tabbingsep \labelsep % Space used by the \' command.
+ % (See LaTeX manual.)
+
+% We have to redefine tabular here in order to make it single-spaced.
+\def\tabular{\par\ssp\let\@halignto\@empty\@tabular}
+\expandafter \def\csname tabular*\endcsname #1%
+{\par\ssp\def\@halignto{to#1}\@tabular}
+
+% \smalltabular and \smalltabular* are alternative tabular styles
+% in the \small font. They are required because single-spacing implies a
+% change of font to a particular size.
+% EVM, 7/20/93
+\def\smalltabular{\par\smallssp\let\@halignto\@empty\@tabular}
+\def\endsmalltabular{\endtabular}
+\expandafter \def\csname smalltabular*\endcsname #1%
+{\par\smallssp\def\@halignto{to#1}\@tabular}
+\expandafter \let \csname endsmalltabular*\endcsname = \endtabular
+
+% \scriptsizetabular and \scriptsizetabular* are analogs of \smalltabular
+\def\scriptsizetabular{\par\scriptsizessp\let\@halignto\@empty\@tabular}
+\def\endscriptsizetabular{\endtabular}
+\expandafter \def\csname scriptsizetabular*\endcsname #1%
+{\par\scriptsizessp\def\@halignto{to#1}\@tabular}
+\expandafter \let \csname endscriptsizetabular*\endcsname = \endtabular
+
+% 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 = 3pt % Space left between box and text by \fbox and
+ % \framebox.
+\fboxrule = .4pt % Width of rules in box made by \fbox and \framebox.
+
+
+% ****************************************
+% * CHAPTERS AND SECTIONS *
+% ****************************************
+%
+% 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.
+
+% Must redefine @startsection so that we always get indentation.
+\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
+ \par \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \relax\fi
+ \if@nobreak \everypar{}\else
+ \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar
+ {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+\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 '\chaptername'. The \appendix
+% command redefines it to be '\appendixname'.
+%
+\def\@chapapp{\chaptername}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PART %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\part{\cleardoublepage % Starts new page.
+ \thispagestyle{plain}% % Page style of part page is 'plain'
+ \if@twocolumn % IF two-column style
+ \onecolumn % THEN \onecolumn
+ \@tempswatrue % @tempswa := true
+ \else \@tempswafalse % ELSE @tempswa := false
+ \fi % FI
+ \hbox{}\vfil % Add fil glue to center title
+%% \bgroup \centering % BEGIN centering %% Removed 19 Jan 88
+ \secdef\@part\@spart}
+
+\def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2
+ \refstepcounter{part}% % THEN step
+ % part counter
+ \addcontentsline{toc}{part}{\thepart % add toc line
+ \hspace{1em}#1}\else % ELSE add
+ % unnumb. line
+ \addcontentsline{toc}{part}{#1}\fi % FI
+ \markboth{}{}%
+ {\centering % %% added 19 Jan 88
+ \interlinepenalty \@M %% RmS added 11 Nov 91
+ \ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2
+ \huge\bfseries \partname~\thepart % THEN Print '\partname' and
+ \par % number in \huge bold.
+ \vskip 20\p@\fi % Add space before title.
+ \Huge \bfseries % FI
+ #2\par}\@endpart} % Print Title in \Huge bold.
+ % Bug Fix 13 Nov 89: #1 -> #2
+
+
+% \@endpart finishes the part page
+%
+\def\@endpart{\vfil\newpage % End page with 1fil glue.
+ \if@twoside % IF twoside printing
+ \hbox{}% % THEN Produce totally blank page
+ \thispagestyle{empty}%
+ \newpage
+ \fi % FI
+ \if@tempswa % IF @tempswa = true
+ \twocolumn % THEN \twocolumn
+ \fi} % FI
+
+\def\@spart#1{{\centering % %% added 19 Jan 88
+ \interlinepenalty \@M %% RmS added 11 Nov 91
+ \Huge \bfseries % Print title in \Huge boldface
+ #1\par}\@endpart}
+
+
+
+
+
+% ****************************************
+% * 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
+
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{4.5}
+\setcounter{tocdepth}{2}
+
+
+% TABLEOFCONTENTS
+% In ucthesis style, \tableofcontents, \listoffigures, etc. are always
+% set in single-column style. @restonecol
+
+\def\tableofcontents{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\contentsname
+ \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
+ {\ssp\@starttoc{toc}}\if@restonecol\twocolumn\fi}
+
+\def\l@part#1#2{\addpenalty{-\@highpenalty}%
+ \addvspace{2.25em plus\p@}% space above part line
+ \begingroup
+ \@tempdima 3em % width of box holding part number, used by
+ \parindent \z@ \rightskip \@pnumwidth %% \numberline
+ \parfillskip -\@pnumwidth
+ {\large \bfseries % set line in \large boldface
+ \leavevmode % TeX command to enter horizontal mode.
+ #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
+ \nobreak % Never break after part entry
+ \global\@nobreaktrue %% Added 24 May 89 as
+ \everypar{\global\@nobreakfalse\everypar{}}%% suggested by
+ %% Jerry Leichter
+ \endgroup}
+
+%% First line of l@chapter changed 24 May 89, as suggested
+%% by Jerry Leichter.
+%%
+\def\l@chapter#1#2{\addpenalty{-\@highpenalty}%
+ \vskip 1.0em plus\p@ % space above chapter line
+ \@tempdima 1.5em % width of box holding chapter number
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \bfseries % Boldface.
+ \leavevmode % TeX command to enter horizontal mode.
+ \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
+ \hskip -\leftskip %% 25 Jan 88 change to \numberline
+ #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty %% added 24 May 89, suggested by J. Leichter
+ \endgroup}
+
+\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\def\l@paragraph{\@dottedtocline{4}{10em}{5em}}
+\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
+
+% LIST OF FIGURES
+%
+% Single-space list of figures, add it to the table of contents.
+\def\listoffigures{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listfigurename\@mkboth{\uppercase{\listfigurename}}%
+{\uppercase{\listfigurename}}}
+ \addcontentsline{toc}{chapter}{\listfigurename}
+ {\ssp\@starttoc{lof}}\if@restonecol
+ \twocolumn\fi}
+
+\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+
+% LIST OF TABLES
+%
+\def\listoftables{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listtablename\@mkboth{\uppercase{\listtablename}}%
+ {\uppercase{\listtablename}}}\@starttoc{lot}\if@restonecol
+ \twocolumn\fi}
+\def\listoftables{\@restonecolfalse
+ \if@twocolumn\@restonecoltrue\onecolumn\fi
+ \chapter*{\listtablename\@mkboth{\uppercase{\listtablename}}%
+{\uppercase{\listtablename}}}
+ \addcontentsline{toc}{chapter}{\listtablename}
+ {\ssp\@starttoc{lot}}\if@restonecol
+ \twocolumn\fi}
+
+
+\let\l@table\l@figure
+
+
+
+% ****************************************
+% * 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.
+
+%% RmS 91/10/27 [ .. ] replaced by \@biblabel{ .. }
+%% RmS 91/11/13: Changed counter enumi to enumiv,
+%% as it says in the comment in latex.tex
+%% RmS 92/01/14: Set \p@enumiv to {} and \theenumiv to \arabic{enumiv}
+%% to get correct references
+\def\thebibliography#1{\chapter*{\bibname\@mkboth
+ {\uppercase{\bibname}}{\uppercase{\bibname}}}
+ \addcontentsline{toc}{chapter}{\bibname}
+ \list{\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \def\theenumiv{\arabic{enumiv}}}%
+ \def\newblock{\hskip .11em plus.33em minus.07em}%
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=\@m}
+
+
+%% 91/08/26 FMI & RmS: introduced warning instead of error
+
+\def\endthebibliography{%
+ \def\@noitemerr{\@warning{Empty `thebibliography' environment}}%
+ \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 35\p@\twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
+ \thispagestyle{plain}\parindent\z@
+ \parskip\z@ plus .3\p@\relax\let\item\@idxitem}
+
+\def\@idxitem{\par\hangindent 40\p@}
+
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}
+
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+
+\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
+
+
+% ****************************************
+% * 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 .4pt.
+
+% \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 10pt,
+% 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 10pt \@tempdima}\par
+% \parindent 1em\noindent
+% \hbox to \z@{\hss$\m@th^{\@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 1em\noindent
+ \hbox to 1.8em{\hss$\m@th^{\@thefnmark}$}#1}
+
+% \@makefnmark : A macro to generate the footnote marker that goes
+% in the text. Default used.
+%
+
+
+% Single-space footnotes.
+\long\def\@footnotetext#1{\insert\footins{\ssp\reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+ {\rule{\z@}{\footnotesep}\ignorespaces
+ #1\strut}}}
+
+% ****************************************
+% * FIGURES AND TABLES *
+% ****************************************
+%
+% Float placement parameters. See LaTeX manual for their definition.
+%
+\setcounter{topnumber}{2}
+\def\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\def\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\def\textfraction{.2}
+\def\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.7}
+\def\dblfloatpagefraction{.5}
+
+% \@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.
+% changed 25 Jun 86 to fix according to Howard Trickey:
+% instead of \unhbox\@tempboxa\par we do #1: #2\par
+
+% 15 Nov 93: further changes to support captions BEFORE the figure
+% or table. Changes suggested by Donald Arseneau, installed by Ethan
+% Munson. Detailed reasons are:
+% The \unhbox allows \vadjust material (\vspace) to get out;
+% the \vbox to\topskip{} is for captions at the top of top-floats;
+% the \ifdim is for captions above the figure or table;
+% the strut is for tables below the caption.
+
+\long\def\@makecaption#1#2{% Add space only if something is ...
+ \par\ifdim\prevdepth>-\p@ \vskip 10\p@\relax \fi % above the caption
+ \setbox\@tempboxa\hbox{\vbox to\topskip{}#1: #2\unskip\strut}%
+ \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
+ {\ssp#1: #2\unskip\strut\par} % THEN set as ordinary paragraph.
+ \else % ELSE center.
+ \hbox to\hsize{\hfil\unhbox\@tempboxa\hfil}%
+ \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\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename~\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\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename~\thetable}
+\def\table{\@float{table}}
+\let\endtable\end@float
+\@namedef{table*}{\@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat}
+
+
+% ****************************************
+% * 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 defined in LATEX.TEX
+
+% Definition of 'headings' page style
+% Note the use of ##1 for parameter of \def\chaptermark inside the
+% \def\ps@headings.
+%
+% 91/03/26 FMi: Added extra set of braces arround |\sl| in |\@oddhead|
+% to support NFSS (|\sl| is a shape |\rm| a family). Also remove
+% unnecessary |\hbox{}| commands.
+%
+% 94/11/3 BBF: Eliminated two letter font selection commands \rm and \sl
+% in favor of \rmfamily and \slshape.
+%
+
+\if@twoside % If two-sided printing.
+\def\ps@headings{\let\@mkboth\markboth
+ \def\@oddfoot{}\def\@evenfoot{}% No feet.
+ \def\@evenhead{\rmfamily \thepage\hfil \slshape \leftmark}% Left heading.
+ \def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\thepage}% Right heading.
+ \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}}}}
+\else % If one-sided printing.
+\def\ps@headings{\let\@mkboth\markboth
+\def\@oddfoot{}\def\@evenfoot{}% No feet.
+\def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\thepage}% Heading.
+\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ \fi ##1}}}}
+\fi
+
+% Definition of 'myheadings' page style.
+%
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+ \def\@oddhead{{\slshape\rightmark}\hfil \rmfamily\thepage}%
+ \def\@oddfoot{}\def\@evenhead{\rmfamily \thepage\hfil\slshape\leftmark}%
+ \def\@evenfoot{}\def\chaptermark##1{}\def\sectionmark##1{}%
+ \def\subsectionmark##1{}}
+
+% Definition of 'plain' page style.
+%
+\def\ps@plain{\let\@mkboth\markboth
+\def\@oddfoot{}\def\@evenfoot{} % no feet
+\def\@oddhead{\hbox{}\hfil\rmfamily\thepage} % heading (right)
+\def\@evenhead{\rmfamily\thepage\hfil\hbox{}}} % heading (left)
+
+
+
+% ****************************************
+% * MISCELLANEOUS *
+% ****************************************
+%
+% DATE
+%
+\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}
+
+% 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 = 3pt % Extra space added between lines of an eqnarray
+ % environment
+
+% The macro \@eqnnum defines how equation numbers are to appear in
+% equations.
+%
+% \def\@eqnnum{(\theequation)}
+%
+
+
+% ****************************************
+% * INITIALIZATION *
+% ****************************************
+%
+% Default initializations
+
+\ps@plain % 'plain' page style
+\pagenumbering{arabic} % Arabic page numbers
+\if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside
+ % option.
+\if@twocolumn
+ \@@input twocolum.sty\relax
+\else
+ \onecolumn % Single-column.
+\fi
+
+\endinput