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

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since ec92b48 was ec92b48, checked in by Aaron Moss <a3moss@…>, 7 years ago

thesis: add comments on CFA formalization

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