
rlm@421: % $Log: mitthesis.cls,v $
rlm@421: % Revision 1.9  2012/02/15 15:48:16  jdreed
rlm@421: % Tweak the "permission" statement per the Libraries' specs
rlm@421: % retrieved 15-Feb-2012
rlm@421: %
rlm@421: % Revision 1.8  2009/07/27 14:23:50  boojum
rlm@421: % added changing draft mark
rlm@421: %
rlm@421: % Revision 1.6  2005/05/13 19:57:40  boojum
rlm@421: % added leftblank option
rlm@421: %
rlm@421: % Revision 1.5  2002/04/18 14:10:08  boojum
rlm@421: % changed doublespace into setspace for 2e compliance
rlm@421: %
rlm@421: % Revision 1.4  2001/02/08 18:57:13  boojum
rlm@421: % turned two newpages into cleardoublepages
rlm@421: %
rlm@421: % Revision 1.3  2000/08/14 14:53:29  boojum
rlm@421: % commented out footheight, which is relevant for drafthead
rlm@421: %
rlm@421: % Revision 1.2  1999/10/21 14:51:33  boojum
rlm@421: % changed references to documentstyle to documentclass in comments
rlm@421: %
rlm@421: % Revision 1.1  1999/10/21 14:39:31  boojum
rlm@421: % Initial revision
rlm@421: %
rlm@421: %Revision 1.7  1998/04/01  20:45:34  othomas
rlm@421: %removed offending phrase ", and to grant others the right to do so" from copyright notice.
rlm@421: %
rlm@421: %Revision 1.6  96/06/26  15:07:29  othomas
rlm@421: %safety checkin.
rlm@421: %
rlm@421: %Revision 1.5  93/06/07  15:38:50  starflt
rlm@421: %Altered 'vi' option copyright wording to comply with new Institute
rlm@421: %Archives requirements and MIT lawyers.
rlm@421: %
rlm@421: %Revision 1.4  92/08/19  16:51:06  lwvanels
rlm@421: %Updated Course 6 title page for new permissions.
rlm@421: %
rlm@421: %Revision 1.3  92/04/23  10:16:15  epeisach
rlm@421: %Fixed comment character in rcs file
rlm@421: %
rlm@421: %Revision 1.2  92/04/22  13:12:02  epeisach
rlm@421: %Fixes for 1991 course 6 requirements
rlm@421: %Phrase "and to grant others the right to do so" has been added to 
rlm@421: %permission clause
rlm@421: %Second copy of abstract is not counted as separate pages so numbering works
rlm@421: %out
rlm@421: %
rlm@421: %Revision 1.1  90/05/04  11:45:53  lwvanels
rlm@421: %Initial revision
rlm@421: 
rlm@421: %
rlm@421: % LaTeX format for theses at MIT
rlm@421: % Based on "Specifications for Thesis Preparation" 
rlm@421: 
rlm@421: % `vi' and `upcase' options by Krishna Sethuraman - krishna@athena.mit.edu
rlm@421: % Margins and heading types by Peter Nuth  - nuth@ai.mit.edu
rlm@421: % Title and abstract page by Stephen Gildea - gildea@erl.mit.edu
rlm@421: % Look in this directory for example file mitthesis.doc
rlm@421: % Also for propcover.tex - Boilerplate for PHD proposal.
rlm@421: 
rlm@421: % To use this style - say something like:
rlm@421: %  for dull, boring thesis format:
rlm@421: %	\documentclass[12pt]{mitthesis}
rlm@421: %       \pagestyle{plain}
rlm@421: % OR for fast drafts: 
rlm@421: %	\documentclass[11pt,singlespace,draft]{mitthesis}
rlm@421: %	\pagestyle{drafthead}
rlm@421: % OR for Tech Reports:
rlm@421: %	\documentclass[12pt,twoside]{mitthesis}	
rlm@421: %	\pagestyle{headings}
rlm@421: % OR
rlm@421: %  some other combination...
rlm@421: %
rlm@421: %%%% New options:
rlm@421: % 
rlm@421: % Option `twoside':
rlm@421: %   Good for producing Tech Reports.
rlm@421: %   The default is single-sided printing, which is what M.I.T. wants on the
rlm@421: %   thesis document itself.
rlm@421: %
rlm@421: % Option `singlespace':
rlm@421: %   Good for drafts.
rlm@421: %   Double-spaced theses are the default.
rlm@421: %   That is what M.I.T. asks for in the formal specifications.
rlm@421: %
rlm@421: % 	Note that MIT does not REQUIRE all theses to be double-spaced anymore.
rlm@421: % 	Someone in the library system said that it's OK to be single-spaced.
rlm@421: % 	(Regardless of what the specs. say...)
rlm@421: %   To get singlespacing in an area - Use  the 'singlespace' environment. 
rlm@421: %
rlm@421: % Option `draft':
rlm@421: %   Puts `overfull' boxes at the end of lines that are too long. 
rlm@421: %
rlm@421: % Pagestyle `drafthead':
rlm@421: %   Puts the date and the label ``*DRAFT*'' in the footer.
rlm@421: %
rlm@421: %%%%%%%%%%
rlm@421: %
rlm@421: %%%% Parameters to initialize for boilerplate page:
rlm@421: %
rlm@421: %	\title{Mixed Circular Cylindrical Shells}
rlm@421: % 	\author{J. Casey Salas}
rlm@421: % 	\prevdegrees{B.S., University of California (1978) \\
rlm@421: %		     S.M., Massachusetts Institute of Technology (1981)}
rlm@421: % 	\department{Department of Electrical Engineering and Computer Science}
rlm@421: % 	\degree{Doctor of Philosophy}
rlm@421: %% If the thesis is for two degrees simultaneously, list them both
rlm@421: %% separated by \and like this:
rlm@421: % 	\degree{Doctor of Philosophy \and Master of Science}
rlm@421: % 	\degreemonth{February}
rlm@421: % 	\degreeyear{1987}
rlm@421: % 	\thesisdate{December 10, 1986}
rlm@421: %% If the thesis is copyright by the Institute, leave this line out and
rlm@421: %% the standard copyright line will be used instead.
rlm@421: % 	\copyrightnotice{J. Casey Salas, 1986}
rlm@421: %% If there is more than one supervisor, use the \supervisor command
rlm@421: %% once for each.
rlm@421: % 	\supervisor{John D. Galli}{Director, Sound Instrument Laboratory}
rlm@421: %% This is the department committee chairman, not the thesis committee chairman
rlm@421: % 	\chairman{Arthur C. Smith}
rlm@421: %		 {Chairman, Departmental Committee on Graduate Students}
rlm@421: %% Make the titlepage based on the above information.  If you need
rlm@421: %% something special and can't use the standard form, you can specify
rlm@421: %% the exact text of the titlepage yourself.  Put it in a titlepage
rlm@421: %% environment and leave blank lines where you want vertical space.
rlm@421: %% The spaces will be adjusted to fill the entire page.  The dotted
rlm@421: %% lines for the signatures are made with the \signature command.
rlm@421: %
rlm@421: %% The abstractpage environment sets up everything on the page except
rlm@421: %% the text itself.  The title and other header material are put at the
rlm@421: %% top of the page, and the supervisors are listed at the bottom.  A
rlm@421: %% new page is begun both before and after.  Of course, an abstract may
rlm@421: %% be more than one page itself.  If you need more control over the
rlm@421: %% format of the page, you can use the abstract environment, which puts
rlm@421: %% the word "Abstract" at the beginning and single spaces its text.
rlm@421: %
rlm@421: % 	\begin{abstractpage}
rlm@421: %	    Abstract goes here.
rlm@421: %	\end{abstractpage}
rlm@421: %
rlm@421: %%%%%%%% Newer additions 
rlm@421: %
rlm@421: % documentclass options - 
rlm@421: % vi		For MIT course VI or VIII thesis - will copyright the thesis to
rlm@421: % 		you while giving MIT permission to copy and distribute it.
rlm@421: % upcase	Will put much of the cover page in uppercase, as per the
rlm@421: % 		example on page 17 of the *Specifications for Thesis
rlm@421: % 		Preparation*, (revised 1989)
rlm@421: % Also added ``All Rights Reserved'' to default copyright notice.
rlm@421: %
rlm@421: %%%%%%%%%%%
rlm@421: % 
rlm@421: % Documentclass options (vi and upcase) and changes to copyright notice
rlm@421: %	Copyright (c) 1990, by Krishna Sethuraman.
rlm@421: %
rlm@421: % Pagestyle and header generation
rlm@421: %	Copyright (c) 1987, 1988 by Peter Nuth
rlm@421: %
rlm@421: % Original version
rlm@421: %	 Copyright (c) 1987 by Stephen Gildea
rlm@421: % Permission to copy all or part of this work is granted, provided
rlm@421: % that the copies are not made or distributed for resale, and that
rlm@421: % the copyright notice and this notice are retained.
rlm@421: % 
rlm@421: % THIS WORK IS PROVIDED ON AN "AS IS" BASIS.  THE AUTHOR PROVIDES NO
rlm@421: % WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
rlm@421: % INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
rlm@421: % FOR ANY PARTICULAR PURPOSE.
rlm@421: %%%%%%%%
rlm@421: 
rlm@421: \NeedsTeXFormat{LaTeX2e}
rlm@421: \ProvidesClass{mitthesis}[1999/10/20]
rlm@421: 
rlm@421: \def\mystretch{1.5}		% Double spacing hack
rlm@421: \DeclareOption{doublespace}{}	% This is default
rlm@421: 				% So we do not read this style twice
rlm@421: \DeclareOption{singlespace}{		% If he explicitly wants single spacing
rlm@421:     \typeout{Single spaced}
rlm@421:     \def\mystretch{1}}	
rlm@421: 
rlm@421: %% `vi' and `upcase' document style options.  Krishna Sethuraman (1990)
rlm@421: \newcount\vithesis
rlm@421: \DeclareOption{vi}{\typeout{Course VI/VIII thesis style.}\advance\vithesis by1}
rlm@421: \vithesis=0
rlm@421: 
rlm@421: \DeclareOption{upcase}{\typeout{Uppercase cover page.}
rlm@421: 	\gdef\choosecase#1{\uppercase\expandafter{#1}}}
rlm@421: \def\choosecase#1{#1}
rlm@421: 
rlm@421: %% leftblank option by Kevin Fu
rlm@421: \newif\if@leftblank \@leftblankfalse
rlm@421: 
rlm@421: \DeclareOption{leftblank}{\typeout{Intentionally Leaving Pages Blank}
rlm@421: \@leftblanktrue}
rlm@421: 
rlm@421: %  Thesis looks much like report
rlm@421: \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
rlm@421: \ProcessOptions
rlm@421: \LoadClass{report}
rlm@421: 
rlm@421: % If the user wants single spacing, set baselinestretch=1.
rlm@421: 
rlm@421: \usepackage{setspace}
rlm@421: 
rlm@421: % Note - doublespace.sty has some float-related troubles in
rlm@421: % combination with graphics or color, and is not officially compliant
rlm@421: % with 2e.  setspace is a replacement which is 2e-compliant.
rlm@421: 
rlm@421: % Read the doublespace style that we got from Rochester:
rlm@421: %\input setdoublespace.sty 		
rlm@421: 
rlm@421: \def\baselinestretch{\mystretch}	% Double spacing hack
rlm@421: 
rlm@421: %%%%%%%  Set up margins and formatting params %%%
rlm@421: 
rlm@421: % Margins.
rlm@421: %  Note we want 1in top margin assuming no header line, so push header
rlm@421: %	into 1in margin.
rlm@421: %  Draft mode brings the header back down.
rlm@421: 
rlm@421: \setlength{\oddsidemargin}{0.25in}	% 1.25in left margin 
rlm@421: \setlength{\evensidemargin}{0.25in}	% 1.25in left margin (even pages)
rlm@421: \setlength{\topmargin}{0.0in}		% 1in top margin
rlm@421: \setlength{\textwidth}{6.0in}		% 6.0in text - 1.25in rt margin
rlm@421: \setlength{\textheight}{9in}		% Body ht for 1in margins
rlm@421: \addtolength{\topmargin}{-\headheight}	% No header, so compensate
rlm@421: \addtolength{\topmargin}{-\headsep}	% for header height and separation
rlm@421: 
rlm@421: % The next two macros compensate page style for headers and footers
rlm@421: % We only need them in page styles that USE headers and footers.
rlm@421:     % If we have a header, it must be 1in from top of page.
rlm@421: \def\pulldownheader{			% Shift header down 1in from top
rlm@421:     \addtolength{\topmargin}{\headheight}	
rlm@421:     \addtolength{\topmargin}{\headsep}	
rlm@421:     \addtolength{\textheight}{-\headheight}
rlm@421:     \addtolength{\textheight}{-\headsep}
rlm@421: }
rlm@421:     % If we have a footer, put it 1in up from bottom
rlm@421: \def\pullupfooter{				% Shift footer up
rlm@421:     \addtolength{\textheight}{-\footskip}
rlm@421: %    \addtolength{\textheight}{-\footheight}  %footheight doesn't
rlm@421: %    						exist in 2e
rlm@421: }
rlm@421: 
rlm@421: %%%%%%%  End of margins and formatting params %%%
rlm@421: 
rlm@421: %%%%%%%  Fix various header and footer problems %%%
rlm@421: 
rlm@421: % Draft mark on the right side of left pages (outside)
rlm@421: % this mark is also the only one visible on single sided.
rlm@421: \newcommand{\draftrmark}{**DRAFT**} 
rlm@421: % Draft mark on the left side of right pages (outside)
rlm@421: \newcommand{\draftlmark}{**DRAFT**} % 
rlm@421: 
rlm@421: % Macros to make changing the Draft easier
rlm@421: \newcommand{\drmark}[1]{\renewcommand{\draftrmark}{#1}}
rlm@421: \newcommand{\dlmark}[1]{\renewcommand{\draftlmark}{#1}}
rlm@421: \newcommand{\dmark}[1]{\drmark{#1}\dlmark{#1}}
rlm@421: 
rlm@421: % Format for draft of thesis.  Define our own PageStyle -
rlm@421: % Just like headings, but has foot lines with the date and warning
rlm@421: 
rlm@421: \if@twoside         % If two-sided printing.
rlm@421: \def\ps@drafthead{
rlm@421:     \let\@mkboth\markboth
rlm@421:     \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
rlm@421:     \def\@evenfoot{\sc \draftlmark \hfil \rm \today }
rlm@421:     \def\@evenhead{\rm \thepage\hfil \sl \leftmark}
rlm@421:     \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
rlm@421:     \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421: 	\@chapapp\ \thechapter. \ \fi ##1}}{}}
rlm@421:     \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
rlm@421: 	\thesection. \ \fi ##1}}}
rlm@421:     \pulldownheader				% Bring header down from edge
rlm@421:     \pullupfooter				% Bring footer up
rlm@421: }
rlm@421: \else               % If one-sided printing.
rlm@421: \def\ps@drafthead{
rlm@421:     \let\@mkboth\markboth
rlm@421:     \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
rlm@421:     \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
rlm@421:     \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421: 	\@chapapp\ \thechapter. \ \fi ##1}}}
rlm@421:     \pulldownheader				% Bring header down from edge
rlm@421:     \pullupfooter				% Bring footer up
rlm@421: }
rlm@421: \fi
rlm@421: 
rlm@421: % I redefine these formats that were defined in report.sty
rlm@421: % Definition of 'headings' page style 
rlm@421: %  Note the use of ##1 for parameter of \def\chaptermark inside the
rlm@421: %  \def\ps@headings.
rlm@421: %
rlm@421: 
rlm@421: \if@twoside					% If two-sided printing.
rlm@421: \def\ps@headings{\let\@mkboth\markboth
rlm@421:     \def\@oddfoot{}
rlm@421:     \def\@evenfoot{}		% No feet.
rlm@421:     \def\@evenhead{\rm \thepage\hfil \sl \leftmark}	% Left heading.
rlm@421:     \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}	% Right heading.
rlm@421:     \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421: 	\@chapapp\ \thechapter. \ \fi ##1}}{}}	
rlm@421:     \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
rlm@421: 	\thesection. \ \fi ##1}}}
rlm@421:     \pulldownheader				% Bring header down from edge
rlm@421: }
rlm@421: \else						% If one-sided printing.
rlm@421: \def\ps@headings{\let\@mkboth\markboth
rlm@421:     \def\@oddfoot{}
rlm@421:     \def\@evenfoot{}		%     No feet.
rlm@421:     \def\@oddhead{\hbox {}\sl \rightmark \hfil \rm\thepage}	% Heading.
rlm@421:     \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421: 	\@chapapp\ \thechapter. \ \fi ##1}}}
rlm@421:     \pulldownheader				% Bring header down from edge
rlm@421: }
rlm@421: \fi
rlm@421: 
rlm@421: % Redefinition of 'myheadings' page style.  
rlm@421: %
rlm@421: \def\ps@myheadings{\let\@mkboth\@gobbletwo
rlm@421:     \def\@oddfoot{}
rlm@421:     \def\@evenfoot{}
rlm@421:     \def\sectionmark##1{}
rlm@421:     \def\subsectionmark##1{}
rlm@421:     \def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}}	%
rlm@421:     \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage}	%
rlm@421:     \pulldownheader				% Bring header down from edge
rlm@421: }						
rlm@421: 
rlm@421: % Redefine '/chapter' to always start on an odd page.
rlm@421: % Should make no difference in singleside mode.
rlm@421: %
rlm@421: \if@leftblank
rlm@421: % Prints "THIS PAGE INTENTIONALLY LEFT BLANK" on blank pages.
rlm@421: \def\chapter{\clearpage\ifodd\c@page\else
rlm@421:    \hbox{}\par\vfill\centerline%
rlm@421:    {THIS PAGE INTENTIONALLY LEFT BLANK}%
rlm@421:    \vfill\newpage\fi
rlm@421:    \thispagestyle{plain}	% Page style of chapter page is 'plain'
rlm@421:    \global\@topnum\z@		% Prevents figures from going at top of page.
rlm@421:    \@afterindentfalse		% Suppresses indent in first paragraph.  Change
rlm@421:    \secdef\@chapter\@schapter}	% to \@afterindenttrue to have indent.
rlm@421: \else
rlm@421: \def\chapter{\cleardoublepage	% Starts new page.
rlm@421:    \thispagestyle{plain}	% Page style of chapter page is 'plain'
rlm@421:    \global\@topnum\z@		% Prevents figures from going at top of page.
rlm@421:    \@afterindentfalse		% Suppresses indent in first paragraph.  Change
rlm@421:    \secdef\@chapter\@schapter}	% to \@afterindenttrue to have indent.
rlm@421: \fi
rlm@421: % If using the report style, use - instead of . in the figure number.
rlm@421: \@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}}
rlm@421: 
rlm@421: 
rlm@421: %%%%%%%%%  End of Style parameters %%%%
rlm@421: 
rlm@421: % Here's Gildea's Boilerplate Stuff.
rlm@421: % Copyright (c) 1987 by Stephen Gildea
rlm@421: % Permission to copy all or part of this work is granted, provided
rlm@421: % that the copies are not made or distributed for resale, and that
rlm@421: % the copyright notice and this notice are retained.
rlm@421: 
rlm@421: %% Define all the pieces that go on the title page and the abstract.
rlm@421: 
rlm@421: % \title and \author already exist
rlm@421: 
rlm@421: \def\prevdegrees#1{\gdef\@prevdegrees{#1}}
rlm@421: \def\@prevdegrees{}
rlm@421: 
rlm@421: \def\department#1{\gdef\@department{#1}}
rlm@421: 
rlm@421: % If you are getting two degrees, use \and between the names.
rlm@421: \def\degree#1{\setbox0\hbox{#1}	 %for side effect of setting \@degreeword
rlm@421:   \gdef\@degree{#1}}
rlm@421: 
rlm@421: % \and is used inside the \degree argument to separate two degrees
rlm@421: \def\and{\gdef\@degreeword{degrees} \par and \par}
rlm@421: \def\@degreeword{degree}
rlm@421: 
rlm@421: % The copyright notice stuff is a tremendous mess.
rlm@421: %
rlm@421: % \@copyrightnotice is used by \maketitle to actually put text on the
rlm@421: % page; it defaults to ``Copyright MIT 19xx.  All rights reserved.''
rlm@421: % \copyrightnoticetext takes an argument and defined \@copyrightnotice
rlm@421: % to that argument.  \copyrightnotice takes an argument, and calls
rlm@421: % \copyrightnoticetext with that argument, preceeded by a copyright
rlm@421: % symbol and followed by ``All rights reserved.'' and the standard
rlm@421: % permission notice.
rlm@421: % 
rlm@421: % If you use the 'vi' option, \copyrightnoticetext is used to set the
rlm@421: % copyright to ``(C) Your Name, Current Year in Roman Numerals.''
rlm@421: % followed by the permission notice.
rlm@421: 
rlm@421: % If there is no \copyrightnotice command, it is asssumed that MIT
rlm@421: % holds the copyright.  This commands adds the copyright symbol to the
rlm@421: % beginning, and puts the standard permission notice below.
rlm@421: %% ``All rights reserved'' added.  Krishna Sethuraman (1990)
rlm@421: \def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1.  All rights
rlm@421: reserved.\par\permission}}
rlm@421: 
rlm@421: % Occacionally you will need to exactly specify the text of the 
rlm@421: % copyright notice.  The \copyrightnoticetext command is then useful.
rlm@421: \long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}}
rlm@421: \def\@copyrightnotice{\copyright\ \Mit\ \@degreeyear.  All rights reserved.}
rlm@421: 
rlm@421: %% `vi' documentclass option: Specifying this option automatically
rlm@421: %% copyrights the thesis to the author and gives MIT permission to copy and
rlm@421: %% distribute the document.  If you want, you can still specify
rlm@421: %% \copyrightnotice{stuff} to copyright to someone else, or
rlm@421: %% \copyrightnoticetext{stuff} to specify the exact text of the copyright
rlm@421: %% notice.
rlm@421: \ifodd\vithesis \copyrightnoticetext{\copyright\ \@author,
rlm@421: \uppercase\expandafter{\romannumeral\@degreeyear}.  All rights reserved.\par\permission}
rlm@421: %% or just
rlm@421: %%\@degreeyear}}
rlm@421: \typeout{Copyright given to author,
rlm@421: 	permission to copy/distribute given to MIT.}
rlm@421: \else \typeout{Thesis document copyright MIT unless otherwise (manually) specified}
rlm@421: \fi
rlm@421: 
rlm@421: \def\thesisdate#1{\gdef\@thesisdate{#1}}
rlm@421: 
rlm@421: % typically just a month and year
rlm@421: \def\degreemonth#1{\gdef\@degreemonth{#1}}
rlm@421: \def\degreeyear#1{\gdef\@degreeyear{#1}}
rlm@421: 
rlm@421: % Usage: \supervisor{name}{title}
rlm@421: %        \chairman{name}{title}
rlm@421: 
rlm@421: % since there can be more than one supervisor,
rlm@421: % we build the appropriate boxes for the titlepage and
rlm@421: % the abstractpage as the user makes multiple calls
rlm@421: % to \supervisor
rlm@421: \newbox\@titlesupervisor 	\newbox\@abstractsupervisor
rlm@421: 
rlm@421: \def\supervisor#1#2{\setbox\@titlesupervisor\vbox
rlm@421:   {\unvbox\@titlesupervisor \vskip 10pt% plus 1fil minus 1fil
rlm@421:   \def\baselinestretch{1}\large
rlm@421:   \signature{Certified by}{#1 \\ #2 \\ Thesis Supervisor}}
rlm@421:   \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor
rlm@421:   \vskip\baselineskip \def\baselinestretch{1}\@normalsize 
rlm@421:   \par\noindent Thesis Supervisor: #1 \\ Title: #2}}
rlm@421: 
rlm@421: % department chairman, not thesis committee chairman
rlm@421: \def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}}
rlm@421: 
rlm@421: %% `upcase' documentclass option: \choosecase is defined either as a dummy or
rlm@421: %% a macro to change the (expanded) argument to uppercase.
rlm@421: \def\maketitle{\begin{titlepage}
rlm@421: \large
rlm@421: {\def\baselinestretch{1.2}\Large\bf \choosecase{\@title} \par}
rlm@421: by\par
rlm@421: {\Large  \choosecase{\@author}}
rlm@421: \par
rlm@421: \@prevdegrees
rlm@421: \par
rlm@421: \choosecase{Submitted to the} \choosecase{\@department} \\
rlm@421: \choosecase{in partial fulfillment of the requirements for the}
rlm@421: \choosecase{\@degreeword} 
rlm@421: \choosecase{of}
rlm@421: \par
rlm@421: \choosecase{\@degree}
rlm@421: \par
rlm@421: at the
rlm@421: \par\MIT\par
rlm@421: \@degreemonth\ \@degreeyear
rlm@421: \par
rlm@421: \@copyrightnotice
rlm@421: \par
rlm@421: \vskip 3\baselineskip
rlm@421: \signature{Author}{\@department \\ \@thesisdate}
rlm@421: \par
rlm@421: \vfill
rlm@421: \unvbox\@titlesupervisor
rlm@421: \par
rlm@421: \vfill
rlm@421: \signature{Accepted by}{\@chairmanname \\ \@chairmantitle}
rlm@421: \vfill
rlm@421: \end{titlepage}}
rlm@421: 
rlm@421: % this environment should probably be called abstract,
rlm@421: % but we want people to also be able to get at the more
rlm@421: % basic abstract environment
rlm@421: \def\abstractpage{\cleardoublepage
rlm@421: \begin{center}{\large{\bf \@title} \\
rlm@421: by \\
rlm@421: \@author \\[\baselineskip]}
rlm@421: \par
rlm@421: \def\baselinestretch{1}\@normalsize
rlm@421: Submitted to the \@department \\
rlm@421: on \@thesisdate, in partial fulfillment of the \\
rlm@421: requirements for the \@degreeword\ of \\
rlm@421: \@degree
rlm@421: \end{center}
rlm@421: \par
rlm@421: \begin{abstract}}
rlm@421: 
rlm@421: %% Changed from \unvbox to \unvcopy for use with multiple copies of abstract
rlm@421: %% page.
rlm@421: %% Krishna Sethuraman (1990)
rlm@421: \def\endabstractpage{\end{abstract}\noindent
rlm@421:  \unvcopy\@abstractsupervisor \newpage}
rlm@421: 
rlm@421: %% This counter is used to save the page number for the second copy of
rlm@421: %% the abstract.
rlm@421: \newcounter{savepage}
rlm@421: 
rlm@421: % You can use the titlepage environment to do it all yourself if you
rlm@421: % don't want to use \maketitle.  If the titlepage environment, the
rlm@421: % paragraph skip is infinitely stretchable, so if you leave a blank line
rlm@421: % between lines that you want space between, the space will stretch so
rlm@421: % that the title page fills up the entire page.
rlm@421: \def\titlepage{\cleardoublepage\centering
rlm@421:   \thispagestyle{empty}
rlm@421:   \parindent 0pt \parskip 10pt plus 1fil minus 1fil
rlm@421:   \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup}
rlm@421: % The \kern0pt pushes any depth into the height.  Thanks to Richard Stone.
rlm@421: \def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage}
rlm@421: 
rlm@421: \def\MIT{MASSACHUSETTS INSTITUTE OF TECHNOLOGY}
rlm@421: \def\Mit{Massachusetts Institute of Technology}
rlm@421: 
rlm@421: \def\permission{\par\noindent{\centering
rlm@421:    The author hereby grants to MIT permission to reproduce and to
rlm@421:    distribute publicly paper and electronic copies of this thesis
rlm@421:    document in whole or in part in any medium now known or hereafter
rlm@421:    created.}\par}
rlm@421: 
rlm@421: \def\signature#1#2{\par\noindent#1\dotfill\null\\*
rlm@421:   {\raggedleft #2\par}}
rlm@421: 
rlm@421: \def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize}
rlm@421: \def\endabstract{\par}
rlm@421: 




