diff thesis/mitthesis/mitthesis.cls @ 421:c2c28c3e27c4

get mit thesis template file.
author Robert McIntyre <rlm@mit.edu>
date Fri, 21 Mar 2014 00:08:49 -0400
parents
children
line wrap: on
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/thesis/mitthesis/mitthesis.cls	Fri Mar 21 00:08:49 2014 -0400
     1.3 @@ -0,0 +1,535 @@
     1.4 +% $Log: mitthesis.cls,v $
     1.5 +% Revision 1.9  2012/02/15 15:48:16  jdreed
     1.6 +% Tweak the "permission" statement per the Libraries' specs
     1.7 +% retrieved 15-Feb-2012
     1.8 +%
     1.9 +% Revision 1.8  2009/07/27 14:23:50  boojum
    1.10 +% added changing draft mark
    1.11 +%
    1.12 +% Revision 1.6  2005/05/13 19:57:40  boojum
    1.13 +% added leftblank option
    1.14 +%
    1.15 +% Revision 1.5  2002/04/18 14:10:08  boojum
    1.16 +% changed doublespace into setspace for 2e compliance
    1.17 +%
    1.18 +% Revision 1.4  2001/02/08 18:57:13  boojum
    1.19 +% turned two newpages into cleardoublepages
    1.20 +%
    1.21 +% Revision 1.3  2000/08/14 14:53:29  boojum
    1.22 +% commented out footheight, which is relevant for drafthead
    1.23 +%
    1.24 +% Revision 1.2  1999/10/21 14:51:33  boojum
    1.25 +% changed references to documentstyle to documentclass in comments
    1.26 +%
    1.27 +% Revision 1.1  1999/10/21 14:39:31  boojum
    1.28 +% Initial revision
    1.29 +%
    1.30 +%Revision 1.7  1998/04/01  20:45:34  othomas
    1.31 +%removed offending phrase ", and to grant others the right to do so" from copyright notice.
    1.32 +%
    1.33 +%Revision 1.6  96/06/26  15:07:29  othomas
    1.34 +%safety checkin.
    1.35 +%
    1.36 +%Revision 1.5  93/06/07  15:38:50  starflt
    1.37 +%Altered 'vi' option copyright wording to comply with new Institute
    1.38 +%Archives requirements and MIT lawyers.
    1.39 +%
    1.40 +%Revision 1.4  92/08/19  16:51:06  lwvanels
    1.41 +%Updated Course 6 title page for new permissions.
    1.42 +%
    1.43 +%Revision 1.3  92/04/23  10:16:15  epeisach
    1.44 +%Fixed comment character in rcs file
    1.45 +%
    1.46 +%Revision 1.2  92/04/22  13:12:02  epeisach
    1.47 +%Fixes for 1991 course 6 requirements
    1.48 +%Phrase "and to grant others the right to do so" has been added to 
    1.49 +%permission clause
    1.50 +%Second copy of abstract is not counted as separate pages so numbering works
    1.51 +%out
    1.52 +%
    1.53 +%Revision 1.1  90/05/04  11:45:53  lwvanels
    1.54 +%Initial revision
    1.55 +
    1.56 +%
    1.57 +% LaTeX format for theses at MIT
    1.58 +% Based on "Specifications for Thesis Preparation" 
    1.59 +
    1.60 +% `vi' and `upcase' options by Krishna Sethuraman - krishna@athena.mit.edu
    1.61 +% Margins and heading types by Peter Nuth  - nuth@ai.mit.edu
    1.62 +% Title and abstract page by Stephen Gildea - gildea@erl.mit.edu
    1.63 +% Look in this directory for example file mitthesis.doc
    1.64 +% Also for propcover.tex - Boilerplate for PHD proposal.
    1.65 +
    1.66 +% To use this style - say something like:
    1.67 +%  for dull, boring thesis format:
    1.68 +%	\documentclass[12pt]{mitthesis}
    1.69 +%       \pagestyle{plain}
    1.70 +% OR for fast drafts: 
    1.71 +%	\documentclass[11pt,singlespace,draft]{mitthesis}
    1.72 +%	\pagestyle{drafthead}
    1.73 +% OR for Tech Reports:
    1.74 +%	\documentclass[12pt,twoside]{mitthesis}	
    1.75 +%	\pagestyle{headings}
    1.76 +% OR
    1.77 +%  some other combination...
    1.78 +%
    1.79 +%%%% New options:
    1.80 +% 
    1.81 +% Option `twoside':
    1.82 +%   Good for producing Tech Reports.
    1.83 +%   The default is single-sided printing, which is what M.I.T. wants on the
    1.84 +%   thesis document itself.
    1.85 +%
    1.86 +% Option `singlespace':
    1.87 +%   Good for drafts.
    1.88 +%   Double-spaced theses are the default.
    1.89 +%   That is what M.I.T. asks for in the formal specifications.
    1.90 +%
    1.91 +% 	Note that MIT does not REQUIRE all theses to be double-spaced anymore.
    1.92 +% 	Someone in the library system said that it's OK to be single-spaced.
    1.93 +% 	(Regardless of what the specs. say...)
    1.94 +%   To get singlespacing in an area - Use  the 'singlespace' environment. 
    1.95 +%
    1.96 +% Option `draft':
    1.97 +%   Puts `overfull' boxes at the end of lines that are too long. 
    1.98 +%
    1.99 +% Pagestyle `drafthead':
   1.100 +%   Puts the date and the label ``*DRAFT*'' in the footer.
   1.101 +%
   1.102 +%%%%%%%%%%
   1.103 +%
   1.104 +%%%% Parameters to initialize for boilerplate page:
   1.105 +%
   1.106 +%	\title{Mixed Circular Cylindrical Shells}
   1.107 +% 	\author{J. Casey Salas}
   1.108 +% 	\prevdegrees{B.S., University of California (1978) \\
   1.109 +%		     S.M., Massachusetts Institute of Technology (1981)}
   1.110 +% 	\department{Department of Electrical Engineering and Computer Science}
   1.111 +% 	\degree{Doctor of Philosophy}
   1.112 +%% If the thesis is for two degrees simultaneously, list them both
   1.113 +%% separated by \and like this:
   1.114 +% 	\degree{Doctor of Philosophy \and Master of Science}
   1.115 +% 	\degreemonth{February}
   1.116 +% 	\degreeyear{1987}
   1.117 +% 	\thesisdate{December 10, 1986}
   1.118 +%% If the thesis is copyright by the Institute, leave this line out and
   1.119 +%% the standard copyright line will be used instead.
   1.120 +% 	\copyrightnotice{J. Casey Salas, 1986}
   1.121 +%% If there is more than one supervisor, use the \supervisor command
   1.122 +%% once for each.
   1.123 +% 	\supervisor{John D. Galli}{Director, Sound Instrument Laboratory}
   1.124 +%% This is the department committee chairman, not the thesis committee chairman
   1.125 +% 	\chairman{Arthur C. Smith}
   1.126 +%		 {Chairman, Departmental Committee on Graduate Students}
   1.127 +%% Make the titlepage based on the above information.  If you need
   1.128 +%% something special and can't use the standard form, you can specify
   1.129 +%% the exact text of the titlepage yourself.  Put it in a titlepage
   1.130 +%% environment and leave blank lines where you want vertical space.
   1.131 +%% The spaces will be adjusted to fill the entire page.  The dotted
   1.132 +%% lines for the signatures are made with the \signature command.
   1.133 +%
   1.134 +%% The abstractpage environment sets up everything on the page except
   1.135 +%% the text itself.  The title and other header material are put at the
   1.136 +%% top of the page, and the supervisors are listed at the bottom.  A
   1.137 +%% new page is begun both before and after.  Of course, an abstract may
   1.138 +%% be more than one page itself.  If you need more control over the
   1.139 +%% format of the page, you can use the abstract environment, which puts
   1.140 +%% the word "Abstract" at the beginning and single spaces its text.
   1.141 +%
   1.142 +% 	\begin{abstractpage}
   1.143 +%	    Abstract goes here.
   1.144 +%	\end{abstractpage}
   1.145 +%
   1.146 +%%%%%%%% Newer additions 
   1.147 +%
   1.148 +% documentclass options - 
   1.149 +% vi		For MIT course VI or VIII thesis - will copyright the thesis to
   1.150 +% 		you while giving MIT permission to copy and distribute it.
   1.151 +% upcase	Will put much of the cover page in uppercase, as per the
   1.152 +% 		example on page 17 of the *Specifications for Thesis
   1.153 +% 		Preparation*, (revised 1989)
   1.154 +% Also added ``All Rights Reserved'' to default copyright notice.
   1.155 +%
   1.156 +%%%%%%%%%%%
   1.157 +% 
   1.158 +% Documentclass options (vi and upcase) and changes to copyright notice
   1.159 +%	Copyright (c) 1990, by Krishna Sethuraman.
   1.160 +%
   1.161 +% Pagestyle and header generation
   1.162 +%	Copyright (c) 1987, 1988 by Peter Nuth
   1.163 +%
   1.164 +% Original version
   1.165 +%	 Copyright (c) 1987 by Stephen Gildea
   1.166 +% Permission to copy all or part of this work is granted, provided
   1.167 +% that the copies are not made or distributed for resale, and that
   1.168 +% the copyright notice and this notice are retained.
   1.169 +% 
   1.170 +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHOR PROVIDES NO
   1.171 +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
   1.172 +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
   1.173 +% FOR ANY PARTICULAR PURPOSE.
   1.174 +%%%%%%%%
   1.175 +
   1.176 +\NeedsTeXFormat{LaTeX2e}
   1.177 +\ProvidesClass{mitthesis}[1999/10/20]
   1.178 +
   1.179 +\def\mystretch{1.5}		% Double spacing hack
   1.180 +\DeclareOption{doublespace}{}	% This is default
   1.181 +				% So we do not read this style twice
   1.182 +\DeclareOption{singlespace}{		% If he explicitly wants single spacing
   1.183 +    \typeout{Single spaced}
   1.184 +    \def\mystretch{1}}	
   1.185 +
   1.186 +%% `vi' and `upcase' document style options.  Krishna Sethuraman (1990)
   1.187 +\newcount\vithesis
   1.188 +\DeclareOption{vi}{\typeout{Course VI/VIII thesis style.}\advance\vithesis by1}
   1.189 +\vithesis=0
   1.190 +
   1.191 +\DeclareOption{upcase}{\typeout{Uppercase cover page.}
   1.192 +	\gdef\choosecase#1{\uppercase\expandafter{#1}}}
   1.193 +\def\choosecase#1{#1}
   1.194 +
   1.195 +%% leftblank option by Kevin Fu
   1.196 +\newif\if@leftblank \@leftblankfalse
   1.197 +
   1.198 +\DeclareOption{leftblank}{\typeout{Intentionally Leaving Pages Blank}
   1.199 +\@leftblanktrue}
   1.200 +
   1.201 +%  Thesis looks much like report
   1.202 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
   1.203 +\ProcessOptions
   1.204 +\LoadClass{report}
   1.205 +
   1.206 +% If the user wants single spacing, set baselinestretch=1.
   1.207 +
   1.208 +\usepackage{setspace}
   1.209 +
   1.210 +% Note - doublespace.sty has some float-related troubles in
   1.211 +% combination with graphics or color, and is not officially compliant
   1.212 +% with 2e.  setspace is a replacement which is 2e-compliant.
   1.213 +
   1.214 +% Read the doublespace style that we got from Rochester:
   1.215 +%\input setdoublespace.sty 		
   1.216 +
   1.217 +\def\baselinestretch{\mystretch}	% Double spacing hack
   1.218 +
   1.219 +%%%%%%%  Set up margins and formatting params %%%
   1.220 +
   1.221 +% Margins.
   1.222 +%  Note we want 1in top margin assuming no header line, so push header
   1.223 +%	into 1in margin.
   1.224 +%  Draft mode brings the header back down.
   1.225 +
   1.226 +\setlength{\oddsidemargin}{0.25in}	% 1.25in left margin 
   1.227 +\setlength{\evensidemargin}{0.25in}	% 1.25in left margin (even pages)
   1.228 +\setlength{\topmargin}{0.0in}		% 1in top margin
   1.229 +\setlength{\textwidth}{6.0in}		% 6.0in text - 1.25in rt margin
   1.230 +\setlength{\textheight}{9in}		% Body ht for 1in margins
   1.231 +\addtolength{\topmargin}{-\headheight}	% No header, so compensate
   1.232 +\addtolength{\topmargin}{-\headsep}	% for header height and separation
   1.233 +
   1.234 +% The next two macros compensate page style for headers and footers
   1.235 +% We only need them in page styles that USE headers and footers.
   1.236 +    % If we have a header, it must be 1in from top of page.
   1.237 +\def\pulldownheader{			% Shift header down 1in from top
   1.238 +    \addtolength{\topmargin}{\headheight}	
   1.239 +    \addtolength{\topmargin}{\headsep}	
   1.240 +    \addtolength{\textheight}{-\headheight}
   1.241 +    \addtolength{\textheight}{-\headsep}
   1.242 +}
   1.243 +    % If we have a footer, put it 1in up from bottom
   1.244 +\def\pullupfooter{				% Shift footer up
   1.245 +    \addtolength{\textheight}{-\footskip}
   1.246 +%    \addtolength{\textheight}{-\footheight}  %footheight doesn't
   1.247 +%    						exist in 2e
   1.248 +}
   1.249 +
   1.250 +%%%%%%%  End of margins and formatting params %%%
   1.251 +
   1.252 +%%%%%%%  Fix various header and footer problems %%%
   1.253 +
   1.254 +% Draft mark on the right side of left pages (outside)
   1.255 +% this mark is also the only one visible on single sided.
   1.256 +\newcommand{\draftrmark}{**DRAFT**} 
   1.257 +% Draft mark on the left side of right pages (outside)
   1.258 +\newcommand{\draftlmark}{**DRAFT**} % 
   1.259 +
   1.260 +% Macros to make changing the Draft easier
   1.261 +\newcommand{\drmark}[1]{\renewcommand{\draftrmark}{#1}}
   1.262 +\newcommand{\dlmark}[1]{\renewcommand{\draftlmark}{#1}}
   1.263 +\newcommand{\dmark}[1]{\drmark{#1}\dlmark{#1}}
   1.264 +
   1.265 +% Format for draft of thesis.  Define our own PageStyle -
   1.266 +% Just like headings, but has foot lines with the date and warning
   1.267 +
   1.268 +\if@twoside         % If two-sided printing.
   1.269 +\def\ps@drafthead{
   1.270 +    \let\@mkboth\markboth
   1.271 +    \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
   1.272 +    \def\@evenfoot{\sc \draftlmark \hfil \rm \today }
   1.273 +    \def\@evenhead{\rm \thepage\hfil \sl \leftmark}
   1.274 +    \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
   1.275 +    \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
   1.276 +	\@chapapp\ \thechapter. \ \fi ##1}}{}}
   1.277 +    \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
   1.278 +	\thesection. \ \fi ##1}}}
   1.279 +    \pulldownheader				% Bring header down from edge
   1.280 +    \pullupfooter				% Bring footer up
   1.281 +}
   1.282 +\else               % If one-sided printing.
   1.283 +\def\ps@drafthead{
   1.284 +    \let\@mkboth\markboth
   1.285 +    \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
   1.286 +    \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
   1.287 +    \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
   1.288 +	\@chapapp\ \thechapter. \ \fi ##1}}}
   1.289 +    \pulldownheader				% Bring header down from edge
   1.290 +    \pullupfooter				% Bring footer up
   1.291 +}
   1.292 +\fi
   1.293 +
   1.294 +% I redefine these formats that were defined in report.sty
   1.295 +% Definition of 'headings' page style 
   1.296 +%  Note the use of ##1 for parameter of \def\chaptermark inside the
   1.297 +%  \def\ps@headings.
   1.298 +%
   1.299 +
   1.300 +\if@twoside					% If two-sided printing.
   1.301 +\def\ps@headings{\let\@mkboth\markboth
   1.302 +    \def\@oddfoot{}
   1.303 +    \def\@evenfoot{}		% No feet.
   1.304 +    \def\@evenhead{\rm \thepage\hfil \sl \leftmark}	% Left heading.
   1.305 +    \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}	% Right heading.
   1.306 +    \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
   1.307 +	\@chapapp\ \thechapter. \ \fi ##1}}{}}	
   1.308 +    \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
   1.309 +	\thesection. \ \fi ##1}}}
   1.310 +    \pulldownheader				% Bring header down from edge
   1.311 +}
   1.312 +\else						% If one-sided printing.
   1.313 +\def\ps@headings{\let\@mkboth\markboth
   1.314 +    \def\@oddfoot{}
   1.315 +    \def\@evenfoot{}		%     No feet.
   1.316 +    \def\@oddhead{\hbox {}\sl \rightmark \hfil \rm\thepage}	% Heading.
   1.317 +    \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
   1.318 +	\@chapapp\ \thechapter. \ \fi ##1}}}
   1.319 +    \pulldownheader				% Bring header down from edge
   1.320 +}
   1.321 +\fi
   1.322 +
   1.323 +% Redefinition of 'myheadings' page style.  
   1.324 +%
   1.325 +\def\ps@myheadings{\let\@mkboth\@gobbletwo
   1.326 +    \def\@oddfoot{}
   1.327 +    \def\@evenfoot{}
   1.328 +    \def\sectionmark##1{}
   1.329 +    \def\subsectionmark##1{}
   1.330 +    \def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}}	%
   1.331 +    \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage}	%
   1.332 +    \pulldownheader				% Bring header down from edge
   1.333 +}						
   1.334 +
   1.335 +% Redefine '/chapter' to always start on an odd page.
   1.336 +% Should make no difference in singleside mode.
   1.337 +%
   1.338 +\if@leftblank
   1.339 +% Prints "THIS PAGE INTENTIONALLY LEFT BLANK" on blank pages.
   1.340 +\def\chapter{\clearpage\ifodd\c@page\else
   1.341 +   \hbox{}\par\vfill\centerline%
   1.342 +   {THIS PAGE INTENTIONALLY LEFT BLANK}%
   1.343 +   \vfill\newpage\fi
   1.344 +   \thispagestyle{plain}	% Page style of chapter page is 'plain'
   1.345 +   \global\@topnum\z@		% Prevents figures from going at top of page.
   1.346 +   \@afterindentfalse		% Suppresses indent in first paragraph.  Change
   1.347 +   \secdef\@chapter\@schapter}	% to \@afterindenttrue to have indent.
   1.348 +\else
   1.349 +\def\chapter{\cleardoublepage	% Starts new page.
   1.350 +   \thispagestyle{plain}	% Page style of chapter page is 'plain'
   1.351 +   \global\@topnum\z@		% Prevents figures from going at top of page.
   1.352 +   \@afterindentfalse		% Suppresses indent in first paragraph.  Change
   1.353 +   \secdef\@chapter\@schapter}	% to \@afterindenttrue to have indent.
   1.354 +\fi
   1.355 +% If using the report style, use - instead of . in the figure number.
   1.356 +\@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}}
   1.357 +
   1.358 +
   1.359 +%%%%%%%%%  End of Style parameters %%%%
   1.360 +
   1.361 +% Here's Gildea's Boilerplate Stuff.
   1.362 +% Copyright (c) 1987 by Stephen Gildea
   1.363 +% Permission to copy all or part of this work is granted, provided
   1.364 +% that the copies are not made or distributed for resale, and that
   1.365 +% the copyright notice and this notice are retained.
   1.366 +
   1.367 +%% Define all the pieces that go on the title page and the abstract.
   1.368 +
   1.369 +% \title and \author already exist
   1.370 +
   1.371 +\def\prevdegrees#1{\gdef\@prevdegrees{#1}}
   1.372 +\def\@prevdegrees{}
   1.373 +
   1.374 +\def\department#1{\gdef\@department{#1}}
   1.375 +
   1.376 +% If you are getting two degrees, use \and between the names.
   1.377 +\def\degree#1{\setbox0\hbox{#1}	 %for side effect of setting \@degreeword
   1.378 +  \gdef\@degree{#1}}
   1.379 +
   1.380 +% \and is used inside the \degree argument to separate two degrees
   1.381 +\def\and{\gdef\@degreeword{degrees} \par and \par}
   1.382 +\def\@degreeword{degree}
   1.383 +
   1.384 +% The copyright notice stuff is a tremendous mess.
   1.385 +%
   1.386 +% \@copyrightnotice is used by \maketitle to actually put text on the
   1.387 +% page; it defaults to ``Copyright MIT 19xx.  All rights reserved.''
   1.388 +% \copyrightnoticetext takes an argument and defined \@copyrightnotice
   1.389 +% to that argument.  \copyrightnotice takes an argument, and calls
   1.390 +% \copyrightnoticetext with that argument, preceeded by a copyright
   1.391 +% symbol and followed by ``All rights reserved.'' and the standard
   1.392 +% permission notice.
   1.393 +% 
   1.394 +% If you use the 'vi' option, \copyrightnoticetext is used to set the
   1.395 +% copyright to ``(C) Your Name, Current Year in Roman Numerals.''
   1.396 +% followed by the permission notice.
   1.397 +
   1.398 +% If there is no \copyrightnotice command, it is asssumed that MIT
   1.399 +% holds the copyright.  This commands adds the copyright symbol to the
   1.400 +% beginning, and puts the standard permission notice below.
   1.401 +%% ``All rights reserved'' added.  Krishna Sethuraman (1990)
   1.402 +\def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1.  All rights
   1.403 +reserved.\par\permission}}
   1.404 +
   1.405 +% Occacionally you will need to exactly specify the text of the 
   1.406 +% copyright notice.  The \copyrightnoticetext command is then useful.
   1.407 +\long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}}
   1.408 +\def\@copyrightnotice{\copyright\ \Mit\ \@degreeyear.  All rights reserved.}
   1.409 +
   1.410 +%% `vi' documentclass option: Specifying this option automatically
   1.411 +%% copyrights the thesis to the author and gives MIT permission to copy and
   1.412 +%% distribute the document.  If you want, you can still specify
   1.413 +%% \copyrightnotice{stuff} to copyright to someone else, or
   1.414 +%% \copyrightnoticetext{stuff} to specify the exact text of the copyright
   1.415 +%% notice.
   1.416 +\ifodd\vithesis \copyrightnoticetext{\copyright\ \@author,
   1.417 +\uppercase\expandafter{\romannumeral\@degreeyear}.  All rights reserved.\par\permission}
   1.418 +%% or just
   1.419 +%%\@degreeyear}}
   1.420 +\typeout{Copyright given to author,
   1.421 +	permission to copy/distribute given to MIT.}
   1.422 +\else \typeout{Thesis document copyright MIT unless otherwise (manually) specified}
   1.423 +\fi
   1.424 +
   1.425 +\def\thesisdate#1{\gdef\@thesisdate{#1}}
   1.426 +
   1.427 +% typically just a month and year
   1.428 +\def\degreemonth#1{\gdef\@degreemonth{#1}}
   1.429 +\def\degreeyear#1{\gdef\@degreeyear{#1}}
   1.430 +
   1.431 +% Usage: \supervisor{name}{title}
   1.432 +%        \chairman{name}{title}
   1.433 +
   1.434 +% since there can be more than one supervisor,
   1.435 +% we build the appropriate boxes for the titlepage and
   1.436 +% the abstractpage as the user makes multiple calls
   1.437 +% to \supervisor
   1.438 +\newbox\@titlesupervisor 	\newbox\@abstractsupervisor
   1.439 +
   1.440 +\def\supervisor#1#2{\setbox\@titlesupervisor\vbox
   1.441 +  {\unvbox\@titlesupervisor \vskip 10pt% plus 1fil minus 1fil
   1.442 +  \def\baselinestretch{1}\large
   1.443 +  \signature{Certified by}{#1 \\ #2 \\ Thesis Supervisor}}
   1.444 +  \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor
   1.445 +  \vskip\baselineskip \def\baselinestretch{1}\@normalsize 
   1.446 +  \par\noindent Thesis Supervisor: #1 \\ Title: #2}}
   1.447 +
   1.448 +% department chairman, not thesis committee chairman
   1.449 +\def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}}
   1.450 +
   1.451 +%% `upcase' documentclass option: \choosecase is defined either as a dummy or
   1.452 +%% a macro to change the (expanded) argument to uppercase.
   1.453 +\def\maketitle{\begin{titlepage}
   1.454 +\large
   1.455 +{\def\baselinestretch{1.2}\Large\bf \choosecase{\@title} \par}
   1.456 +by\par
   1.457 +{\Large  \choosecase{\@author}}
   1.458 +\par
   1.459 +\@prevdegrees
   1.460 +\par
   1.461 +\choosecase{Submitted to the} \choosecase{\@department} \\
   1.462 +\choosecase{in partial fulfillment of the requirements for the}
   1.463 +\choosecase{\@degreeword} 
   1.464 +\choosecase{of}
   1.465 +\par
   1.466 +\choosecase{\@degree}
   1.467 +\par
   1.468 +at the
   1.469 +\par\MIT\par
   1.470 +\@degreemonth\ \@degreeyear
   1.471 +\par
   1.472 +\@copyrightnotice
   1.473 +\par
   1.474 +\vskip 3\baselineskip
   1.475 +\signature{Author}{\@department \\ \@thesisdate}
   1.476 +\par
   1.477 +\vfill
   1.478 +\unvbox\@titlesupervisor
   1.479 +\par
   1.480 +\vfill
   1.481 +\signature{Accepted by}{\@chairmanname \\ \@chairmantitle}
   1.482 +\vfill
   1.483 +\end{titlepage}}
   1.484 +
   1.485 +% this environment should probably be called abstract,
   1.486 +% but we want people to also be able to get at the more
   1.487 +% basic abstract environment
   1.488 +\def\abstractpage{\cleardoublepage
   1.489 +\begin{center}{\large{\bf \@title} \\
   1.490 +by \\
   1.491 +\@author \\[\baselineskip]}
   1.492 +\par
   1.493 +\def\baselinestretch{1}\@normalsize
   1.494 +Submitted to the \@department \\
   1.495 +on \@thesisdate, in partial fulfillment of the \\
   1.496 +requirements for the \@degreeword\ of \\
   1.497 +\@degree
   1.498 +\end{center}
   1.499 +\par
   1.500 +\begin{abstract}}
   1.501 +
   1.502 +%% Changed from \unvbox to \unvcopy for use with multiple copies of abstract
   1.503 +%% page.
   1.504 +%% Krishna Sethuraman (1990)
   1.505 +\def\endabstractpage{\end{abstract}\noindent
   1.506 + \unvcopy\@abstractsupervisor \newpage}
   1.507 +
   1.508 +%% This counter is used to save the page number for the second copy of
   1.509 +%% the abstract.
   1.510 +\newcounter{savepage}
   1.511 +
   1.512 +% You can use the titlepage environment to do it all yourself if you
   1.513 +% don't want to use \maketitle.  If the titlepage environment, the
   1.514 +% paragraph skip is infinitely stretchable, so if you leave a blank line
   1.515 +% between lines that you want space between, the space will stretch so
   1.516 +% that the title page fills up the entire page.
   1.517 +\def\titlepage{\cleardoublepage\centering
   1.518 +  \thispagestyle{empty}
   1.519 +  \parindent 0pt \parskip 10pt plus 1fil minus 1fil
   1.520 +  \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup}
   1.521 +% The \kern0pt pushes any depth into the height.  Thanks to Richard Stone.
   1.522 +\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage}
   1.523 +
   1.524 +\def\MIT{MASSACHUSETTS INSTITUTE OF TECHNOLOGY}
   1.525 +\def\Mit{Massachusetts Institute of Technology}
   1.526 +
   1.527 +\def\permission{\par\noindent{\centering
   1.528 +   The author hereby grants to MIT permission to reproduce and to
   1.529 +   distribute publicly paper and electronic copies of this thesis
   1.530 +   document in whole or in part in any medium now known or hereafter
   1.531 +   created.}\par}
   1.532 +
   1.533 +\def\signature#1#2{\par\noindent#1\dotfill\null\\*
   1.534 +  {\raggedleft #2\par}}
   1.535 +
   1.536 +\def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize}
   1.537 +\def\endabstract{\par}
   1.538 +