annotate thesis/mitthesis.cls @ 494:092b60381af0

processing bib queue. num left: 5
author Robert McIntyre <rlm@mit.edu>
date Sat, 29 Mar 2014 22:46:05 -0400
parents 6b0f77df0e53
children
rev   line source
rlm@421 1 % $Log: mitthesis.cls,v $
rlm@421 2 % Revision 1.9 2012/02/15 15:48:16 jdreed
rlm@421 3 % Tweak the "permission" statement per the Libraries' specs
rlm@421 4 % retrieved 15-Feb-2012
rlm@421 5 %
rlm@421 6 % Revision 1.8 2009/07/27 14:23:50 boojum
rlm@421 7 % added changing draft mark
rlm@421 8 %
rlm@421 9 % Revision 1.6 2005/05/13 19:57:40 boojum
rlm@421 10 % added leftblank option
rlm@421 11 %
rlm@421 12 % Revision 1.5 2002/04/18 14:10:08 boojum
rlm@421 13 % changed doublespace into setspace for 2e compliance
rlm@421 14 %
rlm@421 15 % Revision 1.4 2001/02/08 18:57:13 boojum
rlm@421 16 % turned two newpages into cleardoublepages
rlm@421 17 %
rlm@421 18 % Revision 1.3 2000/08/14 14:53:29 boojum
rlm@421 19 % commented out footheight, which is relevant for drafthead
rlm@421 20 %
rlm@421 21 % Revision 1.2 1999/10/21 14:51:33 boojum
rlm@421 22 % changed references to documentstyle to documentclass in comments
rlm@421 23 %
rlm@421 24 % Revision 1.1 1999/10/21 14:39:31 boojum
rlm@421 25 % Initial revision
rlm@421 26 %
rlm@421 27 %Revision 1.7 1998/04/01 20:45:34 othomas
rlm@421 28 %removed offending phrase ", and to grant others the right to do so" from copyright notice.
rlm@421 29 %
rlm@421 30 %Revision 1.6 96/06/26 15:07:29 othomas
rlm@421 31 %safety checkin.
rlm@421 32 %
rlm@421 33 %Revision 1.5 93/06/07 15:38:50 starflt
rlm@421 34 %Altered 'vi' option copyright wording to comply with new Institute
rlm@421 35 %Archives requirements and MIT lawyers.
rlm@421 36 %
rlm@421 37 %Revision 1.4 92/08/19 16:51:06 lwvanels
rlm@421 38 %Updated Course 6 title page for new permissions.
rlm@421 39 %
rlm@421 40 %Revision 1.3 92/04/23 10:16:15 epeisach
rlm@421 41 %Fixed comment character in rcs file
rlm@421 42 %
rlm@421 43 %Revision 1.2 92/04/22 13:12:02 epeisach
rlm@421 44 %Fixes for 1991 course 6 requirements
rlm@421 45 %Phrase "and to grant others the right to do so" has been added to
rlm@421 46 %permission clause
rlm@421 47 %Second copy of abstract is not counted as separate pages so numbering works
rlm@421 48 %out
rlm@421 49 %
rlm@421 50 %Revision 1.1 90/05/04 11:45:53 lwvanels
rlm@421 51 %Initial revision
rlm@421 52
rlm@421 53 %
rlm@421 54 % LaTeX format for theses at MIT
rlm@421 55 % Based on "Specifications for Thesis Preparation"
rlm@421 56
rlm@421 57 % `vi' and `upcase' options by Krishna Sethuraman - krishna@athena.mit.edu
rlm@421 58 % Margins and heading types by Peter Nuth - nuth@ai.mit.edu
rlm@421 59 % Title and abstract page by Stephen Gildea - gildea@erl.mit.edu
rlm@421 60 % Look in this directory for example file mitthesis.doc
rlm@421 61 % Also for propcover.tex - Boilerplate for PHD proposal.
rlm@421 62
rlm@421 63 % To use this style - say something like:
rlm@421 64 % for dull, boring thesis format:
rlm@421 65 % \documentclass[12pt]{mitthesis}
rlm@421 66 % \pagestyle{plain}
rlm@421 67 % OR for fast drafts:
rlm@421 68 % \documentclass[11pt,singlespace,draft]{mitthesis}
rlm@421 69 % \pagestyle{drafthead}
rlm@421 70 % OR for Tech Reports:
rlm@421 71 % \documentclass[12pt,twoside]{mitthesis}
rlm@421 72 % \pagestyle{headings}
rlm@421 73 % OR
rlm@421 74 % some other combination...
rlm@421 75 %
rlm@421 76 %%%% New options:
rlm@421 77 %
rlm@421 78 % Option `twoside':
rlm@421 79 % Good for producing Tech Reports.
rlm@421 80 % The default is single-sided printing, which is what M.I.T. wants on the
rlm@421 81 % thesis document itself.
rlm@421 82 %
rlm@421 83 % Option `singlespace':
rlm@421 84 % Good for drafts.
rlm@421 85 % Double-spaced theses are the default.
rlm@421 86 % That is what M.I.T. asks for in the formal specifications.
rlm@421 87 %
rlm@421 88 % Note that MIT does not REQUIRE all theses to be double-spaced anymore.
rlm@421 89 % Someone in the library system said that it's OK to be single-spaced.
rlm@421 90 % (Regardless of what the specs. say...)
rlm@421 91 % To get singlespacing in an area - Use the 'singlespace' environment.
rlm@421 92 %
rlm@421 93 % Option `draft':
rlm@421 94 % Puts `overfull' boxes at the end of lines that are too long.
rlm@421 95 %
rlm@421 96 % Pagestyle `drafthead':
rlm@421 97 % Puts the date and the label ``*DRAFT*'' in the footer.
rlm@421 98 %
rlm@421 99 %%%%%%%%%%
rlm@421 100 %
rlm@421 101 %%%% Parameters to initialize for boilerplate page:
rlm@421 102 %
rlm@421 103 % \title{Mixed Circular Cylindrical Shells}
rlm@421 104 % \author{J. Casey Salas}
rlm@421 105 % \prevdegrees{B.S., University of California (1978) \\
rlm@421 106 % S.M., Massachusetts Institute of Technology (1981)}
rlm@421 107 % \department{Department of Electrical Engineering and Computer Science}
rlm@421 108 % \degree{Doctor of Philosophy}
rlm@421 109 %% If the thesis is for two degrees simultaneously, list them both
rlm@421 110 %% separated by \and like this:
rlm@421 111 % \degree{Doctor of Philosophy \and Master of Science}
rlm@421 112 % \degreemonth{February}
rlm@421 113 % \degreeyear{1987}
rlm@421 114 % \thesisdate{December 10, 1986}
rlm@421 115 %% If the thesis is copyright by the Institute, leave this line out and
rlm@421 116 %% the standard copyright line will be used instead.
rlm@421 117 % \copyrightnotice{J. Casey Salas, 1986}
rlm@421 118 %% If there is more than one supervisor, use the \supervisor command
rlm@421 119 %% once for each.
rlm@421 120 % \supervisor{John D. Galli}{Director, Sound Instrument Laboratory}
rlm@421 121 %% This is the department committee chairman, not the thesis committee chairman
rlm@421 122 % \chairman{Arthur C. Smith}
rlm@421 123 % {Chairman, Departmental Committee on Graduate Students}
rlm@421 124 %% Make the titlepage based on the above information. If you need
rlm@421 125 %% something special and can't use the standard form, you can specify
rlm@421 126 %% the exact text of the titlepage yourself. Put it in a titlepage
rlm@421 127 %% environment and leave blank lines where you want vertical space.
rlm@421 128 %% The spaces will be adjusted to fill the entire page. The dotted
rlm@421 129 %% lines for the signatures are made with the \signature command.
rlm@421 130 %
rlm@421 131 %% The abstractpage environment sets up everything on the page except
rlm@421 132 %% the text itself. The title and other header material are put at the
rlm@421 133 %% top of the page, and the supervisors are listed at the bottom. A
rlm@421 134 %% new page is begun both before and after. Of course, an abstract may
rlm@421 135 %% be more than one page itself. If you need more control over the
rlm@421 136 %% format of the page, you can use the abstract environment, which puts
rlm@421 137 %% the word "Abstract" at the beginning and single spaces its text.
rlm@421 138 %
rlm@421 139 % \begin{abstractpage}
rlm@421 140 % Abstract goes here.
rlm@421 141 % \end{abstractpage}
rlm@421 142 %
rlm@421 143 %%%%%%%% Newer additions
rlm@421 144 %
rlm@421 145 % documentclass options -
rlm@421 146 % vi For MIT course VI or VIII thesis - will copyright the thesis to
rlm@421 147 % you while giving MIT permission to copy and distribute it.
rlm@421 148 % upcase Will put much of the cover page in uppercase, as per the
rlm@421 149 % example on page 17 of the *Specifications for Thesis
rlm@421 150 % Preparation*, (revised 1989)
rlm@421 151 % Also added ``All Rights Reserved'' to default copyright notice.
rlm@421 152 %
rlm@421 153 %%%%%%%%%%%
rlm@421 154 %
rlm@421 155 % Documentclass options (vi and upcase) and changes to copyright notice
rlm@421 156 % Copyright (c) 1990, by Krishna Sethuraman.
rlm@421 157 %
rlm@421 158 % Pagestyle and header generation
rlm@421 159 % Copyright (c) 1987, 1988 by Peter Nuth
rlm@421 160 %
rlm@421 161 % Original version
rlm@421 162 % Copyright (c) 1987 by Stephen Gildea
rlm@421 163 % Permission to copy all or part of this work is granted, provided
rlm@421 164 % that the copies are not made or distributed for resale, and that
rlm@421 165 % the copyright notice and this notice are retained.
rlm@421 166 %
rlm@421 167 % THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO
rlm@421 168 % WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK,
rlm@421 169 % INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS
rlm@421 170 % FOR ANY PARTICULAR PURPOSE.
rlm@421 171 %%%%%%%%
rlm@421 172
rlm@421 173 \NeedsTeXFormat{LaTeX2e}
rlm@421 174 \ProvidesClass{mitthesis}[1999/10/20]
rlm@421 175
rlm@421 176 \def\mystretch{1.5} % Double spacing hack
rlm@421 177 \DeclareOption{doublespace}{} % This is default
rlm@421 178 % So we do not read this style twice
rlm@421 179 \DeclareOption{singlespace}{ % If he explicitly wants single spacing
rlm@421 180 \typeout{Single spaced}
rlm@421 181 \def\mystretch{1}}
rlm@421 182
rlm@421 183 %% `vi' and `upcase' document style options. Krishna Sethuraman (1990)
rlm@421 184 \newcount\vithesis
rlm@421 185 \DeclareOption{vi}{\typeout{Course VI/VIII thesis style.}\advance\vithesis by1}
rlm@421 186 \vithesis=0
rlm@421 187
rlm@421 188 \DeclareOption{upcase}{\typeout{Uppercase cover page.}
rlm@421 189 \gdef\choosecase#1{\uppercase\expandafter{#1}}}
rlm@421 190 \def\choosecase#1{#1}
rlm@421 191
rlm@421 192 %% leftblank option by Kevin Fu
rlm@421 193 \newif\if@leftblank \@leftblankfalse
rlm@421 194
rlm@421 195 \DeclareOption{leftblank}{\typeout{Intentionally Leaving Pages Blank}
rlm@421 196 \@leftblanktrue}
rlm@421 197
rlm@421 198 % Thesis looks much like report
rlm@421 199 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
rlm@421 200 \ProcessOptions
rlm@421 201 \LoadClass{report}
rlm@421 202
rlm@421 203 % If the user wants single spacing, set baselinestretch=1.
rlm@421 204
rlm@421 205 \usepackage{setspace}
rlm@421 206
rlm@421 207 % Note - doublespace.sty has some float-related troubles in
rlm@421 208 % combination with graphics or color, and is not officially compliant
rlm@421 209 % with 2e. setspace is a replacement which is 2e-compliant.
rlm@421 210
rlm@421 211 % Read the doublespace style that we got from Rochester:
rlm@421 212 %\input setdoublespace.sty
rlm@421 213
rlm@421 214 \def\baselinestretch{\mystretch} % Double spacing hack
rlm@421 215
rlm@421 216 %%%%%%% Set up margins and formatting params %%%
rlm@421 217
rlm@421 218 % Margins.
rlm@421 219 % Note we want 1in top margin assuming no header line, so push header
rlm@421 220 % into 1in margin.
rlm@421 221 % Draft mode brings the header back down.
rlm@421 222
rlm@421 223 \setlength{\oddsidemargin}{0.25in} % 1.25in left margin
rlm@421 224 \setlength{\evensidemargin}{0.25in} % 1.25in left margin (even pages)
rlm@421 225 \setlength{\topmargin}{0.0in} % 1in top margin
rlm@421 226 \setlength{\textwidth}{6.0in} % 6.0in text - 1.25in rt margin
rlm@421 227 \setlength{\textheight}{9in} % Body ht for 1in margins
rlm@421 228 \addtolength{\topmargin}{-\headheight} % No header, so compensate
rlm@421 229 \addtolength{\topmargin}{-\headsep} % for header height and separation
rlm@421 230
rlm@421 231 % The next two macros compensate page style for headers and footers
rlm@421 232 % We only need them in page styles that USE headers and footers.
rlm@421 233 % If we have a header, it must be 1in from top of page.
rlm@421 234 \def\pulldownheader{ % Shift header down 1in from top
rlm@421 235 \addtolength{\topmargin}{\headheight}
rlm@421 236 \addtolength{\topmargin}{\headsep}
rlm@421 237 \addtolength{\textheight}{-\headheight}
rlm@421 238 \addtolength{\textheight}{-\headsep}
rlm@421 239 }
rlm@421 240 % If we have a footer, put it 1in up from bottom
rlm@421 241 \def\pullupfooter{ % Shift footer up
rlm@421 242 \addtolength{\textheight}{-\footskip}
rlm@421 243 % \addtolength{\textheight}{-\footheight} %footheight doesn't
rlm@421 244 % exist in 2e
rlm@421 245 }
rlm@421 246
rlm@421 247 %%%%%%% End of margins and formatting params %%%
rlm@421 248
rlm@421 249 %%%%%%% Fix various header and footer problems %%%
rlm@421 250
rlm@421 251 % Draft mark on the right side of left pages (outside)
rlm@421 252 % this mark is also the only one visible on single sided.
rlm@421 253 \newcommand{\draftrmark}{**DRAFT**}
rlm@421 254 % Draft mark on the left side of right pages (outside)
rlm@421 255 \newcommand{\draftlmark}{**DRAFT**} %
rlm@421 256
rlm@421 257 % Macros to make changing the Draft easier
rlm@421 258 \newcommand{\drmark}[1]{\renewcommand{\draftrmark}{#1}}
rlm@421 259 \newcommand{\dlmark}[1]{\renewcommand{\draftlmark}{#1}}
rlm@421 260 \newcommand{\dmark}[1]{\drmark{#1}\dlmark{#1}}
rlm@421 261
rlm@421 262 % Format for draft of thesis. Define our own PageStyle -
rlm@421 263 % Just like headings, but has foot lines with the date and warning
rlm@421 264
rlm@421 265 \if@twoside % If two-sided printing.
rlm@421 266 \def\ps@drafthead{
rlm@421 267 \let\@mkboth\markboth
rlm@421 268 \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
rlm@421 269 \def\@evenfoot{\sc \draftlmark \hfil \rm \today }
rlm@421 270 \def\@evenhead{\rm \thepage\hfil \sl \leftmark}
rlm@421 271 \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
rlm@421 272 \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421 273 \@chapapp\ \thechapter. \ \fi ##1}}{}}
rlm@421 274 \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
rlm@421 275 \thesection. \ \fi ##1}}}
rlm@421 276 \pulldownheader % Bring header down from edge
rlm@421 277 \pullupfooter % Bring footer up
rlm@421 278 }
rlm@421 279 \else % If one-sided printing.
rlm@421 280 \def\ps@drafthead{
rlm@421 281 \let\@mkboth\markboth
rlm@421 282 \def\@oddfoot{\rm \today \hfil \sc \draftrmark}
rlm@421 283 \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage}
rlm@421 284 \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421 285 \@chapapp\ \thechapter. \ \fi ##1}}}
rlm@421 286 \pulldownheader % Bring header down from edge
rlm@421 287 \pullupfooter % Bring footer up
rlm@421 288 }
rlm@421 289 \fi
rlm@421 290
rlm@421 291 % I redefine these formats that were defined in report.sty
rlm@421 292 % Definition of 'headings' page style
rlm@421 293 % Note the use of ##1 for parameter of \def\chaptermark inside the
rlm@421 294 % \def\ps@headings.
rlm@421 295 %
rlm@421 296
rlm@421 297 \if@twoside % If two-sided printing.
rlm@421 298 \def\ps@headings{\let\@mkboth\markboth
rlm@421 299 \def\@oddfoot{}
rlm@421 300 \def\@evenfoot{} % No feet.
rlm@421 301 \def\@evenhead{\rm \thepage\hfil \sl \leftmark} % Left heading.
rlm@421 302 \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} % Right heading.
rlm@421 303 \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421 304 \@chapapp\ \thechapter. \ \fi ##1}}{}}
rlm@421 305 \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
rlm@421 306 \thesection. \ \fi ##1}}}
rlm@421 307 \pulldownheader % Bring header down from edge
rlm@421 308 }
rlm@421 309 \else % If one-sided printing.
rlm@421 310 \def\ps@headings{\let\@mkboth\markboth
rlm@421 311 \def\@oddfoot{}
rlm@421 312 \def\@evenfoot{} % No feet.
rlm@421 313 \def\@oddhead{\hbox {}\sl \rightmark \hfil \rm\thepage} % Heading.
rlm@421 314 \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne
rlm@421 315 \@chapapp\ \thechapter. \ \fi ##1}}}
rlm@421 316 \pulldownheader % Bring header down from edge
rlm@421 317 }
rlm@421 318 \fi
rlm@421 319
rlm@421 320 % Redefinition of 'myheadings' page style.
rlm@421 321 %
rlm@421 322 \def\ps@myheadings{\let\@mkboth\@gobbletwo
rlm@421 323 \def\@oddfoot{}
rlm@421 324 \def\@evenfoot{}
rlm@421 325 \def\sectionmark##1{}
rlm@421 326 \def\subsectionmark##1{}
rlm@421 327 \def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}} %
rlm@421 328 \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage} %
rlm@421 329 \pulldownheader % Bring header down from edge
rlm@421 330 }
rlm@421 331
rlm@421 332 % Redefine '/chapter' to always start on an odd page.
rlm@421 333 % Should make no difference in singleside mode.
rlm@421 334 %
rlm@421 335 \if@leftblank
rlm@421 336 % Prints "THIS PAGE INTENTIONALLY LEFT BLANK" on blank pages.
rlm@421 337 \def\chapter{\clearpage\ifodd\c@page\else
rlm@421 338 \hbox{}\par\vfill\centerline%
rlm@421 339 {THIS PAGE INTENTIONALLY LEFT BLANK}%
rlm@421 340 \vfill\newpage\fi
rlm@421 341 \thispagestyle{plain} % Page style of chapter page is 'plain'
rlm@421 342 \global\@topnum\z@ % Prevents figures from going at top of page.
rlm@421 343 \@afterindentfalse % Suppresses indent in first paragraph. Change
rlm@421 344 \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent.
rlm@421 345 \else
rlm@421 346 \def\chapter{\cleardoublepage % Starts new page.
rlm@421 347 \thispagestyle{plain} % Page style of chapter page is 'plain'
rlm@421 348 \global\@topnum\z@ % Prevents figures from going at top of page.
rlm@421 349 \@afterindentfalse % Suppresses indent in first paragraph. Change
rlm@421 350 \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent.
rlm@421 351 \fi
rlm@421 352 % If using the report style, use - instead of . in the figure number.
rlm@421 353 \@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}}
rlm@421 354
rlm@421 355
rlm@421 356 %%%%%%%%% End of Style parameters %%%%
rlm@421 357
rlm@421 358 % Here's Gildea's Boilerplate Stuff.
rlm@421 359 % Copyright (c) 1987 by Stephen Gildea
rlm@421 360 % Permission to copy all or part of this work is granted, provided
rlm@421 361 % that the copies are not made or distributed for resale, and that
rlm@421 362 % the copyright notice and this notice are retained.
rlm@421 363
rlm@421 364 %% Define all the pieces that go on the title page and the abstract.
rlm@421 365
rlm@421 366 % \title and \author already exist
rlm@421 367
rlm@421 368 \def\prevdegrees#1{\gdef\@prevdegrees{#1}}
rlm@421 369 \def\@prevdegrees{}
rlm@421 370
rlm@421 371 \def\department#1{\gdef\@department{#1}}
rlm@421 372
rlm@421 373 % If you are getting two degrees, use \and between the names.
rlm@421 374 \def\degree#1{\setbox0\hbox{#1} %for side effect of setting \@degreeword
rlm@421 375 \gdef\@degree{#1}}
rlm@421 376
rlm@421 377 % \and is used inside the \degree argument to separate two degrees
rlm@421 378 \def\and{\gdef\@degreeword{degrees} \par and \par}
rlm@421 379 \def\@degreeword{degree}
rlm@421 380
rlm@421 381 % The copyright notice stuff is a tremendous mess.
rlm@421 382 %
rlm@421 383 % \@copyrightnotice is used by \maketitle to actually put text on the
rlm@421 384 % page; it defaults to ``Copyright MIT 19xx. All rights reserved.''
rlm@421 385 % \copyrightnoticetext takes an argument and defined \@copyrightnotice
rlm@421 386 % to that argument. \copyrightnotice takes an argument, and calls
rlm@421 387 % \copyrightnoticetext with that argument, preceeded by a copyright
rlm@421 388 % symbol and followed by ``All rights reserved.'' and the standard
rlm@421 389 % permission notice.
rlm@421 390 %
rlm@421 391 % If you use the 'vi' option, \copyrightnoticetext is used to set the
rlm@421 392 % copyright to ``(C) Your Name, Current Year in Roman Numerals.''
rlm@421 393 % followed by the permission notice.
rlm@421 394
rlm@421 395 % If there is no \copyrightnotice command, it is asssumed that MIT
rlm@421 396 % holds the copyright. This commands adds the copyright symbol to the
rlm@421 397 % beginning, and puts the standard permission notice below.
rlm@421 398 %% ``All rights reserved'' added. Krishna Sethuraman (1990)
rlm@421 399 \def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1. All rights
rlm@421 400 reserved.\par\permission}}
rlm@421 401
rlm@421 402 % Occacionally you will need to exactly specify the text of the
rlm@421 403 % copyright notice. The \copyrightnoticetext command is then useful.
rlm@421 404 \long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}}
rlm@421 405 \def\@copyrightnotice{\copyright\ \Mit\ \@degreeyear. All rights reserved.}
rlm@421 406
rlm@421 407 %% `vi' documentclass option: Specifying this option automatically
rlm@421 408 %% copyrights the thesis to the author and gives MIT permission to copy and
rlm@421 409 %% distribute the document. If you want, you can still specify
rlm@421 410 %% \copyrightnotice{stuff} to copyright to someone else, or
rlm@421 411 %% \copyrightnoticetext{stuff} to specify the exact text of the copyright
rlm@421 412 %% notice.
rlm@421 413 \ifodd\vithesis \copyrightnoticetext{\copyright\ \@author,
rlm@421 414 \uppercase\expandafter{\romannumeral\@degreeyear}. All rights reserved.\par\permission}
rlm@421 415 %% or just
rlm@421 416 %%\@degreeyear}}
rlm@421 417 \typeout{Copyright given to author,
rlm@421 418 permission to copy/distribute given to MIT.}
rlm@421 419 \else \typeout{Thesis document copyright MIT unless otherwise (manually) specified}
rlm@421 420 \fi
rlm@421 421
rlm@421 422 \def\thesisdate#1{\gdef\@thesisdate{#1}}
rlm@421 423
rlm@421 424 % typically just a month and year
rlm@421 425 \def\degreemonth#1{\gdef\@degreemonth{#1}}
rlm@421 426 \def\degreeyear#1{\gdef\@degreeyear{#1}}
rlm@421 427
rlm@421 428 % Usage: \supervisor{name}{title}
rlm@421 429 % \chairman{name}{title}
rlm@421 430
rlm@421 431 % since there can be more than one supervisor,
rlm@421 432 % we build the appropriate boxes for the titlepage and
rlm@421 433 % the abstractpage as the user makes multiple calls
rlm@421 434 % to \supervisor
rlm@421 435 \newbox\@titlesupervisor \newbox\@abstractsupervisor
rlm@421 436
rlm@421 437 \def\supervisor#1#2{\setbox\@titlesupervisor\vbox
rlm@421 438 {\unvbox\@titlesupervisor \vskip 10pt% plus 1fil minus 1fil
rlm@421 439 \def\baselinestretch{1}\large
rlm@421 440 \signature{Certified by}{#1 \\ #2 \\ Thesis Supervisor}}
rlm@421 441 \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor
rlm@421 442 \vskip\baselineskip \def\baselinestretch{1}\@normalsize
rlm@421 443 \par\noindent Thesis Supervisor: #1 \\ Title: #2}}
rlm@421 444
rlm@421 445 % department chairman, not thesis committee chairman
rlm@421 446 \def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}}
rlm@421 447
rlm@421 448 %% `upcase' documentclass option: \choosecase is defined either as a dummy or
rlm@421 449 %% a macro to change the (expanded) argument to uppercase.
rlm@421 450 \def\maketitle{\begin{titlepage}
rlm@421 451 \large
rlm@421 452 {\def\baselinestretch{1.2}\Large\bf \choosecase{\@title} \par}
rlm@421 453 by\par
rlm@421 454 {\Large \choosecase{\@author}}
rlm@421 455 \par
rlm@421 456 \@prevdegrees
rlm@421 457 \par
rlm@421 458 \choosecase{Submitted to the} \choosecase{\@department} \\
rlm@421 459 \choosecase{in partial fulfillment of the requirements for the}
rlm@421 460 \choosecase{\@degreeword}
rlm@421 461 \choosecase{of}
rlm@421 462 \par
rlm@421 463 \choosecase{\@degree}
rlm@421 464 \par
rlm@421 465 at the
rlm@421 466 \par\MIT\par
rlm@421 467 \@degreemonth\ \@degreeyear
rlm@421 468 \par
rlm@421 469 \@copyrightnotice
rlm@421 470 \par
rlm@421 471 \vskip 3\baselineskip
rlm@421 472 \signature{Author}{\@department \\ \@thesisdate}
rlm@421 473 \par
rlm@421 474 \vfill
rlm@421 475 \unvbox\@titlesupervisor
rlm@421 476 \par
rlm@421 477 \vfill
rlm@421 478 \signature{Accepted by}{\@chairmanname \\ \@chairmantitle}
rlm@421 479 \vfill
rlm@421 480 \end{titlepage}}
rlm@421 481
rlm@421 482 % this environment should probably be called abstract,
rlm@421 483 % but we want people to also be able to get at the more
rlm@421 484 % basic abstract environment
rlm@421 485 \def\abstractpage{\cleardoublepage
rlm@421 486 \begin{center}{\large{\bf \@title} \\
rlm@421 487 by \\
rlm@421 488 \@author \\[\baselineskip]}
rlm@421 489 \par
rlm@421 490 \def\baselinestretch{1}\@normalsize
rlm@421 491 Submitted to the \@department \\
rlm@421 492 on \@thesisdate, in partial fulfillment of the \\
rlm@421 493 requirements for the \@degreeword\ of \\
rlm@421 494 \@degree
rlm@421 495 \end{center}
rlm@421 496 \par
rlm@421 497 \begin{abstract}}
rlm@421 498
rlm@421 499 %% Changed from \unvbox to \unvcopy for use with multiple copies of abstract
rlm@421 500 %% page.
rlm@421 501 %% Krishna Sethuraman (1990)
rlm@421 502 \def\endabstractpage{\end{abstract}\noindent
rlm@421 503 \unvcopy\@abstractsupervisor \newpage}
rlm@421 504
rlm@421 505 %% This counter is used to save the page number for the second copy of
rlm@421 506 %% the abstract.
rlm@421 507 \newcounter{savepage}
rlm@421 508
rlm@421 509 % You can use the titlepage environment to do it all yourself if you
rlm@421 510 % don't want to use \maketitle. If the titlepage environment, the
rlm@421 511 % paragraph skip is infinitely stretchable, so if you leave a blank line
rlm@421 512 % between lines that you want space between, the space will stretch so
rlm@421 513 % that the title page fills up the entire page.
rlm@421 514 \def\titlepage{\cleardoublepage\centering
rlm@421 515 \thispagestyle{empty}
rlm@421 516 \parindent 0pt \parskip 10pt plus 1fil minus 1fil
rlm@421 517 \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup}
rlm@421 518 % The \kern0pt pushes any depth into the height. Thanks to Richard Stone.
rlm@421 519 \def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage}
rlm@421 520
rlm@421 521 \def\MIT{MASSACHUSETTS INSTITUTE OF TECHNOLOGY}
rlm@421 522 \def\Mit{Massachusetts Institute of Technology}
rlm@421 523
rlm@421 524 \def\permission{\par\noindent{\centering
rlm@421 525 The author hereby grants to MIT permission to reproduce and to
rlm@421 526 distribute publicly paper and electronic copies of this thesis
rlm@421 527 document in whole or in part in any medium now known or hereafter
rlm@421 528 created.}\par}
rlm@421 529
rlm@421 530 \def\signature#1#2{\par\noindent#1\dotfill\null\\*
rlm@421 531 {\raggedleft #2\par}}
rlm@421 532
rlm@421 533 \def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize}
rlm@421 534 \def\endabstract{\par}
rlm@421 535