-
Notifications
You must be signed in to change notification settings - Fork 0
/
uathesis.sty
282 lines (255 loc) · 9.06 KB
/
uathesis.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
% $Id: uathesis.sty,v 2.0 2017/07/13 11:48:00 pinchak Exp $
%
% U. of A. THESIS DOCUMENT STYLE
%
%%%%%%%%%%%%%%%%%%%%
% REVISION HISTORY %
%%%%%%%%%%%%%%%%%%%%
%
% Version 0.8 -- November 1987 for LaTeX version 2.09
% Author: Fahiem Bacchus with many macros taken from
% Leslie Lamport REPORT document style.
% Version 0.9 -- November 1992 for LaTeX version 2.09
% Updated by: Randal Peters
%
% Version 0.95 -- October 1995 for LaTeX2e and LaTeX version 2.09
% Rewritten by: Narendra Ravi
% : Works with both LaTeX2e and LaTeX 2.09 versions.
% : Has a Completely modified/new interface.
%
% - Modified file to work with LaTeX2e and LaTeX 2.09
% - commented \supervisor, \external, and \chair macros
% (FGSR changed their minds -- what else is new?)
% - "(Examiner)" removed from signature line.
% - "(Signed)" removed from release page.
% - minor typographical changes to prefatory pages
% (removing CAPITALIZATION, adding bold face in some
% cases where larger fonts used to be).
% - Changes to the style to take care of the Department and
% the Field of specialization.
% - Currently the spacing has to be managed manually. Code
% to automate this will be added later. Use the following
% command after \bodyoftext:
% \singlespacing % single spacing; \baselineskip is 1em
% \onehalfspacing % One and a half spacing;
% \doublespacing % double spacing; \baselineskip is 1.75em
% \truedoublespacing % true double spacing; \baselineskip is 2em
%
% Version 1.00 -- November 1999 for LaTeX2e and LaTeX version 2.09
% Updated by: Diego Novillo
% Corrected typo in library release form.
% Made each prefatory page go on a separate page.
% Modified margins and signature page to conform to FGSR
% regulations as of November 1999.
% Minor source formatting changes
%
% Version 1.10 -- January 2000
% Updated by: Diego Novillo
% Re-introduced \supervisor, \cosupervisor and \external
% fields. FGSR wants these fields back.
%
%
% Martha White, Chris Rayner, Mike Smit made some changes along the way.
%
% Version 1.15 -- October 2014
% Updated by Rick Valenzano and John Hawkin
% Changed the title page to mimic the sampled given by FGSR.
% Fixed the line numbering to use lower case roman numerals before
% the thesis body and then arabic numerals in the rest starting with
% 1 on the first page.
% Also got rid of a lot of functionality that was no longer used to make
% things cleaner.
%
% Version 2.0 -- September 2017
% Updated by Bernard Llanos
% The following change list applies to all files included with this template,
% not only to this file:
% - Put the thesis template into Git source control, so that changes can be
% tracked through Git from now on.
% - Added Unicode support
% - Bibliography with back references (can be turned off - This is mainly
% something to help with editing)
% - Improved support for appendices
% - Introduced a modular document structure, rather than leaving it up to the
% user to figure out how to split their thesis into manageable pieces.
% (This is mainly to help novice LaTeX users.)
% - Looked through FGSR minimum formatting guidelines to make sure the template
% still conforms to them.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% How to Use This style file??
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%
% LaTeX 2.09 %
%%%%%%%%%%%%%%
%
% To use with LaTeX 2.09, simply change your documentstyle command
% to one of the following:
% \documentstyle[uathesis,twoside]{report} % for double-sided printers
% \documentstyle[uathesis]{report} % for single-sided printers
% \documentstyle[10pt,uathesis]{report} % for 10pt format
% \documentstyle[11pt,uathesis]{report} % for 11pt format
% \documentstyle[12pt,uathesis]{report} % for 12pt format
%
% Make sure uathesis is the last option loaded.
%
%%%%%%%%%%%
% LaTeX2e %
%%%%%%%%%%%
% To use with LaTeX2e, use the following:
% \documentclass{report} % for default format
% \documentclass[10pt]{report} % for 10pt format, default actually
% \documentclass[11pt]{report} % for 11pt format
% \documentclass[12pt]{report} % for 12pt format
%
% Then use
%
% \usepackage{...}
% \usepackage{...}
% \usepackage{...}
% \usepackage{uathesis}
% \usepackage{xmpincl}
%
% Make sure these are the last packages loaded. The last one is for PDF/A
% conversion. It seems to be necessary on Macs, not sure if it is needed elsewhere.
%
%%%%%%%%%%%
% Example %
%%%%%%%%%%%
%
% Refer to 'thesis.tex' for a minimum working example of a document
% using this style.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% Added by Narendra Ravi.
%%%%%%% Using \baselineskip is better than using \baselinestretch
%%%%%%% as the stretch multiplies ALL interline distances.
%%%%%%%
\newcommand{\singlespacing}{\baselineskip 1em}
\newcommand{\onehalfspacing}{\baselineskip 1.25em}
\newcommand{\doublespacing}{\baselineskip 1.75em}
\newcommand{\truedoublespacing}{\baselineskip 2em}
\newcommand{\normalspacing}{\singlespacing}
% Margins and page number positions
% See https://tex.stackexchange.com/questions/49852/page-numbers-and-margins?rq=1
\usepackage[left=1.5in,right=1.5in,top=1.0in,bottom=1.0in,
footskip=0.25in]{geometry}
%Other default settings
\date{ }
%Some useful macros
\def\PhD{Doctor of Philosophy}
\def\MSc{Master of Science in Statistical Machine Learning}
\def\singlespace{
\begingroup
\def\baselinestretch{1}
\@normalsize
}
\let\endsinglespace=\endgroup
% Sets up table of contents, list of figures, list of tables
\def\tableofcontents{\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn\fi
\chapter*{\pagestyle{plain}\contentsname
\@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
\@starttoc{toc}\if@restonecol\twocolumn\fi}
\def\listoffigures{\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn\fi
\chapter*{\pagestyle{plain}\thispagestyle{plain}%
\listfigurename\@mkboth{\uppercase{\listfigurename}}%
{\uppercase{\listfigurename}}}%
\@starttoc{lof}\if@restonecol%
\twocolumn\fi}
\def\listoftables{\@restonecolfalse
\if@twocolumn\@restonecoltrue\onecolumn\fi
\chapter*{\pagestyle{plain}\thispagestyle{plain}%
\listtablename\@mkboth{\uppercase{\listtablename}}
{\uppercase{\listtablename}}}%
\@starttoc{lot}\if@restonecol%
\twocolumn\fi}
\let\l@table\l@figure
%
% Information macros \degree, \field, \dept, years
%%%%%%% Added by Narendra Ravi.
%
\newif\iffield
\def\degree#1{\gdef\@degree{#1}}
\def\dept#1{\gdef\@dept{#1}}
\def\field#1{\fieldtrue\gdef\@field{#1}}
%
% Date added by Chris because I hate it defaulting to the current year.
\def\submissionyear#1{\gdef\@subyear{#1}}
\def\@year{\@subyear}
% Title Page.
% Narendra Ravi and Martha White added functionality for specialization if needed.
% Rick combined the two title pages into one with if statements.
\def\titlepage{
\cleardoublepage
\thispagestyle{empty}
\begin{center}
{\bf \large \@title}
\vskip.5in plus.1in minus.1in
by
\vskip.5in plus.1in minus.1in
{\large \@author}
\end{center}
\vfill
\vfill
\begin{center}
A thesis submitted in partial fulfillment of the requirements for the degree of
\vskip.3in plus.1in minus.1in
{\@degree}
\iffield
\vskip.3in plus.1in minus.1in
in
\vskip.3in plus.1in minus.1in
{\@field}
\fi
\end{center}
\vfill
\vfill
\centerline{Department of \@dept}
\vskip.3in plus.1in minus.1in
\centerline{University of Alberta}
\vfill
\vfill
\begin{center}
\copyright ~ \@author, \@year\\
\end{center}
\newpage
}
%
% Abstract page, just using chapter*,
% generated using \begin{abstract}, \end{abstract}
%
%
\def\abstract{\cleardoublepage\chapter*{Abstract}\pagestyle{plain}\truedoublespacing}
\def\endabstract{\newpage}
%
% ditto Preface and Acknowledgements (optional)
%
\def\preface{\cleardoublepage\chapter*{Preface}\pagestyle{plain}}
\def\endpreface{\newpage}
\def\dedication{\cleardoublepage\pagestyle{plain}}
\def\enddedication{\newpage}
\def\quotepage{\cleardoublepage\pagestyle{plain}}
\def\endquotepage{\newpage}
\def\acknowledgements{\cleardoublepage\chapter*{Acknowledgements}\pagestyle{plain}}
\def\endacknowledgements{\newpage}
%
% Table of contents, List of Tables, List of Figures produced by
% standard latex commands \tableofcontents, \listoffigures, \listoftables
% Define enviorment for list of symbols, list of plates
%
\def\listofsymbols{\cleardoublepage\chapter*{List of Symbols}\pagestyle{plain}}
\def\endlistofsymbols{\newpage}
\def\listofplates{\cleardoublepage\chapter*{List of Plates}\pagestyle{plain}}
\def\endlistofplates{\newpage}
% Sets up page numbering for pages prior to the many body
\def\preamblepagenumbering{
\renewcommand{\thepage}{\roman{page}}
}
\def\setforbodyoftext{
\cleardoublepage
\renewcommand{\thepage}{\arabic{page}} % goes back to arabic page numbering and
\setcounter{page}{1} % sets number counter back to 1
\pagestyle{plain}
}