source: doc/theses/aaron_moss_PhD/phd/thesis.tex @ a332d432

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resnenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprno_listpersistent-indexerpthread-emulationqualifiedEnum
Last change on this file since a332d432 was a332d432, checked in by Aaron Moss <a3moss@…>, 6 years ago

Added to related work, implementation, and future work for generic types chapter

  • Property mode set to 100644
File size: 7.3 KB
Line 
1% Specify the document class, default style attributes, and page dimensions
2% For hyperlinked PDF, suitable for viewing on a computer, use this:
3\documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
4
5% For PDF, suitable for double-sided printing, change the PrintVersion variable below
6% to "true" and use this \documentclass line instead of the one above:
7%\documentclass[letterpaper,12pt,titlepage,openright,twoside,final]{book}
8
9% common macros for this thesis
10\input{macros}
11
12\newcommand{\href}[1]{#1} % does nothing, but defines the command so the
13% print-optimized version will ignore \href tags (redefined by hyperref pkg).
14
15% This package allows if-then-else control structures.
16\usepackage{ifthen}
17\newboolean{PrintVersion}
18\setboolean{PrintVersion}{false} 
19% CHANGE THIS VALUE TO "true" as necessary, to improve printed results for hard copies
20% by overriding some options of the hyperref package below.
21
22\usepackage{amsmath,amssymb,amstext} % Lots of math symbols and environments
23\usepackage[pdftex]{graphicx} % For including graphics N.B. pdftex graphics driver
24
25\usepackage{footmisc} % for double refs to the same footnote
26
27% Hyperlinks make it very easy to navigate an electronic document.
28% In addition, this is where you should specify the thesis title
29% and author as they appear in the properties of the PDF document.
30% Use the "hyperref" package
31% N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
32\usepackage[pdftex,pagebackref=false]{hyperref} % with basic options
33% N.B. pagebackref=true provides links back from the References to the body text. This can cause trouble for printing.
34
35\hypersetup{
36        plainpages=false,       % needed if Roman numbers in frontpages
37        unicode=false,          % non-Latin characters in Acrobat’s bookmarks
38        pdftoolbar=true,        % show Acrobat’s toolbar?
39        pdfmenubar=true,        % show Acrobat’s menu?
40        pdffitwindow=false,     % window fit to page when opened
41        pdfstartview={FitH},    % fits the width of the page to the window
42        pdftitle={Cforall\ Type\ System\ Implementation},    % title
43    pdfauthor={Aaron\ Moss}, % author
44    pdfsubject={Cforall}% subject
45%    pdfkeywords={keyword1} {key2} {key3}, % list of keywords, and uncomment this line if desired
46        pdfnewwindow=true,      % links in new window
47        colorlinks=true,        % false: boxed links; true: colored links
48        linkcolor=blue,         % color of internal links
49        citecolor=green,        % color of links to bibliography
50        filecolor=magenta,      % color of file links
51        urlcolor=cyan           % color of external links
52}
53\ifthenelse{\boolean{PrintVersion}}{   % for improved print quality, change some hyperref options
54\hypersetup{    % override some previously defined hyperref options
55%    colorlinks,%
56        citecolor=black,%
57        filecolor=black,%
58        linkcolor=black,%
59        urlcolor=black}
60}{} % end of ifthenelse (no else)
61
62\input{cfa-macros} % must be loaded after hyperref
63
64% \usepackage[automake,toc,abbreviations]{glossaries-extra} % Exception to the rule of hyperref being the last add-on package
65
66% Setting up the page margins...
67% uWaterloo thesis requirements specify a minimum of 1 inch (72pt) margin at the
68% top, bottom, and outside page edges and a 1.125 in. (81pt) gutter
69% margin (on binding side). While this is not an issue for electronic
70% viewing, a PDF may be printed, and so we have the same page layout for
71% both printed and electronic versions, we leave the gutter margin in.
72% Set margins to minimum permitted by uWaterloo thesis regulations:
73\setlength{\marginparwidth}{0pt} % width of margin notes
74% N.B. If margin notes are used, you must adjust \textwidth, \marginparwidth
75% and \marginparsep so that the space left between the margin notes and page
76% edge is less than 15 mm (0.6 in.)
77\setlength{\marginparsep}{0pt} % width of space between body text and margin notes
78\setlength{\evensidemargin}{0.125in} % Adds 1/8 in. to binding side of all
79% even-numbered pages when the "twoside" printing option is selected
80\setlength{\oddsidemargin}{0.125in} % Adds 1/8 in. to the left of all pages
81% when "oneside" printing is selected, and to the left of all odd-numbered
82% pages when "twoside" printing is selected
83\setlength{\textwidth}{6.375in} % assuming US letter paper (8.5 in. x 11 in.) and
84% side margins as above
85\raggedbottom
86
87% The following statement specifies the amount of space between
88% paragraphs. Other reasonable specifications are \bigskipamount and \smallskipamount.
89\setlength{\parskip}{\medskipamount}
90
91% The following statement controls the line spacing.  The default
92% spacing corresponds to good typographic conventions and only slight
93% changes (e.g., perhaps "1.2"), if any, should be made.
94\renewcommand{\baselinestretch}{1} % this is the default line space setting
95
96% By default, each chapter will start on a recto (right-hand side)
97% page.  We also force each section of the front pages to start on
98% a recto page by inserting \cleardoublepage commands.
99% In many cases, this will require that the verso page be
100% blank and, while it should be counted, a page number should not be
101% printed.  The following statements ensure a page number is not
102% printed on an otherwise blank verso page.
103\let\origdoublepage\cleardoublepage
104\newcommand{\clearemptydoublepage}{%
105  \clearpage{\pagestyle{empty}\origdoublepage}}
106\let\cleardoublepage\clearemptydoublepage
107
108%======================================================================
109%   L O G I C A L    D O C U M E N T
110%======================================================================
111\begin{document}
112
113%----------------------------------------------------------------------
114% FRONT MATERIAL
115%----------------------------------------------------------------------
116\input{frontpgs}
117
118%----------------------------------------------------------------------
119% MAIN BODY
120%----------------------------------------------------------------------
121\input{introduction}
122\input{background}
123\input{generic-types}
124\input{type-environment}
125\input{resolution-heuristics}
126\input{conclusion}
127
128% B I B L I O G R A P H Y
129% -----------------------
130
131% The following statement selects the style to use for references.  It controls the sort order of the entries in the bibliography and also the formatting for the in-text labels.
132\bibliographystyle{plain}
133% This specifies the location of the file containing the bibliographic information. 
134% It assumes you're using BibTeX (if not, why not?).
135\cleardoublepage % This is needed if the book class is used, to place the anchor in the correct page,
136                 % because the bibliography will start on its own page.
137                 % Use \clearpage instead if the document class uses the "oneside" argument
138\phantomsection  % With hyperref package, enables hyperlinking from the table of contents to bibliography             
139% The following statement causes the title "References" to be used for the bibliography section:
140\renewcommand*{\bibname}{References}
141
142% Add the References to the Table of Contents
143\addcontentsline{toc}{chapter}{\textbf{References}}
144
145\bibliography{pl}
146% Tip 5: You can create multiple .bib files to organize your references.
147% Just list them all in the \bibliogaphy command, separated by commas (no spaces).
148
149% The following statement causes the specified references to be added to the bibliography% even if they were not
150% cited in the text. The asterisk is a wildcard that causes all entries in the bibliographic database to be included (optional).
151% \nocite{*}
152
153\end{document}
Note: See TracBrowser for help on using the repository browser.