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 | % To create a PDF output that is optimized for double-sided printing: |
---|
69 | % 1) comment-out the \documentclass statement in the preamble below, and |
---|
70 | % un-comment the second \documentclass line. |
---|
71 | % 2) change the value assigned below to the boolean variable "PrintVersion" |
---|
72 | % from "false" to "true". |
---|
73 | |
---|
74 | % ====================================================================== |
---|
75 | % D O C U M E N T P R E A M B L E |
---|
76 | % Specify the document class, default style attributes, page dimensions, etc. |
---|
77 | % For hyperlinked PDF, suitable for viewing on a computer, use this: |
---|
78 | \documentclass[letterpaper,12pt,titlepage,oneside,final]{book} |
---|
79 | |
---|
80 | % For PDF, suitable for double-sided printing, change the PrintVersion |
---|
81 | % variable below to "true" and use this \documentclass line instead of the |
---|
82 | % one above: |
---|
83 | %\documentclass[letterpaper,12pt,titlepage,openright,twoside,final]{book} |
---|
84 | |
---|
85 | \usepackage{etoolbox} |
---|
86 | |
---|
87 | % Some LaTeX commands I define for my own nomenclature. |
---|
88 | % If you have to, it's easier to make changes to nomenclature once here than |
---|
89 | % in a million places throughout your thesis! |
---|
90 | \newcommand{\package}[1]{\textbf{#1}} % package names in bold text |
---|
91 | \newcommand{\cmmd}[1]{\textbackslash\texttt{#1}} % command name in tt font |
---|
92 | \newcommand{\href}[1]{#1} % does nothing, but defines the command so the |
---|
93 | % print-optimized version will ignore \href tags (redefined by hyperref pkg). |
---|
94 | % Anything defined here may be redefined by packages added below... |
---|
95 | |
---|
96 | % This package allows if-then-else control structures. |
---|
97 | \usepackage{ifthen} |
---|
98 | \newboolean{PrintVersion} |
---|
99 | \setboolean{PrintVersion}{false} |
---|
100 | % CHANGE THIS VALUE TO "true" as necessary, to improve printed results for |
---|
101 | % hard copies by overriding some options of the hyperref package, called below. |
---|
102 | |
---|
103 | %\usepackage{nomencl} % For a nomenclature (optional; available from ctan.org) |
---|
104 | % Lots of math symbols and environments |
---|
105 | \usepackage{amsmath,amssymb,amstext} |
---|
106 | % For including graphics N.B. pdftex graphics driver |
---|
107 | \usepackage[pdftex]{graphicx} |
---|
108 | % Removes large sections of the document. |
---|
109 | \usepackage{comment} |
---|
110 | % Adds todos (Must be included after comment.) |
---|
111 | \usepackage{todonotes} |
---|
112 | |
---|
113 | |
---|
114 | % Hyperlinks make it very easy to navigate an electronic document. |
---|
115 | % In addition, this is where you should specify the thesis title and author as |
---|
116 | % they appear in the properties of the PDF document. |
---|
117 | % Use the "hyperref" package |
---|
118 | % N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE |
---|
119 | \usepackage[pdftex,pagebackref=true]{hyperref} % with basic options |
---|
120 | %\usepackage[pdftex,pagebackref=true]{hyperref} |
---|
121 | % N.B. pagebackref=true provides links back from the References to the body |
---|
122 | % text. This can cause trouble for printing. |
---|
123 | \hypersetup{ |
---|
124 | plainpages=false, % needed if Roman numbers in frontpages |
---|
125 | unicode=false, % non-Latin characters in Acrobat's bookmarks |
---|
126 | pdftoolbar=true, % show Acrobat's toolbar? |
---|
127 | pdfmenubar=true, % show Acrobat's menu? |
---|
128 | pdffitwindow=false, % window fit to page when opened |
---|
129 | pdfstartview={FitH}, % fits the width of the page to the window |
---|
130 | % pdftitle={uWaterloo\ LaTeX\ Thesis\ Template}, % title: CHANGE THIS TEXT! |
---|
131 | % pdfauthor={Author}, % author: CHANGE THIS TEXT! and uncomment this line |
---|
132 | % pdfsubject={Subject}, % subject: CHANGE THIS TEXT! and uncomment this line |
---|
133 | % pdfkeywords={keyword1} {key2} {key3}, % optional list of keywords |
---|
134 | pdfnewwindow=true, % links in new window |
---|
135 | colorlinks=true, % false: boxed links; true: colored links |
---|
136 | linkcolor=blue, % color of internal links |
---|
137 | citecolor=green, % color of links to bibliography |
---|
138 | filecolor=magenta, % color of file links |
---|
139 | urlcolor=cyan % color of external links |
---|
140 | } |
---|
141 | % for improved print quality, change some hyperref options |
---|
142 | \ifthenelse{\boolean{PrintVersion}}{ |
---|
143 | \hypersetup{ % override some previously defined hyperref options |
---|
144 | % colorlinks,% |
---|
145 | citecolor=black,% |
---|
146 | filecolor=black,% |
---|
147 | linkcolor=black,% |
---|
148 | urlcolor=black} |
---|
149 | }{} % end of ifthenelse (no else) |
---|
150 | |
---|
151 | % Exception to the rule of hyperref being the last add-on package |
---|
152 | \usepackage[automake,toc,abbreviations]{glossaries-extra} |
---|
153 | % If glossaries-extra is not in your LaTeX distribution, get it from CTAN |
---|
154 | % (http://ctan.org/pkg/glossaries-extra), although it's supposed to be in |
---|
155 | % both the TeX Live and MikTeX distributions. There are also documentation |
---|
156 | % and installation instructions there. |
---|
157 | |
---|
158 | % Setting up the page margins... |
---|
159 | \setlength{\textheight}{9in} |
---|
160 | \setlength{\topmargin}{-0.45in} |
---|
161 | \setlength{\headsep}{0.25in} |
---|
162 | % uWaterloo thesis requirements specify a minimum of 1 inch (72pt) margin at |
---|
163 | % the top, bottom, and outside page edges and a 1.125 in. (81pt) gutter margin |
---|
164 | % (on binding side). While this is not an issue for electronic viewing, a PDF |
---|
165 | % may be printed, and so we have the same page layout for both printed and |
---|
166 | % electronic versions, we leave the gutter margin in. Set margins to minimum |
---|
167 | % permitted by uWaterloo thesis regulations: |
---|
168 | \setlength{\marginparwidth}{0pt} % width of margin notes |
---|
169 | % N.B. If margin notes are used, you must adjust \textwidth, \marginparwidth |
---|
170 | % and \marginparsep so that the space left between the margin notes and page |
---|
171 | % edge is less than 15 mm (0.6 in.) |
---|
172 | % width of space between body text and margin notes |
---|
173 | \setlength{\marginparsep}{0pt} |
---|
174 | % Adds 1/8 in. to binding side of all |
---|
175 | % even-numbered pages when the "twoside" printing option is selected |
---|
176 | \setlength{\evensidemargin}{0.125in} |
---|
177 | % Adds 1/8 in. to the left of all pages when "oneside" printing is selected, |
---|
178 | % and to the left of all odd-numbered pages when "twoside" printing is selected |
---|
179 | \setlength{\oddsidemargin}{0.125in} |
---|
180 | % assuming US letter paper (8.5 in. x 11 in.) and side margins as above |
---|
181 | \setlength{\textwidth}{6.375in} |
---|
182 | \raggedbottom |
---|
183 | |
---|
184 | % The following statement specifies the amount of space between paragraphs. |
---|
185 | % Other reasonable specifications are \bigskipamount and \smallskipamount. |
---|
186 | \setlength{\parskip}{\medskipamount} |
---|
187 | |
---|
188 | % The following statement controls the line spacing. |
---|
189 | % The default spacing corresponds to good typographic conventions and only |
---|
190 | % slight changes (e.g., perhaps "1.2"), if any, should be made. |
---|
191 | \renewcommand{\baselinestretch}{1} % this is the default line space setting |
---|
192 | |
---|
193 | % By default, each chapter will start on a recto (right-hand side) page. |
---|
194 | % We also force each section of the front pages to start on a recto page by |
---|
195 | % inserting \cleardoublepage commands. In many cases, this will require that |
---|
196 | % the verso (left-hand) page be blank, and while it should be counted, a page |
---|
197 | % number should not be printed. The following statements ensure a page number |
---|
198 | % is not printed on an otherwise blank verso page. |
---|
199 | \let\origdoublepage\cleardoublepage |
---|
200 | \newcommand{\clearemptydoublepage}{% |
---|
201 | \clearpage{\pagestyle{empty}\origdoublepage}} |
---|
202 | \let\cleardoublepage\clearemptydoublepage |
---|
203 | |
---|
204 | % Define Glossary terms (This is properly done here, in the preamble and |
---|
205 | % could also be \input{} from a separate file...) |
---|
206 | \input{glossaries} |
---|
207 | \makeglossaries |
---|
208 | |
---|
209 | % cfa macros used in the document |
---|
210 | %\usepackage{cfalab} |
---|
211 | % I'm going to bring back eventually. |
---|
212 | \makeatletter |
---|
213 | % Combines all \CC* commands: |
---|
214 | \newrobustcmd*\Cpp[1][\xspace]{\cfalab@Cpp#1} |
---|
215 | \newcommand\cfalab@Cpp{C\kern-.1em\hbox{+\kern-.25em+}} |
---|
216 | % Optional arguments do not work with pdf string. (Some fix-up required.) |
---|
217 | \pdfstringdefDisableCommands{\def\Cpp{C++}} |
---|
218 | |
---|
219 | % Colour text, formatted in LaTeX style instead of TeX style. |
---|
220 | \newcommand*\colour[2]{{\color{#1}#2}} |
---|
221 | \makeatother |
---|
222 | |
---|
223 | \input{common} |
---|
224 | % CFA code-style for all languages |
---|
225 | \CFAStyle |
---|
226 | % CFA default lnaguage |
---|
227 | \lstset{language=CFA,basicstyle=\linespread{0.9}\tt} |
---|
228 | % Annotations from Peter: |
---|
229 | \newcommand{\PAB}[1]{{\color{blue}PAB: #1}} |
---|
230 | % Change the style of abbreviations: |
---|
231 | \renewcommand{\abbrevFont}{} |
---|
232 | |
---|
233 | %====================================================================== |
---|
234 | % L O G I C A L D O C U M E N T |
---|
235 | % The logical document contains the main content of your thesis. |
---|
236 | % Being a large document, it is a good idea to divide your thesis into several |
---|
237 | % files, each one containing one chapter or other significant chunk of content, |
---|
238 | % so you can easily shuffle things around later if desired. |
---|
239 | %====================================================================== |
---|
240 | \begin{document} |
---|
241 | |
---|
242 | %---------------------------------------------------------------------- |
---|
243 | % FRONT MATERIAL |
---|
244 | % title page,declaration, borrowers' page, abstract, acknowledgements, |
---|
245 | % dedication, table of contents, list of tables, list of figures, |
---|
246 | % nomenclature, etc. |
---|
247 | %---------------------------------------------------------------------- |
---|
248 | \input{uw-ethesis-frontpgs} |
---|
249 | |
---|
250 | %---------------------------------------------------------------------- |
---|
251 | % MAIN BODY |
---|
252 | % We suggest using a separate file for each chapter of your thesis. |
---|
253 | % Start each chapter file with the \chapter command. Only use \documentclass, |
---|
254 | % \begin{document} and \end{document} commands in this master document. |
---|
255 | % Tip: Putting each sentence on a new line is a way to simplify later editing. |
---|
256 | %---------------------------------------------------------------------- |
---|
257 | \input{existing} |
---|
258 | \input{features} |
---|
259 | \input{implement} |
---|
260 | %\input{unwinding} |
---|
261 | \input{future} |
---|
262 | |
---|
263 | %---------------------------------------------------------------------- |
---|
264 | % END MATERIAL |
---|
265 | % Bibliography, Appendices, Index, etc. |
---|
266 | %---------------------------------------------------------------------- |
---|
267 | |
---|
268 | % Bibliography |
---|
269 | |
---|
270 | % The following statement selects the style to use for references. |
---|
271 | % It controls the sort order of the entries in the bibliography and also the |
---|
272 | % formatting for the in-text labels. |
---|
273 | \bibliographystyle{plain} |
---|
274 | % This specifies the location of the file containing the bibliographic |
---|
275 | % information. It assumes you're using BibTeX to manage your references (if |
---|
276 | % not, why not?). |
---|
277 | \cleardoublepage % This is needed if the "book" document class is used, to |
---|
278 | % place the anchor in the correct page, because the bibliography will start |
---|
279 | % on its own page. |
---|
280 | % Use \clearpage instead if the document class uses the "oneside" argument. |
---|
281 | \phantomsection % With hyperref package, enables hyperlinking from the table |
---|
282 | % of contents to bibliography. |
---|
283 | % The following statement causes the title "References" to be used for the |
---|
284 | % bibliography section: |
---|
285 | \renewcommand*{\bibname}{References} |
---|
286 | |
---|
287 | % Add the References to the Table of Contents |
---|
288 | \addcontentsline{toc}{chapter}{\textbf{References}} |
---|
289 | |
---|
290 | \bibliography{uw-ethesis,pl} |
---|
291 | % Tip: You can create multiple .bib files to organize your references. Just |
---|
292 | % list them all in the \bibliogaphy command, separated by commas (no spaces). |
---|
293 | |
---|
294 | % The following statement causes the specified references to be added to the |
---|
295 | % bibliography even if they were not cited in the text. The asterisk is a |
---|
296 | % wildcard that causes all entries in the bibliographic database to be |
---|
297 | % included (optional). |
---|
298 | % \nocite{*} |
---|
299 | %---------------------------------------------------------------------- |
---|
300 | |
---|
301 | % Appendices |
---|
302 | |
---|
303 | % The \appendix statement indicates the beginning of the appendices. |
---|
304 | \appendix |
---|
305 | % Add an un-numbered title page before the appendices and a line in the Table |
---|
306 | % of Contents |
---|
307 | % \chapter*{APPENDICES} |
---|
308 | % \addcontentsline{toc}{chapter}{APPENDICES} |
---|
309 | % Appendices are just more chapters, with different labeling (letters instead |
---|
310 | % of numbers). |
---|
311 | % \input{appendix-matlab_plots.tex} |
---|
312 | |
---|
313 | % GLOSSARIES (Lists of definitions, abbreviations, symbols, etc. |
---|
314 | % provided by the glossaries-extra package) |
---|
315 | % ----------------------------- |
---|
316 | \printglossaries |
---|
317 | \cleardoublepage |
---|
318 | \phantomsection % allows hyperref to link to the correct page |
---|
319 | |
---|
320 | %---------------------------------------------------------------------- |
---|
321 | \end{document} % end of logical document |
---|