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
|