some typping
[cluster_expansion_thesis.git] / phdthesis.cls
blob4ca94dc061b53b5c3749efe214c7f9c298984977
1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesClass{phdthesis}[2001/07/18 PhD Dissertation Style]
3 \newcommand{\@mult}{1}
4 \newcommand{\@typesizeopt}{10pt}
5 \DeclareOption{8pt}{%
6 % \renewcommand{\@mult}{0.8}
7 \renewcommand{\@typesizeopt}{8pt}
9 \DeclareOption{9pt}{%
10 % \renewcommand{\@mult}{0.9}
11 \renewcommand{\@typesizeopt}{9pt}
13 \DeclareOption{10pt}{%
14 % \renewcommand{\@mult}{1}
15 \renewcommand{\@typesizeopt}{10pt}
17 \DeclareOption{11pt}{%
18 % \renewcommand{\@mult}{1.1}
19 \renewcommand{\@typesizeopt}{11pt}
21 \DeclareOption{12pt}{%
22 % \renewcommand{\@mult}{1.2}
23 \renewcommand{\@typesizeopt}{12pt}
25 \DeclareOption{openbib}{% To provide backwards compatibility with versions
26 \AtEndOfPackage{% of the book class that do not use @openbib@code
27 \renewcommand\@openbib@code{%
28 \addtolength{\leftmargin}{\bibindent}
29 \setlength{\itemindent}{-\bibindent}
30 \setlength{\listparindent}{\itemindent}
31 \setlength{\parsep}{\z@}
33 \renewcommand\newblock{\par}
35 \PassOptionsToClass{\CurrentOption}{book}
37 \newcommand{\@papersizeopt}{a4paper}
38 \DeclareOption{a4paper}{\renewcommand{\@papersizeopt}{a4paper}}
39 \DeclareOption{a5paper}{\renewcommand{\@papersizeopt}{a5paper}}
40 \DeclareOption{b5paper}{\renewcommand{\@papersizeopt}{b5paper}}
41 \DeclareOption{letterpaper}{\renewcommand{\@papersizeopt}{letterpaper}}
42 \DeclareOption{legalpaper}{\renewcommand{\@papersizeopt}{legalpaper}}
43 \DeclareOption{executivepaper}{\renewcommand{\@papersizeopt}{executivepaper}}
44 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
45 \ProcessOptions
46 \LoadClass[\@papersizeopt,\@typesizeopt]{book}
47 \RequirePackage{epsfig}
49 % To provide backwards compatibility with versions of the book class that
50 % do not define \@openbib@code, \newblock, \paperwidth or \paperheight:
52 \providecommand{\@openbib@code}{}
53 \providecommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
54 \providecommand{\paperwidth}{\pagewidth}
55 \providecommand{\paperheight}{\pageheight}
57 % New values for some lengths, proportional to fontsize
59 \renewcommand{\baselinestretch}{1.1}
60 \newcommand{\setmlength}[3]{\setlength{#1}{#3}\setlength{#1}{#2#1}}
61 \setmlength{\textheight}{\@mult}{0.613\paperheight}%18.2cm for a4paper
62 %\setmlength{\textwidth}{\@mult}{0.576\paperwidth}%12.1cm for a4paper
63 \setmlength{\textwidth}{\@mult}{0.615\paperwidth}%13cm for a4paper
64 \setmlength{\headheight}{\@mult}{12pt}
65 \setmlength{\headsep}{\@mult}{18pt}
66 \setmlength{\topskip}{\@mult}{10pt}
67 \setmlength{\footskip}{\@mult}{25pt}
69 \setlength{\topmargin}{0.5\paperheight}
70 \addtolength{\topmargin}{-0.5\textheight}
71 \addtolength{\topmargin}{-0.5\headheight}
72 \addtolength{\topmargin}{-0.5\headsep}
73 \addtolength{\topmargin}{-0.5\footskip}
74 \addtolength{\topmargin}{-1in}
75 \setlength{\oddsidemargin}{0.5\paperwidth}
76 \addtolength{\oddsidemargin}{-0.5\textwidth}
77 \addtolength{\oddsidemargin}{-1in}
78 \setlength{\evensidemargin}{\oddsidemargin}
80 % Chapterheads: chapternr, horizontal line, chaptertitle
81 % Vertical spaces are proportional to fontsize
82 % Note that, as opposed to in book.cls, here the definition
83 % of \@makechapterhead does _not_ end with a \nobreak command
84 % but with a \mbox{}, since we'd rather not have the chapter
85 % head move to the next page even if that would result in
86 % the chapter head being the _only_ thing on the page.
88 \newlength{\@spacebeforechapterhead}
89 \setmlength{\@spacebeforechapterhead}{\@mult}{15pt}
90 \newlength{\@spaceinchapterhead}
91 \setmlength{\@spaceinchapterhead}{\@mult}{3.5pt}
92 \newlength{\@spaceafterchapterhead}
93 \setmlength{\@spaceafterchapterhead}{\@mult}{60pt}
95 \renewcommand{\@makechapterhead}[1]{{%
96 \vspace*{\@spacebeforechapterhead}%
97 \parindent 0pt \Large\bfseries
98 \ifnum \c@secnumdepth >\m@ne
99 \if@mainmatter
100 \@chapapp\enspace\thechapter
103 \interlinepenalty\@M
104 \vspace*{\@spaceinchapterhead}%
105 \hrule
106 \vspace*{\@spaceinchapterhead}%
107 {\hfill \LARGE \bfseries #1}%
108 \mbox{}\par
109 \mbox{}\par
110 \mbox{}\par
111 % \mbox{}\par
112 % \mbox{}\par
113 % \mbox{}\par
114 % \vspace*{\@spaceafterchapterhead}\vspace{\stretch{0.01}\par\mbox{}\par
117 \renewcommand{\@makeschapterhead}[1]{{%
118 \vspace*{\@spacebeforechapterhead}%
119 \parindent 0pt \Large\bfseries
120 \phantom{\@chapapp}%
121 \interlinepenalty\@M
122 \vspace*{\@spaceinchapterhead}%
123 \hrule
124 \vspace*{\@spaceinchapterhead}%
125 {\hfill \LARGE \bfseries #1}%
126 \mbox{}\par
127 \mbox{}\par
128 \mbox{}\par
129 \mbox{}\par
130 \mbox{}\par
131 \mbox{}\par
132 % Note: the above works better when there is little text on the first
133 % page of the chapter
134 % \vspace*{\@spaceafterchapterhead}\vspace{\stretch{0.01}}\par\mbox{}\par
137 %\newcommand{\Chapter}[1]{%
138 % \chapter{#1 ${\,}^{\dagger}$}
141 % No pagenumber or headers on skipped pages with cleardoublepage
143 \renewcommand{\cleardoublepage}{%
144 \clearpage\if@twoside \ifodd\c@page\else
145 \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi
148 % Theorems: {\bf number.} {\sc type.} {\rm description} \it contents
150 \def\@begintheorem#1#2{%
151 \itshape
152 \trivlist% changing this in '\begin{trivlist}' yields an error
153 \item[\hspace{\labelsep}{\upshape\bfseries #2.}\ {\scshape #1.}]%
156 \renewcommand{\@opargbegintheorem}[3]{%
157 \itshape
158 \trivlist% changing this in `\begin{trivlist}' yields an error
159 \item[\hspace{\labelsep}{\upshape\bfseries #2.}\ {\scshape #1\ ({#3}).}]%
162 % Chapters, sections and other environments are redefined here to no
163 % longer cause uppercased headings. Headings are italized instead of
164 % slanted. The bibliography and index appear in the table of contents.
166 \if@twoside
167 \renewcommand{\ps@headings}{%
168 \let\@oddfoot\@empty\let\@evenfoot\@empty
169 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
170 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
171 \let\@mkboth\markboth
172 \def\chaptermark##1{\markboth{%
173 \ifnum \c@secnumdepth >\m@ne
174 \if@mainmatter \@chapapp\ \thechapter. \ \fi
176 ##1}{}}%
177 \def\sectionmark##1{\markright{%
178 \ifnum \c@secnumdepth >\z@ \thesection. \ \fi
179 ##1}}%
181 \else
182 \renewcommand{\ps@headings}{%
183 \let\@oddfoot\@empty
184 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
185 \let\@mkboth\markboth
186 \def\chaptermark##1{\markright{%
187 \ifnum \c@secnumdepth >\m@ne
188 \if@mainmatter \@chapapp\ \thechapter. \ \fi
191 ##1}}
195 \renewcommand{\ps@myheadings}{%
196 \let\@oddfoot\@empty\let\@evenfoot\@empty
197 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
198 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
199 \let\@mkboth\@gobbletwo
200 \let\chaptermark\@gobble
201 \let\sectionmark\@gobble
203 \renewcommand{\tableofcontents}{%
204 \if@twocolumn
205 \@restonecoltrue\onecolumn
206 \else
207 \@restonecolfalse
209 \chapter*{\contentsname
210 \@mkboth{\contentsname}{\contentsname}}% Headings not uppercased
211 \@starttoc{toc}%
212 \if@restonecol\twocolumn\fi
215 \renewcommand{\listoffigures}{%
216 \if@twocolumn
217 \@restonecoltrue\onecolumn
218 \else
219 \@restonecolfalse
221 \chapter*{\listfigurename
222 \@mkboth{\listfigurename}{\listfigurename}}% Headings not uppercased
223 \@starttoc{lof}%
224 \if@restonecol\twocolumn\fi
227 \renewcommand{\listoftables}{%
228 \if@twocolumn
229 \@restonecoltrue\onecolumn
230 \else
231 \@restonecolfalse
233 \chapter*{\listtablename
234 \@mkboth{\listtablename}{\listtablename}}% Headings not uppercased
235 \@starttoc{lot}%
236 \if@restonecol\twocolumn\fi
239 \def\PARstart#1#2{\begingroup\def\par{\endgraf\endgroup\lineskiplimit=0pt}
240 \setbox2=\hbox{\lowercase{#2}}\newdimen\tmpht \tmpht \ht2
241 \advance\tmpht by \baselineskip\font\hhuge=cmr10 at \tmpht
242 \setbox1=\hbox{{\hhuge #1}}
243 \count7=\tmpht \count8=\ht1\divide\count8 by 1000 \divide\count7 by\count8
244 \tmpht=.001\tmpht\multiply\tmpht by \count7\font\hhuge=cmr10 at \tmpht
245 \setbox1=\hbox{{\hhuge #1}} \noindent \hangindent1.05\wd1
246 \hangafter=-2 {\hskip-\hangindent \lower1\ht1\hbox{\raise1.0\ht2\copy1}%
247 \kern-0\wd1}\copy2\lineskiplimit=-1000pt}
248 \endinput
250 %{\begin{minipage}[t]{177mm}\em }%
251 %{\end{minipage}}
253 \renewenvironment{thebibliography}[1]{%
254 \chapter*{\bibname
255 \@mkboth{\bibname}{\bibname}}% Headings not uppercased
256 \addcontentsline{toc}{chapter}{Bibliography}% Add to table-of-contents
257 \list{\@biblabel{\arabic{enumiv}}}{%
258 \settowidth\labelwidth{\@biblabel{#1}}%
259 \leftmargin\labelwidth
260 \advance\leftmargin\labelsep
261 \@openbib@code
262 \usecounter{enumiv}%
263 \let\p@enumiv\@empty
264 \renewcommand{\theenumiv}{\arabic{enumiv}}%
266 \sloppy\clubpenalty4000\widowpenalty4000%
267 \sfcode`\.=\@m
269 \def\@noitemerr{%
270 \@latex@warning{Empty `thebibliography' environment}%
272 \endlist
275 \renewenvironment{theindex}{%
276 \cleardoublepage% Start on a right-hand page
277 \if@twocolumn
278 \@restonecolfalse
279 \else
280 \@restonecoltrue
282 \columnseprule \z@
283 \columnsep 35\p@
284 \twocolumn[\phantom{\Large\bf\chaptername}%
285 \@makeschapterhead{\indexname}]%
286 \@mkboth{\indexname}{\indexname}% Headings not uppercased
287 \addcontentsline{toc}{chapter}{Index}% Add to table-of-contents
288 \thispagestyle{plain}\parindent\z@
289 \parskip\z@ \@plus .3\p@\relax
290 \let\item\@idxitem
292 \if@restonecol\onecolumn\else\clearpage\fi
295 % Define new end-matter environments
297 \newenvironment{thesymbols}{%
298 \cleardoublepage% Start on a right-hand page
299 \if@twocolumn
300 \@restonecolfalse
301 \else
302 \@restonecoltrue
304 \columnseprule \z@
305 \columnsep 35\p@
306 \twocolumn[\phantom{\Large\bf\chaptername}%
307 \@makeschapterhead{List of symbols}]%
308 \@mkboth{List of symbols}{List of symbols}% Headings not uppercased
309 \addcontentsline{toc}{chapter}{List of Symbols}% Add to table-of-contents
310 \thispagestyle{plain}\parindent\z@
311 \parskip\z@ \@plus .3\p@\relax
312 \let\item\@idxitem
314 \if@restonecol\onecolumn\else\clearpage\fi
317 %\newcommand{\motto}[2]{%
318 % #1 \\ #2
321 \newcommand{\acknowledgments}{%
322 \chapter*{Acknowledgments}%
323 \addcontentsline{toc}{chapter}{Acknowledgments}%
324 \markboth{Acknowledgments}{Acknowledgments}%
327 \newcommand{\samenvatting}{%
328 \chapter*{Samenvatting}%
329 \addcontentsline{toc}{chapter}{Samenvatting}%
330 \markboth{Samenvatting}{Samenvatting}%
333 %\newcommand{\abstract}{%
334 % \chapter*{Abstract}%
335 % \addcontentsline{toc}{chapter}{Abstract}%
336 % \markboth{Abstract}{Abstract}%
339 \def\abstract{%
340 \if@twocolumn
341 \small\it Abstract\/\bf---$\!$%
342 \else
343 \begin{center}\vspace{-0.8em}\small\bf Abstract\end{center}\quotation\small
344 \fi}
345 \def\endabstract{\vspace{0.6em}\par\if@twocolumn\else\endquotation\fi
346 \normalsize\rm}
349 \newcommand{\curriculum}{%
350 \chapter*{Curriculum Vitae}
351 \addcontentsline{toc}{chapter}{Curriculum Vitae}
352 \markboth{Curriculum Vitae}{Curriculum Vitae}
355 % Italized theorem-like environments
357 \newtheorem{theorem}{Theorem}[section]
358 \newtheorem{conjecture}[theorem]{Conjecture}
359 \newtheorem{lemma}[theorem]{Lemma}
360 \newtheorem{proposition}[theorem]{Proposition}
361 \newtheorem{corollary}[theorem]{Corollary}
363 % Non-italized theorem-like environments:
365 \newtheorem{@definition}[theorem]{Definition}
366 \newenvironment{definition}{\begin{@definition}\upshape}{\end{@definition}}
367 \newtheorem{@remark}[theorem]{Remark}
368 \newenvironment{remark}{\begin{@remark}\upshape}{\end{@remark}}
369 \newtheorem{@example}[theorem]{Example}
370 \newenvironment{example}{\begin{@example}\upshape}{\end{@example}}
371 \newtheorem{@convention}[theorem]{Convention}
372 \newenvironment{convention}{\begin{@convention}\upshape}{\end{@convention}}
373 \newtheorem{@fact}[theorem]{Fact}
374 \newenvironment{fact}{\begin{@fact}\upshape}{\end{@fact}}
375 \newtheorem{@question}[theorem]{Question}
376 \newenvironment{question}{\begin{@question}\upshape}{\end{@question}}
378 % Symbols for AmsTex and Illc
380 %\newcommand{\illclogo}[1]{%
381 % \epsfig{file=illclogo.eps,width=#1}%
383 %\newcommand{\illcnotextlogo}[1]{%
384 % \epsfig{file=illc_no_text_logo.eps,width=#1}%