% mitthesis.sty  12 Sep 89
% For Massachusetts Institute of Technology theses (grad and undergrad),
% based on "Specifications for Thesis Preparation" Revised 1986.
%
% This style option is designed to work with the report document
% style of LaTeX version 2.09.  Use
% \documentstyle[mitthesis]{report}

% "Preferably, the text should appear on only one side of the paper."
% Hence no doubleside option.

% Copyright (c) 1987 by Stephen Gildea
% Permission to copy all or part of this work is granted, provided
% that the copies are not made or distributed for resale, and that
% the copyright notice and this notice are retained.
% 
% THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHOR PROVIDES NO
% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
% FOR ANY PARTICULAR PURPOSE.

% If you make any improvements, I'd like to hear about them.

% Stephen Gildea
% MIT Earth Resources Lab
% Cambridge, Massachusetts 02139
% mit-erl!gildea
% gildea@erl.mit.edu

% 29 Jun 87 original version
% 12 Sep 89 <prange> \supervisor optional arg added

% "Margins must be at least an inch and a quarter on the binding margin
% (normally the left side), and at least one inch on the other sides."
\oddsidemargin .25in
\evensidemargin 0in

\topmargin 0in
\headheight 0in			% no header
\headsep \headheight

\textwidth 6.25in
\textheight 8.5in

\footskip .4in

% "The main body of the text should utilize a space and a half or double
% spacing.  The abstract, biography, footnotes, and bibliography
% sections may be single spaced"
\input doublespace.sty		%available from Clarkson LaTeX-style collection
\def\baselinestretch{1.3}

%% End of formatting parameters %%

%% Define all the pieces that go on the title page and the abstract.

% \title and \author already exist

\def\prevdegrees#1{\gdef\@prevdegrees{#1}}
\def\@prevdegrees{}

\def\department#1{\gdef\@department{#1}}

% If you are getting two degrees, use \and between the names.
\def\degree#1{\setbox0\hbox{#1}	 %for side effect of setting \@degreeword
  \gdef\@degree{#1}}

% \and is used inside the \degree argument to separate two degrees
\def\and{\gdef\@degreeword{degrees} \par and \par}
\def\@degreeword{degree}

% If there is no \copyrightnotice command, it is asssumed that MIT
% holds the copyright.  This commands adds the copyright symbol to the
% beginning, and puts the standard permission notice below.
\def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1\par\permission}}

% Occacionally you will need to exactly specify the text of the 
% copyright notice.  The \copyrightnoticetext command is then useful.
\long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}}
\def\@copyrightnotice{\copyright\ \School\ \@degreeyear}

\def\thesisdate#1{\gdef\@thesisdate{#1}}

% typically just a month and year
\def\degreemonth#1{\gdef\@degreemonth{#1}}
\def\degreeyear#1{\gdef\@degreeyear{#1}}

% Usage: \supervisor{name}{title}
%        \chairman{name}{title}

% since there can be more than one supervisor,
% we build the appropriate boxes for the titlepage and
% the abstractpage as the user makes multiple calls
% to \supervisor
\newbox\@titlesupervisor 	\newbox\@abstractsupervisor

% The \supervisor command takes an optional argument in case you
% want to label a person other than "Thesis Supervisor".  For example,
% \supervisor[Thesis Co-supervisor]{Arthur Cheng}{Principle Research Scientist}

\def\supervisor{\@ifnextchar[{\@supervisor}{\@supervisor[Thesis Supervisor]}}
\def\@supervisor[#1]#2#3{\setbox\@titlesupervisor\vbox
  {\unvbox\@titlesupervisor \vskip 10pt plus 1fil minus 1fil
  \def\baselinestretch{1}\large
  \signature{Certified by}{#2 \\ #3 \\ #1}}
  \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor
  \vskip\baselineskip \def\baselinestretch{1}\@normalsize 
  \par\noindent #1: #2 \\ Title: #3}}

% department chairman, not thesis committee chairman
\def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}}

\def\maketitle{\begin{titlepage}
\large
{\def\baselinestretch{1.2}\Large\bf \@title \par}
by\par
{\Large \@author}
\par
\@prevdegrees
\par
Submitted to the \@department \\
in partial fulfillment of the requirements for the \@degreeword\ of
\par
\@degree
\par
at the
\par\SCHOOL\par
\@degreemonth\ \@degreeyear
\par
\@copyrightnotice
\par
\vskip \baselineskip
\signature{Signature of Author}{\@department \\ \@thesisdate}
\par
\unvbox\@titlesupervisor
\par
\signature{Accepted by}{\@chairmanname \\ \@chairmantitle}
\end{titlepage}}

% this environment should probably be called abstract,
% but we want people to also be able to get at the more
% basic abstact environment
\def\abstractpage{\newpage
\begin{center}{\large{\bf \@title} \\
by \\
\@author \\[\baselineskip]}
\par
\def\baselinestretch{1}\@normalsize
Submitted to the \@department \\
on \@thesisdate, in partial fulfillment of the \\
requirements for the \@degreeword\ of \\
\@degree
\end{center}
\par
\begin{abstract}}

\def\endabstractpage{\end{abstract}\noindent
  \unvbox\@abstractsupervisor \newpage}

% You can use the titlepage environment to do it all yourself if you
% don't want to use \maketitle.  If the titlepage environment, the
% paragraph skip is infinitely stretchable, so if you leave a blank line
% between lines that you want space between, the space will stretch so
% that the title page fills up the entire page.
\def\titlepage{\newpage\centering
  \thispagestyle{empty}
  \parindent 0pt \parskip 10pt plus 1fil minus 1fil
  \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup}
% The \kern0pt pushes any depth into the height.  Thanks to Richard Stone.
\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage}

\def\SCHOOL{THE COLLEGE OF WILLIAM AND MARY IN VIRGINIA}
\def\School{The College of William and Mary in Virginia}

\def\permission{\par\noindent{\centering
  The author hereby grants to William and Mary permission to reproduce and \\*
  to distribute copies of this thesis document in whole or in part.}\par}

\def\signature#1#2{\par\noindent#1\dotfill\null\\*
  {\raggedleft #2\par}}

\def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize}
\def\endabstract{\par}

% If using the report style, use - instead of . in the figure number.
\@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}}
