source: doc/theses/colby_parsons_MMAth/thesis.tex @ 65ef0cd

Last change on this file since 65ef0cd was 61a20af, checked in by Peter A. Buhr <pabuhr@…>, 17 months ago

change urlcolor to blue in hyperref

  • Property mode set to 100644
File size: 13.9 KB
RevLine 
[9a5a2cd]1%======================================================================
2% University of Waterloo Thesis Template for LaTeX
3% Last Updated August 2022
4% by IST Client Services,
5% University of Waterloo, 200 University Ave. W., Waterloo, Ontario, Canada
6% FOR ASSISTANCE, please send mail to helpdesk@uwaterloo.ca
7
8% DISCLAIMER
9% To the best of our knowledge, this template satisfies the current uWaterloo thesis requirements.
10% However, it is your responsibility to assure that you have met all requirements of the University and your particular department.
11
12% Many thanks for the feedback from many graduates who assisted the development of this template.
13% Also note that there are explanatory comments and tips throughout this template.
14%======================================================================
15% Some important notes on using this template and making it your own...
[1180175]16
[9a5a2cd]17% The University of Waterloo has required electronic thesis submission since October 2006.
18% See the uWaterloo thesis regulations at
19% https://uwaterloo.ca/graduate-studies/thesis.
20% This thesis template is geared towards generating a PDF version optimized for viewing on an electronic display, including hyperlinks within the PDF.
21
22% DON'T FORGET TO ADD YOUR OWN NAME AND TITLE in the "hyperref" package configuration below.
23% Search for: PDFTITLE, PDFAUTHOR, PDFSUBJECT, and PDFKEYWORDS.
24% THIS INFORMATION GETS EMBEDDED IN THE FINAL PDF DOCUMENT.
25% You can view the information if you view properties of the PDF document.
26
27% Many faculties/departments also require one or more printed copies.
28% This template attempts to satisfy both types of output.
29% See additional notes below.
30% It is based on the standard "book" document class which provides all necessary sectioning structures and allows multi-part theses.
31
32% If you are using this template in Overleaf (cloud-based collaboration service), then it is automatically processed and previewed for you as you edit.
33
34% For people who prefer to install their own LaTeX distributions on their own computers, and process the source files manually, the following notes provide the sequence of tasks:
35 
36% E.g. to process a thesis called "mythesis.tex" based on this template, run:
37
38% pdflatex mythesis     -- first pass of the pdflatex processor
39% bibtex mythesis       -- generates bibliography from .bib data file(s)
40% makeindex         -- should be run only if an index is used
41% pdflatex mythesis     -- fixes numbering in cross-references, bibliographic references, glossaries, index, etc.
42% pdflatex mythesis     -- it takes a couple of passes to completely process all cross-references
43
44% If you use the recommended LaTeX editor, Texmaker, you would open the mythesis.tex file, then click the PDFLaTeX button. Then run BibTeX (under the Tools menu).
45% Then click the PDFLaTeX button two more times.
46% If you have an index as well,you'll need to run MakeIndex from the Tools menu as well, before running pdflatex
47% the last two times.
48
49% N.B. The "pdftex" program allows graphics in the following formats to be included with the "\includegraphics" command: PNG, PDF, JPEG, TIFF
50% Tip: Generate your figures and photos in the size you want them to appear in your thesis, rather than scaling them with \includegraphics options.
51% Tip: Any drawings you do should be in scalable vector graphic formats: SVG, PNG, WMF, EPS and then converted to PNG or PDF, so they are scalable in the final PDF as well.
52% Tip: Photographs should be cropped and compressed so as not to be too large.
[1180175]53
[9a5a2cd]54% To create a PDF output that is optimized for double-sided printing:
55% 1) comment-out the \documentclass statement in the preamble below, and un-comment the second \documentclass line.
56% 2) change the value assigned below to the boolean variable "PrintVersion" from " false" to "true".
[1180175]57
[9a5a2cd]58%======================================================================
59%   D O C U M E N T   P R E A M B L E
60% Specify the document class, default style attributes, and page dimensions, etc.
61% For hyperlinked PDF, suitable for viewing on a computer, use this:
62\documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
63 
64% For PDF, suitable for double-sided printing, change the PrintVersion variable below to "true" and use this \documentclass line instead of the one above:
65%\documentclass[letterpaper,12pt,titlepage,openright,twoside,final]{book}
66
67% Some LaTeX commands I define for my own nomenclature.
68% If you have to, it's easier to make changes to nomenclature once here than in a million places throughout your thesis!
69\newcommand{\package}[1]{\textbf{#1}} % package names in bold text
70\newcommand{\cmmd}[1]{\textbackslash\texttt{#1}} % command name in tt font
71\newcommand{\href}[1]{#1} % does nothing, but defines the command so the print-optimized version will ignore \href tags (redefined by hyperref pkg).
72%\newcommand{\texorpdfstring}[2]{#1} % does nothing, but defines the command
73% Anything defined here may be redefined by packages added below...
74
75% This package allows if-then-else control structures.
76\usepackage{ifthen}
77\newboolean{PrintVersion}
78\setboolean{PrintVersion}{false}
79% CHANGE THIS VALUE TO "true" as necessary, to improve printed results for hard copies by overriding some options of the hyperref package, called below.
80
81%\usepackage{nomencl} % For a nomenclature (optional; available from ctan.org)
82\usepackage{amsmath,amssymb,amstext} % Lots of math symbols and environments
83
84\usepackage{tikz} % for diagrams and figures
85\def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}
[1180175]86\usepackage{fullpage,times,comment}
[678c540]87\usepackage{textcomp}
[1180175]88\usepackage{graphicx}
89\usepackage{tabularx}
[7f164c3]90\usepackage[labelformat=simple,aboveskip=0pt,farskip=0pt,font=normalsize]{subfig}
91\renewcommand\thesubfigure{(\alph{subfigure})}
[9a5a2cd]92\input{style}
93
94% Hyperlinks make it very easy to navigate an electronic document.
95% In addition, this is where you should specify the thesis title and author as they appear in the properties of the PDF document.
96% Use the "hyperref" package
97% N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
98\usepackage[dvips,pagebackref=false]{hyperref} % with basic options
99\hypersetup{
100    plainpages=false,       % needed if Roman numbers in frontpages
[525a46a]101    unicode=false,          % non-Latin characters in Acrobat's bookmarks
102    pdftoolbar=true,        % show Acrobat's toolbar?
103    pdfmenubar=true,        % show Acrobat's menu?
[9a5a2cd]104    pdffitwindow=false,     % window fit to page when opened
105    pdfstartview={FitH},    % fits the width of the page to the window
106    pdftitle={High Level Concurrency in \CFA},
107    pdfauthor={Colby Parsons},
108    pdfsubject={Cforall},
109%    pdfkeywords={keyword1} {key2} {key3}, % list of keywords, and uncomment this line if desired
110    pdfnewwindow=true,      % links in new window
111    colorlinks=true,        % false: boxed links; true: colored links
112    linkcolor=blue,         % color of internal links
[8599415]113    citecolor=blue,         % color of links to bibliography
[9a5a2cd]114    filecolor=magenta,      % color of file links
[61a20af]115    urlcolor=blue,          % color of external links
[8599415]116    breaklinks=true
[9a5a2cd]117}
118\ifthenelse{\boolean{PrintVersion}}{   % for improved print quality, change some hyperref options
119\hypersetup{    % override some previously defined hyperref options
120%    colorlinks,%
121    citecolor=black,%
122    filecolor=black,%
123    linkcolor=black,%
124    urlcolor=black}
125}{} % end of ifthenelse (no else)
[61a20af]126\usepackage{breakurl}
127\urlstyle{rm}
[9a5a2cd]128
129% \usepackage[acronym]{glossaries}
130\usepackage[automake,toc,abbreviations]{glossaries-extra} % Exception to the rule of hyperref being the last add-on package
[8599415]131\renewcommand*{\glstextformat}[1]{\textcolor{black}{#1}}
[9a5a2cd]132% If glossaries-extra is not in your LaTeX distribution, get it from CTAN (http://ctan.org/pkg/glossaries-extra),
133% although it's supposed to be in both the TeX Live and MikTeX distributions. There are also documentation and
134% installation instructions there.
[1180175]135
[3c17a10]136% Setting up the page margins...
137% uWaterloo thesis requirements specify a minimum of 1 inch (72pt) margin at the
[9a5a2cd]138% top, bottom, and outside page edges and a 1.125 in. (81pt) gutter margin (on binding side).
[3c17a10]139% While this is not an issue for electronic viewing, a PDF may be printed, and so we have the same page layout for both printed and electronic versions, we leave the gutter margin in.
140% Set margins to minimum permitted by uWaterloo thesis regulations:
141\setlength{\marginparwidth}{0pt} % width of margin notes
142% N.B. If margin notes are used, you must adjust \textwidth, \marginparwidth
143% and \marginparsep so that the space left between the margin notes and page
144% edge is less than 15 mm (0.6 in.)
145\setlength{\marginparsep}{0pt} % width of space between body text and margin notes
[9a5a2cd]146\setlength{\evensidemargin}{0.125in} % Adds 1/8 in. to binding side of all
[3c17a10]147% even-numbered pages when the "twoside" printing option is selected
148\setlength{\oddsidemargin}{0.125in} % Adds 1/8 in. to the left of all pages when "oneside" printing is selected, and to the left of all odd-numbered pages when "twoside" printing is selected
149\setlength{\textwidth}{6.375in} % assuming US letter paper (8.5 in. x 11 in.) and side margins as above
150\raggedbottom
151
152% The following statement specifies the amount of space between paragraphs. Other reasonable specifications are \bigskipamount and \smallskipamount.
153\setlength{\parskip}{\medskipamount}
[1180175]154
[9a5a2cd]155% The following statement controls the line spacing. 
156% The default spacing corresponds to good typographic conventions and only slight changes (e.g., perhaps "1.2"), if any, should be made.
157\renewcommand{\baselinestretch}{1} % this is the default line space setting
[1180175]158
[9a5a2cd]159% By default, each chapter will start on a recto (right-hand side) page.
160% We also force each section of the front pages to start on a recto page by inserting \cleardoublepage commands.
161% In many cases, this will require that the verso (left-hand) page be blank, and while it should be counted, a page number should not be printed.
162% The following statements ensure a page number is not printed on an otherwise blank verso page.
163\let\origdoublepage\cleardoublepage
164\newcommand{\clearemptydoublepage}{%
165  \clearpage{\pagestyle{empty}\origdoublepage}}
166\let\cleardoublepage\clearemptydoublepage
[1180175]167
[9a5a2cd]168% Define Glossary terms (This is properly done here, in the preamble and could also be \input{} from a separate file...)
[1180175]169\input{glossary}
[9a5a2cd]170\makeglossaries
[1180175]171
172%======================================================================
[9a5a2cd]173%   L O G I C A L    D O C U M E N T
174% The logical document contains the main content of your thesis.
175% Being a large document, it is a good idea to divide your thesis into several files, each one containing one chapter or other significant chunk of content, so you can easily shuffle things around later if desired.
[1180175]176%======================================================================
177\begin{document}
[601bd9e]178\newtheorem{theorem}{Theorem}
[1180175]179
180%----------------------------------------------------------------------
181% FRONT MATERIAL
[9a5a2cd]182% title page,declaration, borrowers' page, abstract, acknowledgements,
183% dedication, table of contents, list of tables, list of figures, nomenclature, etc.
[1180175]184%----------------------------------------------------------------------
[9a5a2cd]185\input{frontpgs} 
[1180175]186
187%----------------------------------------------------------------------
188% MAIN BODY
[9a5a2cd]189% We suggest using a separate file for each chapter of your thesis.
190% Start each chapter file with the \chapter command.
191% Only use \documentclass or \begin{document} and \end{document} commands in this master document.
192% Tip: Putting each sentence on a new line is a way to simplify later editing.
[1180175]193%----------------------------------------------------------------------
[6e83384]194\input{intro}
[1180175]195
[6e83384]196\input{CFA_intro}
[512d937c]197
[6e83384]198\input{CFA_concurrency}
[1180175]199
[6e83384]200\input{mutex_stmt}
[0faacb8]201
[512d937c]202\input{channels}
[0faacb8]203
[6e83384]204\input{actors}
[1180175]205
[a0c746df]206\input{waituntil}
207
[9a5a2cd]208%----------------------------------------------------------------------
209% END MATERIAL
210% Bibliography, Appendices, Index, etc.
211%----------------------------------------------------------------------
[1180175]212
[9a5a2cd]213% Bibliography
214
215% The following statement selects the style to use for references. 
216% It controls the sort order of the entries in the bibliography and also the formatting for the in-text labels.
[1180175]217\bibliographystyle{plain}
[9a5a2cd]218% This specifies the location of the file containing the bibliographic information. 
219% It assumes you're using BibTeX to manage your references (if not, why not?).
220\cleardoublepage % This is needed if the "book" document class is used, to place the anchor in the correct page, because the bibliography will start on its own page.
221% Use \clearpage instead if the document class uses the "oneside" argument
222\phantomsection  % With hyperref package, enables hyperlinking from the table of contents to bibliography             
223% The following statement causes the title "References" to be used for the bibliography section:
224\renewcommand*{\bibname}{References}
225
226% Add the References to the Table of Contents
227\addcontentsline{toc}{chapter}{\textbf{References}}
228
[1180175]229\bibliography{pl,local}
[9a5a2cd]230% Tip: You can create multiple .bib files to organize your references.
231% Just list them all in the \bibliogaphy command, separated by commas (no spaces).
232
233% The following statement causes the specified references to be added to the bibliography even if they were not cited in the text.
234% The asterisk is a wildcard that causes all entries in the bibliographic database to be included (optional).
235% \nocite{*}
236%----------------------------------------------------------------------
[1180175]237
[9a5a2cd]238% Appendices
239
240% The \appendix statement indicates the beginning of the appendices.
241% \appendix
242% % Add an un-numbered title page before the appendices and a line in the Table of Contents
243% \chapter*{APPENDICES}
244% \addcontentsline{toc}{chapter}{APPENDICES}
245% % Appendices are just more chapters, with different labeling (letters instead of numbers).
246% \input{appendix-matlab_plots.tex}
247
248% GLOSSARIES (Lists of definitions, abbreviations, symbols, etc. provided by the glossaries-extra package)
[1180175]249% -----------------------------
250\printglossary
251\cleardoublepage
252\phantomsection         % allows hyperref to link to the correct page
253
[9a5a2cd]254%----------------------------------------------------------------------
255\end{document} % end of logical document
Note: See TracBrowser for help on using the repository browser.