1 | %======================================================================
|
---|
2 | % University of Waterloo Thesis Template for LaTeX
|
---|
3 | % Last Updated November, 2020
|
---|
4 | % by Stephen Carr, IST Client Services,
|
---|
5 | % University of Waterloo, 200 University Ave. W., Waterloo, Ontario, Canada
|
---|
6 | % FOR ASSISTANCE, please send mail to request@uwaterloo.ca
|
---|
7 |
|
---|
8 | % DISCLAIMER
|
---|
9 | % To the best of our knowledge, this template satisfies the current uWaterloo
|
---|
10 | % thesis requirements. However, it is your responsibility to assure that you
|
---|
11 | % have met all requirements of the University and your particular department.
|
---|
12 |
|
---|
13 | % Many thanks for the feedback from many graduates who assisted the
|
---|
14 | % development of this template. Also note that there are explanatory comments
|
---|
15 | % and tips throughout this template.
|
---|
16 | %======================================================================
|
---|
17 | % Some important notes on using this template and making it your own...
|
---|
18 |
|
---|
19 | % The University of Waterloo has required electronic thesis submission since
|
---|
20 | % October 2006. See the uWaterloo thesis regulations at:
|
---|
21 | % https://uwaterloo.ca/graduate-studies/thesis.
|
---|
22 | % This thesis template is geared towards generating a PDF version optimized
|
---|
23 | % for viewing on an electronic display, including hyperlinks within the PDF.
|
---|
24 |
|
---|
25 | % DON'T FORGET TO ADD YOUR OWN NAME AND TITLE in the "hyperref" package
|
---|
26 | % configuration below. THIS INFORMATION GETS EMBEDDED IN THE FINAL PDF
|
---|
27 | % DOCUMENT. You can view the information if you view properties of the PDF.
|
---|
28 |
|
---|
29 | % Many faculties/departments also require one or more printed copies.
|
---|
30 | % This template attempts to satisfy both types of output.
|
---|
31 | % See additional notes below.
|
---|
32 | % It is based on the standard "book" document class which provides all
|
---|
33 | % necessary sectioning structures and allows multi-part theses.
|
---|
34 |
|
---|
35 | % If you are using this template in Overleaf (cloud-based collaboration
|
---|
36 | % service), then it is automatically processed and previewed for you as you
|
---|
37 | % edit.
|
---|
38 |
|
---|
39 | % For people who prefer to install their own LaTeX distributions on their own
|
---|
40 | % computers, and process the source files manually, the following notes
|
---|
41 | % provide the sequence of tasks:
|
---|
42 |
|
---|
43 | % E.g. to process a thesis called "mythesis.tex" based on this template, run:
|
---|
44 |
|
---|
45 | % pdflatex mythesis -- first pass of the pdflatex processor
|
---|
46 | % bibtex mythesis -- generates bibliography from .bib data file(s)
|
---|
47 | % makeindex -- should be run only if an index is used
|
---|
48 | % pdflatex mythesis -- fixes numbering in cross-references, bibliographic
|
---|
49 | % references, glossaries, index, etc.
|
---|
50 | % pdflatex mythesis -- it takes a couple of passes to completely process all
|
---|
51 | % cross-references
|
---|
52 |
|
---|
53 | % If you use the recommended LaTeX editor, Texmaker, you would open the
|
---|
54 | % mythesis.tex file, then click the PDFLaTeX button. Then run BibTeX (under
|
---|
55 | % the Tools menu). Then click the PDFLaTeX button two more times.
|
---|
56 | % If you have an index as well, you'll need to run MakeIndex from the Tools
|
---|
57 | % menu as well, before running pdflatex the last two times.
|
---|
58 |
|
---|
59 | % N.B. The "pdftex" program allows graphics in the following formats to be
|
---|
60 | % included with the "\includegraphics" command: PNG, PDF, JPEG, TIFF
|
---|
61 | % Tip: Generate your figures and photos in the size you want them to appear
|
---|
62 | % in your thesis, rather than scaling them with \includegraphics options.
|
---|
63 | % Tip: Any drawings you do should be in scalable vector graphic formats: SVG,
|
---|
64 | % PNG, WMF, EPS and then converted to PNG or PDF, so they are scalable in the
|
---|
65 | % final PDF as well.
|
---|
66 | % Tip: Photographs should be cropped and compressed so as not to be too large.
|
---|
67 |
|
---|
68 | % ======================================================================
|
---|
69 | % D O C U M E N T P R E A M B L E
|
---|
70 | \RequirePackage{etoolbox}
|
---|
71 |
|
---|
72 | % Control if this for print (set true) or will stay digital (default).
|
---|
73 | % Print is two sided, digital uses more colours.
|
---|
74 | \newtoggle{printversion}
|
---|
75 | %\toggletrue{printversion}
|
---|
76 |
|
---|
77 | \iftoggle{printversion}{%
|
---|
78 | \documentclass[letterpaper,12pt,titlepage,openright,twoside,final]{book}
|
---|
79 | }{%
|
---|
80 | \documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
|
---|
81 | }
|
---|
82 |
|
---|
83 | % Does nothing, ignores \href tags (redefined by hyperref package).
|
---|
84 | \newcommand{\href}[1]{#1}
|
---|
85 |
|
---|
86 | % For a nomenclature (optional; available from ctan.org)
|
---|
87 | %\usepackage{nomencl}
|
---|
88 | % Lots of math symbols and environments
|
---|
89 | \usepackage{amsmath,amssymb,amstext}
|
---|
90 | % For including graphics (must match graphics driver)
|
---|
91 | \usepackage{epic,eepic}
|
---|
92 | \usepackage{graphicx}
|
---|
93 | % Removes large sections of the document.
|
---|
94 | \usepackage{comment}
|
---|
95 | % Adds todo commands.
|
---|
96 | \usepackage{todo}
|
---|
97 | % cfa macros used in the document
|
---|
98 | \usepackage{cfalab}
|
---|
99 | % allow global and individual modification of spacing
|
---|
100 | \usepackage{enumitem}
|
---|
101 | % Improved reference tools.
|
---|
102 | \usepackage[nospace]{varioref}
|
---|
103 |
|
---|
104 | % Hyperlinks make it very easy to navigate an electronic document.
|
---|
105 | % In addition, this is where you should specify the thesis title and author as
|
---|
106 | % they appear in the properties of the PDF document.
|
---|
107 | % Use the "hyperref" package
|
---|
108 | % N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
|
---|
109 | \usepackage[pagebackref=true]{hyperref}
|
---|
110 | % N.B. pagebackref=true provides links back from the References to the body
|
---|
111 | % text. This can cause trouble for printing.
|
---|
112 | \hypersetup{
|
---|
113 | plainpages=false, % needed if Roman numbers in frontpages
|
---|
114 | unicode=false, % non-Latin characters in Acrobat's bookmarks
|
---|
115 | pdftoolbar=true, % show Acrobat's toolbar?
|
---|
116 | pdfmenubar=true, % show Acrobat's menu?
|
---|
117 | pdffitwindow=false, % window fit to page when opened
|
---|
118 | pdfstartview={FitH}, % fits the width of the page to the window
|
---|
119 | pdfnewwindow=true, % links in new window
|
---|
120 | colorlinks=true, % false: boxed links; true: colored links
|
---|
121 | }
|
---|
122 | \iftoggle{printversion}{
|
---|
123 | \hypersetup{
|
---|
124 | citecolor=black, % colour of links to bibliography
|
---|
125 | filecolor=black, % colour of file links
|
---|
126 | linkcolor=black, % colour of internal links
|
---|
127 | urlcolor=black, % colour of external links
|
---|
128 | }
|
---|
129 | }{ % Digital Version
|
---|
130 | \hypersetup{
|
---|
131 | citecolor=green,
|
---|
132 | filecolor=magenta,
|
---|
133 | linkcolor=blue,
|
---|
134 | urlcolor=cyan,
|
---|
135 | }
|
---|
136 | }
|
---|
137 |
|
---|
138 | \hypersetup{
|
---|
139 | pdftitle={Exception Handling in Cforall},
|
---|
140 | pdfauthor={Andrew James Beach},
|
---|
141 | pdfsubject={Computer Science},
|
---|
142 | pdfkeywords={programming languages} {exceptions}
|
---|
143 | {language design} {language implementation},
|
---|
144 | }
|
---|
145 |
|
---|
146 | % Exception to the rule of hyperref being the last add-on package
|
---|
147 | \usepackage[toc,abbreviations]{glossaries-extra}
|
---|
148 | % If glossaries-extra is not in your LaTeX distribution, get it from CTAN
|
---|
149 | % (http://ctan.org/pkg/glossaries-extra), although it's supposed to be in
|
---|
150 | % both the TeX Live and MikTeX distributions. There are also documentation
|
---|
151 | % and installation instructions there.
|
---|
152 |
|
---|
153 | % Setting up the page margins...
|
---|
154 | \setlength{\textheight}{9in}
|
---|
155 | \setlength{\topmargin}{-0.45in}
|
---|
156 | \setlength{\headsep}{0.25in}
|
---|
157 | % uWaterloo thesis requirements specify a minimum of 1 inch (72pt) margin at
|
---|
158 | % the top, bottom, and outside page edges and a 1.125 in. (81pt) gutter margin
|
---|
159 | % (on binding side). While this is not an issue for electronic viewing, a PDF
|
---|
160 | % may be printed, and so we have the same page layout for both printed and
|
---|
161 | % electronic versions, we leave the gutter margin in. Set margins to minimum
|
---|
162 | % permitted by uWaterloo thesis regulations:
|
---|
163 | \setlength{\marginparwidth}{0pt} % width of margin notes
|
---|
164 | % N.B. If margin notes are used, you must adjust \textwidth, \marginparwidth
|
---|
165 | % and \marginparsep so that the space left between the margin notes and page
|
---|
166 | % edge is less than 15 mm (0.6 in.)
|
---|
167 | % width of space between body text and margin notes
|
---|
168 | \setlength{\marginparsep}{0pt}
|
---|
169 | % Adds 1/8 in. to binding side of all
|
---|
170 | % even-numbered pages when the "twoside" printing option is selected
|
---|
171 | \setlength{\evensidemargin}{0.125in}
|
---|
172 | % Adds 1/8 in. to the left of all pages when "oneside" printing is selected,
|
---|
173 | % and to the left of all odd-numbered pages when "twoside" printing is selected
|
---|
174 | \setlength{\oddsidemargin}{0.125in}
|
---|
175 | % assuming US letter paper (8.5 in. x 11 in.) and side margins as above
|
---|
176 | \setlength{\textwidth}{6.375in}
|
---|
177 | \raggedbottom
|
---|
178 |
|
---|
179 | % The following statement specifies the amount of space between paragraphs.
|
---|
180 | % Other reasonable specifications are \bigskipamount and \smallskipamount.
|
---|
181 | \setlength{\parskip}{\medskipamount}
|
---|
182 |
|
---|
183 | % The following statement controls the line spacing.
|
---|
184 | % The default spacing corresponds to good typographic conventions and only
|
---|
185 | % slight changes (e.g., perhaps "1.2"), if any, should be made.
|
---|
186 | \renewcommand{\baselinestretch}{1} % this is the default line space setting
|
---|
187 |
|
---|
188 | % By default, each chapter will start on a recto (right-hand side) page.
|
---|
189 | % We also force each section of the front pages to start on a recto page by
|
---|
190 | % inserting \cleardoublepage commands. In many cases, this will require that
|
---|
191 | % the verso (left-hand) page be blank, and while it should be counted, a page
|
---|
192 | % number should not be printed. The following statements ensure a page number
|
---|
193 | % is not printed on an otherwise blank verso page.
|
---|
194 | \let\origdoublepage\cleardoublepage
|
---|
195 | \newcommand{\clearemptydoublepage}{%
|
---|
196 | \clearpage{\pagestyle{empty}\origdoublepage}}
|
---|
197 | \let\cleardoublepage\clearemptydoublepage
|
---|
198 |
|
---|
199 | % Define Glossary terms (This is properly done here, in the preamble and
|
---|
200 | % could also be \input{} from a separate file...)
|
---|
201 | \input{glossaries}
|
---|
202 | \makeglossaries
|
---|
203 |
|
---|
204 | % New commands/options for this document alone:
|
---|
205 | % Code snipits with formating and line-breaks.
|
---|
206 | \newcommand\defaultResumptionHandler{\texttt{default\-Resumption\-Handler}}
|
---|
207 | \newcommand\defaultTerminationHandler{\texttt{default\-Termination\-Handler}}
|
---|
208 |
|
---|
209 | % listings package configuation:
|
---|
210 | \lstMakeShortInline@
|
---|
211 | \lstset{language=CFA,style=cfacommon,basicstyle=\linespread{0.9}\tt}
|
---|
212 | % Annotations from Peter:
|
---|
213 | \newcommand{\PAB}[1]{{\color{blue}PAB: #1}}
|
---|
214 | % Change the style of abbreviations:
|
---|
215 | \renewcommand{\abbrevFont}{}
|
---|
216 |
|
---|
217 | %======================================================================
|
---|
218 | % L O G I C A L D O C U M E N T
|
---|
219 | % The logical document contains the main content of your thesis.
|
---|
220 | % Being a large document, it is a good idea to divide your thesis into several
|
---|
221 | % files, each one containing one chapter or other significant chunk of content,
|
---|
222 | % so you can easily shuffle things around later if desired.
|
---|
223 | %======================================================================
|
---|
224 | \begin{document}
|
---|
225 |
|
---|
226 | %----------------------------------------------------------------------
|
---|
227 | % FRONT MATERIAL
|
---|
228 | % title page,declaration, borrowers' page, abstract, acknowledgements,
|
---|
229 | % dedication, table of contents, list of tables, list of figures,
|
---|
230 | % nomenclature, etc.
|
---|
231 | %----------------------------------------------------------------------
|
---|
232 | \input{uw-ethesis-frontpgs}
|
---|
233 |
|
---|
234 | %----------------------------------------------------------------------
|
---|
235 | % MAIN BODY
|
---|
236 | % We suggest using a separate file for each chapter of your thesis.
|
---|
237 | % Start each chapter file with the \chapter command. Only use \documentclass,
|
---|
238 | % \begin{document} and \end{document} commands in this master document.
|
---|
239 | % Tip: Putting each sentence on a new line is a way to simplify later editing.
|
---|
240 | %----------------------------------------------------------------------
|
---|
241 | \input{intro}
|
---|
242 | \input{existing}
|
---|
243 | \input{features}
|
---|
244 | \input{implement}
|
---|
245 | \input{performance}
|
---|
246 | \input{future}
|
---|
247 | \input{conclusion}
|
---|
248 |
|
---|
249 | %----------------------------------------------------------------------
|
---|
250 | % END MATERIAL
|
---|
251 | % Bibliography, Appendices, Index, etc.
|
---|
252 | %----------------------------------------------------------------------
|
---|
253 |
|
---|
254 | % Bibliography
|
---|
255 |
|
---|
256 | % The following statement selects the style to use for references.
|
---|
257 | % It controls the sort order of the entries in the bibliography and also the
|
---|
258 | % formatting for the in-text labels.
|
---|
259 | \bibliographystyle{plain}
|
---|
260 | % This specifies the location of the file containing the bibliographic
|
---|
261 | % information. It assumes you're using BibTeX to manage your references (if
|
---|
262 | % not, why not?).
|
---|
263 | \cleardoublepage % This is needed if the "book" document class is used, to
|
---|
264 | % place the anchor in the correct page, because the bibliography will start
|
---|
265 | % on its own page.
|
---|
266 | % Use \clearpage instead if the document class uses the "oneside" argument.
|
---|
267 | \phantomsection % With hyperref package, enables hyperlinking from the table
|
---|
268 | % of contents to bibliography.
|
---|
269 | % The following statement causes the title "References" to be used for the
|
---|
270 | % bibliography section:
|
---|
271 | \renewcommand*{\bibname}{References}
|
---|
272 |
|
---|
273 | % Add the References to the Table of Contents
|
---|
274 | \addcontentsline{toc}{chapter}{\textbf{References}}
|
---|
275 |
|
---|
276 | \bibliography{uw-ethesis,pl}
|
---|
277 | % Tip: You can create multiple .bib files to organize your references. Just
|
---|
278 | % list them all in the \bibliogaphy command, separated by commas (no spaces).
|
---|
279 |
|
---|
280 | % The following statement causes the specified references to be added to the
|
---|
281 | % bibliography even if they were not cited in the text. The asterisk is a
|
---|
282 | % wildcard that causes all entries in the bibliographic database to be
|
---|
283 | % included (optional).
|
---|
284 | % \nocite{*}
|
---|
285 | %----------------------------------------------------------------------
|
---|
286 |
|
---|
287 | % Appendices
|
---|
288 |
|
---|
289 | % The \appendix statement indicates the beginning of the appendices.
|
---|
290 | \appendix
|
---|
291 | % Add an un-numbered title page before the appendices and a line in the Table
|
---|
292 | % of Contents
|
---|
293 | % \chapter*{APPENDICES}
|
---|
294 | % \addcontentsline{toc}{chapter}{APPENDICES}
|
---|
295 | % Appendices are just more chapters, with different labeling (letters instead
|
---|
296 | % of numbers).
|
---|
297 | % \input{appendix-matlab_plots.tex}
|
---|
298 |
|
---|
299 | % GLOSSARIES (Lists of definitions, abbreviations, symbols, etc.
|
---|
300 | % provided by the glossaries-extra package)
|
---|
301 | % -----------------------------
|
---|
302 | \printglossaries
|
---|
303 | \cleardoublepage
|
---|
304 | \phantomsection % allows hyperref to link to the correct page
|
---|
305 |
|
---|
306 | \todos
|
---|
307 |
|
---|
308 | %----------------------------------------------------------------------
|
---|
309 | \end{document} % end of logical document
|
---|