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