[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} |
---|