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