1 |
5 |
guanucolui |
%% This is the University of Calgary Thesis Class file ``ucalgthes.cls''
|
2 |
|
|
%% [1998/03/01] -- N. Mancell, UCS].
|
3 |
|
|
%% for use with LaTeX2e[1996/12/01]
|
4 |
|
|
%
|
5 |
|
|
%%% MODIFICATIONS
|
6 |
|
|
%% Modified thesis.sty to ucalgthes.cls
|
7 |
|
|
%% Changes for LaTeX2e compatibility, font selection and options selection.
|
8 |
|
|
%% No new style modifications were done.
|
9 |
|
|
|
10 |
|
|
%%%HISTORICAL LOCAL MODIFICATIONS - REPORT STYLE TO THESIS.STY"
|
11 |
|
|
%% THESIS DOCUMENT STYLE -- Released January 1987
|
12 |
|
|
% for LaTeX version 2.09
|
13 |
|
|
% Copyright (C) 1985 by Leslie Lamport
|
14 |
|
|
% Modified from Report Style by Deborah Teale January 1987
|
15 |
|
|
% Modified (March 1988) to clear marks in the CONTENTS and INDEX
|
16 |
|
|
% Modified (May 1988) to add newsigncolumn command for multiple signature
|
17 |
|
|
% columns on the signing page
|
18 |
|
|
% Modified (Sep 1992) to remove date on approval page, add table of contents
|
19 |
|
|
% to toc and add defs Author Degree thesis
|
20 |
|
|
% default \thesis is thesis rather than dissertation
|
21 |
|
|
%\typeout{Document Style 'thesis'. Released May 1988}
|
22 |
|
|
%\typeout{Document Style 'thesis'. Released Sep 1992}
|
23 |
|
|
%
|
24 |
|
|
%%% IDENTIFICATION
|
25 |
|
|
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
|
26 |
|
|
\ProvidesClass{ucalgthes1}[1998/03/01 v1.0 University of Calgary Thesis Class]
|
27 |
|
|
%\RequirePackage{setspace}[200/12/01] %(NM2005) replacing old doublespace.sty %singlespace,onehalfspace and doublespacing options. (nm2007 commented out)%
|
28 |
|
|
|
29 |
|
|
%%% DECLARATION OF OPTIONS
|
30 |
|
|
% The type size option is handled by reading a different (THESxx.CLO)
|
31 |
|
|
% file for each size, as follows, to define font size-specific commands:
|
32 |
|
|
% 10pt : THES10, 11pt : THES11, 12pt : THES12
|
33 |
|
|
% Defaults are set to 12pt, onside, final (98/03/01)NM
|
34 |
|
|
%
|
35 |
|
|
\newcommand\@ptsize{}
|
36 |
|
|
\newcommand\@draftmark{}
|
37 |
|
|
\newcommand\@includeprompt{}
|
38 |
|
|
\newcommand\@chapterprompt{}
|
39 |
|
|
%
|
40 |
|
|
%% Font Size Options (nm1998/03/01)
|
41 |
|
|
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
|
42 |
|
|
\DeclareOption{11pt}{\renewcommand\@ptsize{1}} %11pt option reads THES11.CLO
|
43 |
|
|
\DeclareOption{12pt}{\renewcommand\@ptsize{2}} %12pt option reads THES12.CLO
|
44 |
|
|
%
|
45 |
|
|
%% Two-side or one-side Printing Option (nm1998/03/01).
|
46 |
|
|
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
|
47 |
|
|
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
|
48 |
|
|
%
|
49 |
|
|
%% Draft Option (nm1998/03/01)
|
50 |
|
|
\DeclareOption{draft}{\renewcommand\@draftmark{1}}
|
51 |
|
|
\DeclareOption{final}{\renewcommand\@draftmark{2}}
|
52 |
|
|
%
|
53 |
|
|
%% Includeprompt Option(prompt user for includeonly files)(nm1998/03/01)
|
54 |
|
|
\DeclareOption{includeprompt}{\renewcommand\@includeprompt{\typein[\includefiles]{Type includeonly filenames {f1,f2,f3}}
|
55 |
|
|
\includeonly{\includefiles}}}
|
56 |
|
|
%
|
57 |
|
|
%% Chapterprompt Option(prompts user for chapter number and filename)
|
58 |
|
|
%% (nm1998/03/01)
|
59 |
|
|
\DeclareOption{chapterprompt}{\renewcommand\chapterprompt{\typein[\chapterfilename]{Type chapter filename }%
|
60 |
|
|
\typein[\chapternumber\{Type chapter number }%
|
61 |
|
|
\def\chapterprompt{\setcounter{chapter}{\chapternumber}%
|
62 |
|
|
\addtocounter{chapter}{-1}%
|
63 |
|
|
\include{chapterfilename}}}
|
64 |
|
|
%
|
65 |
|
|
%%% EXECUTE OPTIONS
|
66 |
|
|
\ExecuteOptions{letterpaper,12pt,oneside,final} %(NM2005 added letterpaper)Defaults to 12pt type size, oneside,final
|
67 |
|
|
|
68 |
|
|
% Draft Option - options gets implemented
|
69 |
|
|
%
|
70 |
|
|
% \overfullrule = 0pt % Default is don't mark overfull hboxes.
|
71 |
|
|
\ifnum \@draftmark = 1
|
72 |
|
|
\overfullrule 5pt % Causes overfull hboxes to be marked.
|
73 |
|
|
\fi
|
74 |
|
|
|
75 |
|
|
% The \ProcessOptions command causes the execution of every command FOO
|
76 |
|
|
% which is declared and for which the user typed the FOO option in his
|
77 |
|
|
% \documentclass command. For every undeclared option BAR there will be
|
78 |
|
|
% a warning message. (nm98/03/01)
|
79 |
|
|
|
80 |
|
|
|
81 |
|
|
\ProcessOptions
|
82 |
|
|
|
83 |
|
|
%\input setspace.sty %(NM 2005 setspace.sty replacing doublespace.sty)(nm 2007 commented out)
|
84 |
|
|
\input doublespace.sty %(nm 2007 re-instated)
|
85 |
|
|
\input thes1\@ptsize.clo\relax
|
86 |
|
|
|
87 |
|
|
|
88 |
|
|
% ****************************************
|
89 |
|
|
% * LISTS *
|
90 |
|
|
% ****************************************
|
91 |
|
|
%
|
92 |
|
|
|
93 |
|
|
% ENUMERATE
|
94 |
|
|
% Enumeration is done with four counters: enumi, enumii, enumiii
|
95 |
|
|
% and enumiv, where enumN controls the numbering of the Nth level
|
96 |
|
|
% enumeration. The label is generated by the commands \labelenumi
|
97 |
|
|
% ... \labelenumiv. The expansion of \p@enumN\theenumN defines the
|
98 |
|
|
% output of a \ref command.
|
99 |
|
|
|
100 |
|
|
\def\labelenumi{\arabic{enumi}.}
|
101 |
|
|
\def\theenumi{\arabic{enumi}}
|
102 |
|
|
|
103 |
|
|
\def\labelenumii{(\alph{enumii})}
|
104 |
|
|
\def\theenumii{\alph{enumii}}
|
105 |
|
|
\def\p@enumii{\theenumi}
|
106 |
|
|
|
107 |
|
|
\def\labelenumiii{\roman{enumiii}.}
|
108 |
|
|
\def\theenumiii{\roman{enumiii}}
|
109 |
|
|
\def\p@enumiii{\theenumi(\theenumii)}
|
110 |
|
|
|
111 |
|
|
\def\labelenumiv{\Alph{enumiv}.}
|
112 |
|
|
\def\theenumiv{\Alph{enumiv}}
|
113 |
|
|
\def\p@enumiv{\p@enumiii\theenumiii}
|
114 |
|
|
|
115 |
|
|
% ITEMIZE
|
116 |
|
|
% Itemization is controlled by four commands: \labelitemi, \labelitemii,
|
117 |
|
|
% \labelitemiii, and \labelitemiv, which define the labels of the various
|
118 |
|
|
% itemization levels.(\bf to \bfseries, \bullet \m@ath\bullet, etc.
|
119 |
|
|
% nm1998/03/01)
|
120 |
|
|
|
121 |
|
|
\def\labelitemi{$\m@th\bullet$}
|
122 |
|
|
\def\labelitemii{\bfseries --}
|
123 |
|
|
\def\labelitemiii{$\m@th\ast$}
|
124 |
|
|
\def\labelitemiv{$\m@th\cdot$}
|
125 |
|
|
|
126 |
|
|
|
127 |
|
|
% VERSE
|
128 |
|
|
% The verse environment is defined by making clever use of the
|
129 |
|
|
% list environment's parameters. The user types \\ to end a line.
|
130 |
|
|
% This is implemented by \let'in \\ equal \@centercr.
|
131 |
|
|
%
|
132 |
|
|
\def\verse{\let\\=\@centercr
|
133 |
|
|
\list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
|
134 |
|
|
\rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
|
135 |
|
|
\let\endverse\endlist
|
136 |
|
|
|
137 |
|
|
% QUOTATION
|
138 |
|
|
% Fills lines
|
139 |
|
|
% Indents paragraph
|
140 |
|
|
%
|
141 |
|
|
\def\quotation{\list{}{\listparindent 1.5em
|
142 |
|
|
\itemindent\listparindent
|
143 |
|
|
\rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]}
|
144 |
|
|
\let\endquotation=\endlist
|
145 |
|
|
|
146 |
|
|
% QUOTE -- same as quotation except no paragraph indentation,
|
147 |
|
|
%
|
148 |
|
|
\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
|
149 |
|
|
\let\endquote=\endlist
|
150 |
|
|
|
151 |
|
|
% DESCRIPTION
|
152 |
|
|
%
|
153 |
|
|
% To change the formatting of the label, you must redefine
|
154 |
|
|
% \descriptionlabel.
|
155 |
|
|
|
156 |
|
|
\def\descriptionlabel#1{\hspace\labelsep \bfseries #1}
|
157 |
|
|
\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
|
158 |
|
|
\let\makelabel\descriptionlabel}}
|
159 |
|
|
|
160 |
|
|
\let\enddescription\endlist
|
161 |
|
|
|
162 |
|
|
\newdimen\descriptionmargin
|
163 |
|
|
\descriptionmargin=3em
|
164 |
|
|
|
165 |
|
|
|
166 |
|
|
% ****************************************
|
167 |
|
|
% * OTHER ENVIRONMENTS *
|
168 |
|
|
% ****************************************
|
169 |
|
|
%
|
170 |
|
|
%
|
171 |
|
|
% THEOREM
|
172 |
|
|
% \@begintheorem ... \@endtheorem are the commands executed at the
|
173 |
|
|
% beginning and end of a (user-defined) theorem-like environment.
|
174 |
|
|
% Except \@opargbegintheorem is executed when an optional argument is
|
175 |
|
|
% given. Cf. LATEX.TEX.
|
176 |
|
|
%
|
177 |
|
|
% \def\@begintheorem#1#2{\it \trivlist \item[\hskip \labelsep{\bfseries #1\ #2}]}
|
178 |
|
|
% \def\@opargbegintheorem#1#2#3{\it \trivlist
|
179 |
|
|
% \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]}
|
180 |
|
|
% \def\@endtheorem{\endtrivlist}
|
181 |
|
|
|
182 |
|
|
|
183 |
|
|
% TITLEPAGE
|
184 |
|
|
% In the normal environments, the titlepage environment does nothing but
|
185 |
|
|
% start and end a page, and inhibit page numbers. It also resets the
|
186 |
|
|
% page number to zero. In two-column style, it still makes a one-column
|
187 |
|
|
% page.
|
188 |
|
|
\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
|
189 |
|
|
\else \newpage \fi \thispagestyle{empty}\c@page\z@}
|
190 |
|
|
|
191 |
|
|
\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
|
192 |
|
|
% Variables for the thesis title page
|
193 |
|
|
\def\dept#1{\gdef\@dept{#1}}
|
194 |
|
|
\def\degree#1{\gdef\@degree{#1}\gdef\Degree{#1}}
|
195 |
|
|
\def\monthname#1{\gdef\@monthname{#1}}
|
196 |
|
|
%\def\year#1{\gdef\@year{#1}} %(NM2005 interferred with latex year command for fancyhdr)
|
197 |
|
|
\def\thesisyear#1{\gdef\@year{#1}} % redefined as per above comment (NM2005)
|
198 |
|
|
\def\thesis#1{\gdef\Thesis{#1}\gdef\@THESIS{\uppercase{#1}}}
|
199 |
|
|
\def\author#1{\gdef\@author{#1}\gdef\Author{#1}}
|
200 |
|
|
|
201 |
|
|
% SIGNINGPAGE
|
202 |
|
|
% environment signing and command signline
|
203 |
|
|
\newlength{\signwidth}
|
204 |
|
|
\newenvironment{signing}[1]{\settowidth{\signwidth}{#1} % %width of longest signature
|
205 |
|
|
\def\signline{ \null\vskip 1em\makebox[\signwidth]{\hrulefill}\\} %signature line
|
206 |
|
|
\def\newsigncolumn{\end{minipage}\hfill\begin{minipage}[t]{\signwidth}\raggedleft}% added raggedleft 2009nm allow for more than one column of signatures
|
207 |
|
|
\singlespace
|
208 |
|
|
\noindent\begin{minipage}{\textwidth}
|
209 |
|
|
\raggedleft
|
210 |
|
|
\null
|
211 |
|
|
\begin{minipage}[t]{\signwidth} \raggedleft %added raggedleft 2009nm
|
212 |
|
|
}{\null\end{minipage}\end{minipage}
|
213 |
|
|
\null
|
214 |
|
|
\par
|
215 |
|
|
\vfill
|
216 |
|
|
\begin{flushright}
|
217 |
|
|
\noindent \rule{2.5in}{.01in}\null
|
218 |
|
|
\\
|
219 |
|
|
\noindent Date
|
220 |
|
|
\end{flushright}
|
221 |
|
|
\endsinglespace}
|
222 |
|
|
|
223 |
|
|
% ARRAY AND TABULAR
|
224 |
|
|
%
|
225 |
|
|
|
226 |
|
|
\arraycolsep 5pt % Half the space between columns in an array environment.
|
227 |
|
|
\tabcolsep 6pt % Half the space between columns in a tabular environment.
|
228 |
|
|
\arrayrulewidth .4pt % Width of rules in array and tabular environment.
|
229 |
|
|
\doublerulesep 2pt % Space between adjacent rules in array or tabular env.
|
230 |
|
|
|
231 |
|
|
% TABBING
|
232 |
|
|
%
|
233 |
|
|
\tabbingsep \labelsep % Space used by the \' command. (See LaTeX manual.)
|
234 |
|
|
|
235 |
|
|
% MINIPAGE
|
236 |
|
|
% \@minipagerestore is called upon entry to a minipage environment to
|
237 |
|
|
% set up things that are to be handled differently inside a minipage
|
238 |
|
|
% environment. In the current styles, it does nothing.
|
239 |
|
|
%
|
240 |
|
|
% \skip\@mpfootins : plays same role for footnotes in a minipage as
|
241 |
|
|
% \skip\footins does for ordinary footnotes
|
242 |
|
|
|
243 |
|
|
\skip\@mpfootins = \skip\footins
|
244 |
|
|
|
245 |
|
|
% FRAMEBOX
|
246 |
|
|
%
|
247 |
|
|
\fboxsep = 3pt % Space left between box and text by \fbox and \framebox.
|
248 |
|
|
\fboxrule = .4pt % Width of rules in box made by \fbox and \framebox.
|
249 |
|
|
|
250 |
|
|
|
251 |
|
|
% ****************************************
|
252 |
|
|
% * CHAPTERS AND SECTIONS *
|
253 |
|
|
% ****************************************
|
254 |
|
|
%
|
255 |
|
|
% DEFINE COUNTERS:
|
256 |
|
|
%
|
257 |
|
|
% \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is
|
258 |
|
|
% reset to zero when counter OLDCTR is stepped.
|
259 |
|
|
% Counter OLDCTR must already be defined.
|
260 |
|
|
|
261 |
|
|
\newcounter{part}
|
262 |
|
|
\newcounter {chapter}
|
263 |
|
|
\newcounter {section}[chapter]
|
264 |
|
|
\newcounter {subsection}[section]
|
265 |
|
|
\newcounter {subsubsection}[subsection]
|
266 |
|
|
\newcounter {paragraph}[subsubsection]
|
267 |
|
|
\newcounter {subparagraph}[paragraph]
|
268 |
|
|
|
269 |
|
|
% For any counter CTR, \theCTR is a macro that defines the printed version
|
270 |
|
|
% of counter CTR. It is defined in terms of the following macros:
|
271 |
|
|
%
|
272 |
|
|
% \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral.
|
273 |
|
|
% \roman{COUNTER} : Its value printed as a lower-case roman numberal.
|
274 |
|
|
% \Roman{COUNTER} : Its value printed as an upper-case roman numberal.
|
275 |
|
|
% \alph{COUNTER} : Value of COUNTER printed as a lower-case letter:
|
276 |
|
|
% 1 = a, 2 = b, etc.
|
277 |
|
|
% \Alph{COUNTER} : Value of COUNTER printed as an upper-case letter:
|
278 |
|
|
% 1 = A, 2 = B, etc.
|
279 |
|
|
%
|
280 |
|
|
|
281 |
|
|
\def\thepart {\Roman{part}}
|
282 |
|
|
\def\thechapter {\arabic{chapter}}
|
283 |
|
|
\def\thesection {\thechapter.\arabic{section}}
|
284 |
|
|
\def\thesubsection {\thesection.\arabic{subsection}}
|
285 |
|
|
\def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
|
286 |
|
|
\def\theparagraph {\thesubsubsection.\arabic{paragraph}}
|
287 |
|
|
\def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
|
288 |
|
|
|
289 |
|
|
% \@chapapp is initially defined to be 'Chapter'. The \appendix
|
290 |
|
|
% command redefines it to be 'Appendix'.
|
291 |
|
|
%
|
292 |
|
|
\def\@chapapp{Chapter}
|
293 |
|
|
|
294 |
|
|
|
295 |
|
|
|
296 |
|
|
% ****************************************
|
297 |
|
|
% * TABLE OF CONTENTS, ETC. *
|
298 |
|
|
% ****************************************
|
299 |
|
|
%
|
300 |
|
|
% A \subsection command writes a
|
301 |
|
|
% \contentsline{subsection}{TITLE}{PAGE}
|
302 |
|
|
% command on the .toc file, where TITLE contains the contents of the
|
303 |
|
|
% entry and PAGE is the page number. If subsections are being numbered,
|
304 |
|
|
% then TITLE will be of the form
|
305 |
|
|
% \numberline{NUM}{HEADING}
|
306 |
|
|
% where NUM is the number produced by \thesubsection. Other sectioning
|
307 |
|
|
% commands work similarly.
|
308 |
|
|
%
|
309 |
|
|
% A \caption command in a 'figure' environment writes
|
310 |
|
|
% \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE}
|
311 |
|
|
% on the .lof file, where NUM is the number produced by \thefigure and
|
312 |
|
|
% CAPTION is the figure caption. It works similarly for a 'table' environment.
|
313 |
|
|
%
|
314 |
|
|
% The command \contentsline{NAME} expands to \l@NAME. So, to specify
|
315 |
|
|
% the table of contents, we must define \l@chapter, \l@section,
|
316 |
|
|
% \l@subsection, ... ; to specify the list of figures, we must define
|
317 |
|
|
% \l@figure; and so on. Most of these can be defined with the
|
318 |
|
|
% \@dottedtocline command, which works as follows.
|
319 |
|
|
%
|
320 |
|
|
% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
|
321 |
|
|
% LEVEL : An entry is produced only if LEVEL < or = value of
|
322 |
|
|
% 'tocdepth' counter. Note, \chapter is level 0, \section
|
323 |
|
|
% is level 1, etc.
|
324 |
|
|
% INDENT : The indentation from the outer left margin of the start of
|
325 |
|
|
% the contents line.
|
326 |
|
|
% NUMWIDTH : The width of a box in which the section number is to go,
|
327 |
|
|
% if TITLE includes a \numberline command.
|
328 |
|
|
%
|
329 |
|
|
% This command uses the following three parameters, which are set
|
330 |
|
|
% with a \def (so em's can be used to make them depend upon the font).
|
331 |
|
|
% \@pnumwidth : The width of a box in which the page number is put.
|
332 |
|
|
% \@tocrmarg : The right margin for multiple line entries. One
|
333 |
|
|
% wants \@tocrmarg > or = \@pnumwidth
|
334 |
|
|
% \@dotsep : Separation between dots, in mu units. Should be \def'd to
|
335 |
|
|
% a number like 2 or 1.7
|
336 |
|
|
|
337 |
|
|
\def\@pnumwidth{1.55em}
|
338 |
|
|
\def\@tocrmarg {2.55em}
|
339 |
|
|
\def\@dotsep{4.5}
|
340 |
|
|
\setcounter{tocdepth}{2}
|
341 |
|
|
|
342 |
|
|
|
343 |
|
|
% TABLEOFCONTENTS
|
344 |
|
|
% In thesis class, \tableofcontents, \listoffigures, etc. are always
|
345 |
|
|
% set in single-column style. @restonecol
|
346 |
|
|
|
347 |
|
|
|
348 |
|
|
\def\tableofcontents{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
|
349 |
|
|
\fi\chapter*{\bf Table of Contents\@mkboth{}{}\addcontentsline{toc}{chapter}{Table of Contents}}
|
350 |
|
|
\@starttoc{toc}\if@restonecol\twocolumn\fi} %added \bf to print Table of Contents in bold on pg 2006nm
|
351 |
|
|
|
352 |
|
|
|
353 |
|
|
\def\l@part#1#2{\addpenalty{-\@highpenalty}
|
354 |
|
|
\addvspace{2.25em plus 1pt} % space above part line
|
355 |
|
|
\begingroup
|
356 |
|
|
\@tempdima 3em % width of box holding part number, used by
|
357 |
|
|
\parindent \z@ \rightskip \@pnumwidth %% \numberline
|
358 |
|
|
\parfillskip -\@pnumwidth
|
359 |
|
|
{%\large \bfseries % set line in \large boldface 2006nm
|
360 |
|
|
\leavevmode % TeX command to enter horizontal mode.
|
361 |
|
|
#1\hfil \hbox to\@pnumwidth{\hss #2}}\par
|
362 |
|
|
\nobreak % Never break after part entry
|
363 |
|
|
\endgroup}
|
364 |
|
|
|
365 |
|
|
|
366 |
|
|
\def\l@chapter#1#2{\pagebreak[3]
|
367 |
|
|
\vskip 1.0em plus 1pt % space above chapter line
|
368 |
|
|
\@tempdima 1.5em % width of box holding chapter number
|
369 |
|
|
\begingroup
|
370 |
|
|
\parindent \z@ \rightskip \@pnumwidth
|
371 |
|
|
\parfillskip -\@pnumwidth
|
372 |
|
|
%\bfseries % Boldface removed. 2006nm
|
373 |
|
|
\leavevmode % TeX command to enter horizontal mode.
|
374 |
|
|
#1\hfil \hbox to\@pnumwidth{\hss #2}\par
|
375 |
|
|
\endgroup}
|
376 |
|
|
|
377 |
|
|
\def\l@chapter{\@dottedtocline{0}{1.5em}{2.3em}} %added this line 2006nm
|
378 |
|
|
\def\l@section{\@dottedtocline{1}{1.5em}{2.3em}} %changed 1 to 0 2006nm
|
379 |
|
|
\def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
|
380 |
|
|
\def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
|
381 |
|
|
\def\l@paragraph{\@dottedtocline{4}{10em}{5em}}
|
382 |
|
|
\def\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
|
383 |
|
|
|
384 |
|
|
% LIST OF FIGURES
|
385 |
|
|
%
|
386 |
|
|
\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
|
387 |
|
|
\fi\chapter*{List of Figures\markboth
|
388 |
|
|
{}{}\addcontentsline{toc}{chapter}{List of Figures}}%(NM 2005 added List of Figures to TOC)
|
389 |
|
|
\@starttoc{lof}\if@restonecol\twocolumn
|
390 |
|
|
\fi}
|
391 |
|
|
|
392 |
|
|
\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
|
393 |
|
|
|
394 |
|
|
% LIST OF TABLES
|
395 |
|
|
%
|
396 |
|
|
\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
|
397 |
|
|
\fi\chapter*{List of Tables\markboth
|
398 |
|
|
{}{}\addcontentsline{toc}{chapter}{List of Tables}}%(NM 2005 added List of Tables to TOC)
|
399 |
|
|
\@starttoc{lot}\if@restonecol\twocolumn
|
400 |
|
|
\fi}
|
401 |
|
|
|
402 |
|
|
\let\l@table\l@figure
|
403 |
|
|
|
404 |
|
|
|
405 |
|
|
|
406 |
|
|
% ****************************************
|
407 |
|
|
% * BIBLIOGRAPHY *
|
408 |
|
|
% ****************************************
|
409 |
|
|
%
|
410 |
|
|
% The thebibliography environment executes the following commands:
|
411 |
|
|
%
|
412 |
|
|
% \def\newblock{\hskip .11em plus .33em minus -.07em} --
|
413 |
|
|
% Defines the `closed' format, where the blocks (major units of
|
414 |
|
|
% information) of an entry run together.
|
415 |
|
|
%
|
416 |
|
|
% \sloppy -- Used because it's rather hard to do line breaks in
|
417 |
|
|
% bibliographies,
|
418 |
|
|
%
|
419 |
|
|
% \sfcode`\.=1000\relax --
|
420 |
|
|
% Causes a `.' (period) not toproduce an end-of-sentence space.
|
421 |
|
|
|
422 |
|
|
\def\thebibliography#1{\altchapter{Bibliography}\list
|
423 |
|
|
{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
|
424 |
|
|
\advance\leftmargin\labelsep
|
425 |
|
|
\usecounter{enumi}}
|
426 |
|
|
\def\newblock{\hskip .11em plus .33em minus -.07em}
|
427 |
|
|
\sloppy
|
428 |
|
|
\sfcode`\.=1000\relax}
|
429 |
|
|
|
430 |
|
|
\let\endthebibliography=\endlist
|
431 |
|
|
|
432 |
|
|
% \def\@biblabel#1{[#1]\hfill} % Produces the label for a \bibitem[...]
|
433 |
|
|
% command.
|
434 |
|
|
% \def\@cite#1{[#1]} % Produces the output of the \cite command.
|
435 |
|
|
|
436 |
|
|
|
437 |
|
|
|
438 |
|
|
% ****************************************
|
439 |
|
|
% * THE INDEX *
|
440 |
|
|
% ****************************************
|
441 |
|
|
%
|
442 |
|
|
% THE THEINDEX ENVIRONMENT
|
443 |
|
|
% Produces double column format, with each paragraph a separate entry.
|
444 |
|
|
% The user commands \item, \subitem and \subsubitem are used to
|
445 |
|
|
% produce the entries, and \indexspace adds an extra vertical space
|
446 |
|
|
% that's the right size to put above the first entry with a new letter
|
447 |
|
|
% of the alphabet.
|
448 |
|
|
|
449 |
|
|
\newif\if@restonecol
|
450 |
|
|
|
451 |
|
|
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
|
452 |
|
|
\columnseprule \z@
|
453 |
|
|
\columnsep 35pt\twocolumn[\@makeschapterhead{Index}]
|
454 |
|
|
\markboth{}{}\thispagestyle{plain}\parindent\z@
|
455 |
|
|
\parskip\z@ plus .3pt\relax\let\item\@idxitem}
|
456 |
|
|
|
457 |
|
|
\def\@idxitem{\par\hangindent 40pt}
|
458 |
|
|
|
459 |
|
|
\def\subitem{\par\hangindent 40pt \hspace*{20pt}}
|
460 |
|
|
|
461 |
|
|
\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
|
462 |
|
|
|
463 |
|
|
\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
|
464 |
|
|
|
465 |
|
|
\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
|
466 |
|
|
|
467 |
|
|
|
468 |
|
|
% ****************************************
|
469 |
|
|
% * FOOTNOTES *
|
470 |
|
|
% ****************************************
|
471 |
|
|
%
|
472 |
|
|
% \footnoterule is a macro to draw the rule separating the footnotes from
|
473 |
|
|
% the text. It should take zero vertical space, so it needs a negative
|
474 |
|
|
% skip to compensate for any positive space taken by the rule. (See
|
475 |
|
|
% PLAIN.TEX.)
|
476 |
|
|
|
477 |
|
|
\def\footnoterule{\kern-3\p@
|
478 |
|
|
\hrule width .4\columnwidth
|
479 |
|
|
\kern 2.6\p@} % The \hrule has default height of .4pt .
|
480 |
|
|
|
481 |
|
|
% \newcounter{footnote}
|
482 |
|
|
\@addtoreset{footnote}{chapter} % Numbers footnotes within chapters
|
483 |
|
|
|
484 |
|
|
% \@makefntext{NOTE} :
|
485 |
|
|
% Must produce the actual footnote, using \@thefnmark as the mark
|
486 |
|
|
% of the footnote and NOTE as the text. It is called when effectively
|
487 |
|
|
% inside a \parbox of width \columnwidth (i.e., with \hsize =
|
488 |
|
|
% \columnwidth).
|
489 |
|
|
%
|
490 |
|
|
% The following macro indents all lines of the footnote by 10pt, and
|
491 |
|
|
% indents the first line of a new paragraph by 1em. To change these
|
492 |
|
|
% dimensions, just substitute the desired value for '10pt' [in both
|
493 |
|
|
% places] or '1em'. The mark is flushright against the footnote.
|
494 |
|
|
% \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize
|
495 |
|
|
% \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par
|
496 |
|
|
% \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1}
|
497 |
|
|
%
|
498 |
|
|
% A simpler macro is used, in which the footnote text is
|
499 |
|
|
% set like an ordinary text paragraph, with no indentation except
|
500 |
|
|
% on the first line of a paragraph, and the first line of the
|
501 |
|
|
% footnote. Thus, all the macro must do is set \parindent
|
502 |
|
|
% to the appropriate value for succeeding paragraphs and put the
|
503 |
|
|
% proper indentation before mark.
|
504 |
|
|
|
505 |
|
|
\long\def\@makefntext#1{\parindent 1em\noindent
|
506 |
|
|
\hbox to 1.8em{\hss$^{\@thefnmark}$}#1}
|
507 |
|
|
|
508 |
|
|
% \@makefnmark : A macro to generate the footnote marker that goes
|
509 |
|
|
% in the text. Default used.
|
510 |
|
|
%
|
511 |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
% ****************************************
|
515 |
|
|
% * FIGURES AND TABLES *
|
516 |
|
|
% ****************************************
|
517 |
|
|
%
|
518 |
|
|
% Float placement parameters. See LaTeX manual for their definition.
|
519 |
|
|
%
|
520 |
|
|
\setcounter{topnumber}{2}
|
521 |
|
|
\def\topfraction{.7}
|
522 |
|
|
\setcounter{bottomnumber}{1}
|
523 |
|
|
\def\bottomfraction{.3}
|
524 |
|
|
\setcounter{totalnumber}{3}
|
525 |
|
|
\def\textfraction{.2}
|
526 |
|
|
\def\floatpagefraction{.5}
|
527 |
|
|
\setcounter{dbltopnumber}{2}
|
528 |
|
|
\def\dbltopfraction{.7}
|
529 |
|
|
\def\dblfloatpagefraction{.5}
|
530 |
|
|
|
531 |
|
|
% \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption.
|
532 |
|
|
% NUMBER : Figure or table number--e.g., 'Figure 3.2'
|
533 |
|
|
% TEXT : The caption text.
|
534 |
|
|
% Macro should be called inside a \parbox of right width, with \normalsize.
|
535 |
|
|
|
536 |
|
|
\long\def\@makecaption#1#2{
|
537 |
|
|
\vskip 10pt
|
538 |
|
|
\setbox\@tempboxa\hbox{#1: #2}
|
539 |
|
|
\ifdim \wd\@tempboxa >\hsize % IF longer than one line:
|
540 |
|
|
\unhbox\@tempboxa\par % THEN set as ordinary paragraph.
|
541 |
|
|
\else % ELSE center.
|
542 |
|
|
\hbox to\hsize{\hfil\box\@tempboxa\hfil}
|
543 |
|
|
\fi}
|
544 |
|
|
|
545 |
|
|
% To define a float of type TYPE (e.g., TYPE = figure), the document style
|
546 |
|
|
% must define the following.
|
547 |
|
|
%
|
548 |
|
|
% \fps@TYPE : The default placement specifier for floats of type TYPE.
|
549 |
|
|
%
|
550 |
|
|
% \ftype@TYPE : The type number for floats of type TYPE. Each TYPE has
|
551 |
|
|
% associated a unique positive TYPE NUMBER, which is a power
|
552 |
|
|
% of two. E.g., figures might have type number 1, tables type
|
553 |
|
|
% number 2, programs type number 4, etc.
|
554 |
|
|
%
|
555 |
|
|
% \ext@TYPE : The file extension indicating the file on which the
|
556 |
|
|
% contents list for float type TYPE is stored. For example,
|
557 |
|
|
% \ext@figure = 'lof'.
|
558 |
|
|
%
|
559 |
|
|
% \fnum@TYPE : A macro to generate the figure number for a caption.
|
560 |
|
|
% For example, \fnum@TYPE == Figure \thefigure.
|
561 |
|
|
%
|
562 |
|
|
% The actual float-making environment commands--e.g., the commands
|
563 |
|
|
% \figure and \endfigure--are defined in terms of the macros \@float
|
564 |
|
|
% and \end@float, which are described below.
|
565 |
|
|
%
|
566 |
|
|
% \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a
|
567 |
|
|
% single-column float of type TYPE with PLACEMENT as the placement
|
568 |
|
|
% specifier. The default value of PLACEMENT is defined by \fps@TYPE.
|
569 |
|
|
% The environment is ended by \end@float.
|
570 |
|
|
% E.g., \figure == \@float{figure}, \endfigure == \end@float.
|
571 |
|
|
|
572 |
|
|
|
573 |
|
|
% FIGURE
|
574 |
|
|
|
575 |
|
|
\newcounter{figure}[chapter]
|
576 |
|
|
\def\thefigure{\thechapter.\@arabic\c@figure}
|
577 |
|
|
|
578 |
|
|
\def\fps@figure{tbp}
|
579 |
|
|
\def\ftype@figure{1}
|
580 |
|
|
\def\ext@figure{lof}
|
581 |
|
|
\def\fnum@figure{Figure \thefigure}
|
582 |
|
|
\def\figure{\@float{figure}}
|
583 |
|
|
\let\endfigure\end@float
|
584 |
|
|
\@namedef{figure*}{\@dblfloat{figure}}
|
585 |
|
|
\@namedef{endfigure*}{\end@dblfloat}
|
586 |
|
|
|
587 |
|
|
% TABLE
|
588 |
|
|
%
|
589 |
|
|
\newcounter{table}[chapter]
|
590 |
|
|
\def\thetable{\thechapter.\@arabic\c@table}
|
591 |
|
|
|
592 |
|
|
\def\fps@table{tbp}
|
593 |
|
|
\def\ftype@table{2}
|
594 |
|
|
\def\ext@table{lot}
|
595 |
|
|
\def\fnum@table{Table \thetable}
|
596 |
|
|
\def\table{\@float{table}}
|
597 |
|
|
\let\endtable\end@float
|
598 |
|
|
\@namedef{table*}{\@dblfloat{table}}
|
599 |
|
|
\@namedef{endtable*}{\end@dblfloat}
|
600 |
|
|
|
601 |
|
|
|
602 |
|
|
% ****************************************
|
603 |
|
|
% * TITLE AND ABSTRACT *
|
604 |
|
|
% ****************************************
|
605 |
|
|
%
|
606 |
|
|
%
|
607 |
|
|
% Uses same title and abstract format as the article style's
|
608 |
|
|
% Uses thesistitlepage option
|
609 |
|
|
% titlepage option.
|
610 |
|
|
|
611 |
|
|
\input thesistitlepage.sty
|
612 |
|
|
|
613 |
|
|
|
614 |
|
|
% ****************************************
|
615 |
|
|
% * PAGE STYLES *
|
616 |
|
|
% ****************************************
|
617 |
|
|
%
|
618 |
|
|
% The page style 'foo' is defined by defining the command \ps@foo. This
|
619 |
|
|
% command should make only local definitions. There should be no stray
|
620 |
|
|
% spaces in the definition, since they could lead to mysterious extra
|
621 |
|
|
% spaces in the output.
|
622 |
|
|
%
|
623 |
|
|
% The \ps@... command defines the macros \@oddhead, \@oddfoot,
|
624 |
|
|
% \@evenhead, and \@evenfoot to define the running heads and
|
625 |
|
|
% feet---e.g., \@oddhead is the macro to produce the contents of the
|
626 |
|
|
% heading box for odd-numbered pages. It is called inside an \hbox of
|
627 |
|
|
% width \textwidth.
|
628 |
|
|
%
|
629 |
|
|
% To make headings determined by the sectioning commands, the page style
|
630 |
|
|
% defines the commands \chaptermark, \sectionmark, ... , where
|
631 |
|
|
% \chaptermark{TEXT} is called by \chapter to set a mark, and so on.
|
632 |
|
|
% The \...mark commands and the \...head macros are defined with the
|
633 |
|
|
% help of the following macros. (All the \...mark commands should be
|
634 |
|
|
% initialized to no-ops.)
|
635 |
|
|
%
|
636 |
|
|
% MARKING CONVENTIONS:
|
637 |
|
|
% LaTeX extends TeX's \mark facility by producing two kinds of marks
|
638 |
|
|
% a 'left' and a 'right' mark, using the following commands:
|
639 |
|
|
% \markboth{LEFT}{RIGHT} : Adds both marks.
|
640 |
|
|
% \markright{RIGHT} : Adds a 'right' mark.
|
641 |
|
|
% \leftmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
|
642 |
|
|
% macro, gets the current 'left' mark. Works like TeX's
|
643 |
|
|
% \botmark command.
|
644 |
|
|
% \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or \@evenfoot
|
645 |
|
|
% macro, gets the current 'right' mark. Works like TeX's
|
646 |
|
|
% \firstmark command.
|
647 |
|
|
% The marking commands work reasonably well for right marks 'numbered
|
648 |
|
|
% within' left marks--e.g., the left mark is changed by a \chapter command and
|
649 |
|
|
% the right mark is changed by a \section command. However, it does
|
650 |
|
|
% produce somewhat anomalous results if two \bothmark's occur on the same page.
|
651 |
|
|
%
|
652 |
|
|
%% (98/03/01) - NM Changed \rm and \sl to \rmfamily and \slshape. Removed
|
653 |
|
|
%% \hbox{} also.
|
654 |
|
|
%
|
655 |
|
|
\mark{{}{}} % Initializes TeX's marks
|
656 |
|
|
|
657 |
|
|
% \def\ps@empty{\def\@oddhead{}
|
658 |
|
|
% \def\@oddfoot{}
|
659 |
|
|
% \def\@evenhead{}\def\@evenfoot{}}
|
660 |
|
|
%
|
661 |
|
|
% \def\ps@plain{\def\@oddhead{}
|
662 |
|
|
% \def\@oddfoot{\rmfamily\hfil\thepage\hfil}
|
663 |
|
|
% \def\@evenhead{}
|
664 |
|
|
% \let\@evenfoot\@oddfoot}
|
665 |
|
|
|
666 |
|
|
% Definition of 'headings' page style
|
667 |
|
|
% Note the use of ##1 for parameter of \def\chaptermark inside the
|
668 |
|
|
% \def\ps@headings.
|
669 |
|
|
%
|
670 |
|
|
|
671 |
|
|
%\if@twoside % If two-sided printing.
|
672 |
|
|
%\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}% No feet.
|
673 |
|
|
%\def\@evenhead{\rmfamily \thepage\hfil \slshape \leftmark}% Left heading.
|
674 |
|
|
%\def\@oddhead{{\slshape \rightmark}\hfil \rmfamily\thepage}% Right heading.
|
675 |
|
|
%\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne
|
676 |
|
|
% \@chapapp\ \thechapter. \ \fi ##1}}{}}%
|
677 |
|
|
%\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
|
678 |
|
|
% \thesection. \ \fi ##1}}}}
|
679 |
|
|
%\else % If one-sided printing.
|
680 |
|
|
%\def\ps@headings{\def\@oddfoot{}\def\@evenfoot{}% No feet.%2009m,
|
681 |
|
|
%\def\@oddhead{{\slshape \rightmark} \hfil \rmfamily\thepage}% Heading.%2009nm
|
682 |
|
|
%\def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne%2009nm
|
683 |
|
|
% \@chapapp\ \thechapter. \ \fi ##1}}}}%2009nm
|
684 |
|
|
%\fi%2009nm
|
685 |
|
|
|
686 |
|
|
% Definition of 'myheadings' page style.
|
687 |
|
|
%
|
688 |
|
|
%\def\ps@myheadings{\def\@oddhead{{\slshape\rightmark} \hfil \rmfamily\thepage}%
|
689 |
|
|
%\def\@oddfoot{}\def\@evenhead{\rmfamily \thepage\hfil\slshape\leftmark}%
|
690 |
|
|
%\def\@evenfoot{}\def\sectionmark##1{}\def\subsectionmark##1{}}
|
691 |
|
|
|
692 |
|
|
|
693 |
|
|
|
694 |
|
|
% ****************************************
|
695 |
|
|
% * MISCELLANEOUS *
|
696 |
|
|
% ****************************************
|
697 |
|
|
%
|
698 |
|
|
% DATE
|
699 |
|
|
%
|
700 |
|
|
\def\today{\ifcase\month\or
|
701 |
|
|
January\or February\or March\or April\or May\or June\or
|
702 |
|
|
July\or August\or September\or October\or November\or December\fi
|
703 |
|
|
\space\number\day, \number\year}
|
704 |
|
|
|
705 |
|
|
% EQUATION and EQNARRAY -- put here because it must follow \chapter definition
|
706 |
|
|
%
|
707 |
|
|
% \newcounter{equation}
|
708 |
|
|
%
|
709 |
|
|
\@addtoreset{equation}{chapter} % Makes \chapter reset 'equation' counter.
|
710 |
|
|
|
711 |
|
|
\def\theequation{\thechapter.\arabic{equation}}
|
712 |
|
|
|
713 |
|
|
% \jot = 3pt % Extra space added between lines of an eqnarray environment
|
714 |
|
|
|
715 |
|
|
% The macro \@eqnnum defines how equation numbers are to appear in equations.
|
716 |
|
|
%
|
717 |
|
|
% \def\@eqnnum{(\theequation)}
|
718 |
|
|
%
|
719 |
|
|
|
720 |
|
|
|
721 |
|
|
% ****************************************
|
722 |
|
|
% * INITIALIZATION *
|
723 |
|
|
% ****************************************
|
724 |
|
|
%
|
725 |
|
|
% Default initializations
|
726 |
|
|
|
727 |
|
|
\thesis{thesis} % default thesis rather than dissertation
|
728 |
|
|
%\ps@myheadings % 'myheadings' page style
|
729 |
|
|
\pagenumbering{arabic} % Arabic page numbers
|
730 |
|
|
\onecolumn % Single-column.
|
731 |
|
|
\if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside option.
|
732 |
|
|
\setstretch{1.7} % Initial baselinestretch
|
733 |
|
|
|
734 |
|
|
|