Changeset bbdb0c6 for doc/theses


Ignore:
Timestamp:
Mar 18, 2020, 3:41:01 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
778452d, d658183
Parents:
c4fd4ef (diff), 45f4147 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
doc/theses
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/andrew_beach_MMath/Makefile

    rc4fd4ef rbbdb0c6  
    55TEXSRC=$(wildcard *.tex)
    66BIBSRC=$(wildcard *.bib)
     7STYSRC=$(wildcard *.sty)
     8CLSSRC=$(wildcard *.cls)
    79TEXLIB= .:${BUILD}:
    810BIBLIB= .:../../bibliography
     
    2426all: ${DOC}
    2527
    26 ${BUILD}/${DOC}: ${TEXSRC} ${BIBSRC} Makefile | ${BUILD}
     28${BUILD}/${DOC}: ${TEXSRC} ${BIBSRC} ${STYSRC} ${CLSSRC} Makefile | ${BUILD}
    2729        ${LATEX} ${BASE}
    2830        ${BIBTEX} ${BUILD}/${BASE}
  • doc/theses/andrew_beach_MMath/thesis.tex

    rc4fd4ef rbbdb0c6  
    1 % uWaterloo Thesis Template for LaTeX
    2 % Last Updated June 14, 2017 by Stephen Carr, IST Client Services
    3 % FOR ASSISTANCE, please send mail to rt-IST-CSmathsci@ist.uwaterloo.ca
    4 
    5 % Effective October 2006, the University of Waterloo
    6 % requires electronic thesis submission. See the uWaterloo thesis regulations at
    7 % https://uwaterloo.ca/graduate-studies/thesis.
    8 
    9 % DON'T FORGET TO ADD YOUR OWN NAME AND TITLE in the "hyperref" package
    10 % configuration. THIS INFORMATION GETS EMBEDDED IN THE FINAL PDF DOCUMENT.
    11 % You can view the information if you view Properties of the PDF document.
    12 
    13 % Many faculties/departments also require one or more printed
    14 % copies. This template attempts to satisfy both types of output.
    15 % It is based on the standard "book" document class which provides all
    16 % necessary sectioning structures and allows multi-part theses.
    17 
    18 % DISCLAIMER
    19 % To the best of our knowledge, this template satisfies the current uWaterloo
    20 % requirements. However, it is your responsibility to assure that you have met
    21 % all  requirements of the University and your particular department.
    22 % Many thanks for the feedback from many graduates that assisted the
    23 % development of this template.
    24 
    25 % -----------------------------------------------------------------------
    26 
    27 % By default, output is produced that is geared toward generating a PDF
    28 % version optimized for viewing on an electronic display, including
    29 % hyperlinks within the PDF.
    30  
    31 % E.g. to process a thesis called "mythesis.tex" based on this template, run:
    32 
    33 % pdflatex mythesis     -- first pass of the pdflatex processor
    34 % bibtex mythesis       -- generates bibliography from .bib data file(s)
    35 % makeindex         -- should be run only if an index is used
    36 % pdflatex mythesis     -- fixes numbering in cross-references,
    37 % pdflatex mythesis --   bibliographic references, glossaries, index, etc.
    38 
    39 % N.B. The "pdftex" program allows graphics in the following formats to be
    40 % included with the "\includegraphics" command: PNG, PDF, JPEG, TIFF
    41 % Tip 1: Generate your figures and photos in the size you want them to appear
    42 % in your thesis, rather than scaling them with \includegraphics options.
    43 % Tip 2: Any drawings you do should be in scalable vector graphic formats:
    44 % SVG, PNG, WMF, EPS and then converted to PNG or PDF, so they are scalable in
    45 % the final PDF as well.
    46 % Tip 3: Photographs should be cropped and compressed so as not to be too large.
    47 
    48 % To create a PDF output that is optimized for double-sided printing:
    49 %
    50 % 1) comment-out the \documentclass statement in the preamble below, and
    51 % un-comment the second \documentclass line.
    52 %
    53 % 2) change the value assigned below to the boolean variable
    54 % "PrintVersion" from "false" to "true".
    55 
    56 % --------------------- Start of Document Preamble -----------------------
    57 
    58 % Specify the document class, default style attributes, and page dimensions
    59 % For hyperlinked PDF, suitable for viewing on a computer, use this:
    60 \documentclass[letterpaper,12pt,titlepage,oneside,final]{book}
    61  
    62 % For PDF, suitable for double-sided printing, change the PrintVersion
    63 % variable below to "true" and use this \documentclass line instead of the one
    64 % above:
    65 %\documentclass[letterpaper,12pt,titlepage,openright,twoside,final]{book}
    66 
    67 % Some LaTeX commands I define for my own nomenclature.
    68 % If you have to, it's better to change nomenclature once here than in a
    69 % million places throughout your thesis!
    70 \newcommand{\package}[1]{\textbf{#1}} % package names in bold text
    71 \newcommand{\cmmd}[1]{\textbackslash\texttt{#1}} % command name in tt font
    72 \newcommand{\href}[1]{#1} % does nothing, but defines the command so the
    73   % print-optimized version will ignore \href tags (redefined by hyperref pkg).
    74 %\newcommand{\texorpdfstring}[2]{#1} % does nothing, but defines the command
    75 % Anything defined here may be redefined by packages added below...
    76 
    77 % This package allows if-then-else control structures.
    78 \usepackage{ifthen}
    79 \newboolean{PrintVersion}
    80 \setboolean{PrintVersion}{false}
    81 % CHANGE THIS VALUE TO "true" as necessary, to improve printed results for
    82 % hard copies by overriding some options of the hyperref package below.
     1% Main tex file for thesis document.
     2\documentclass[digital]{uw-ethesis}
     3\usepackage{comment}
     4\usepackage{fullpage}
     5\setlength{\textheight}{8.75in}
     6\renewcommand\labelitemi{\footnotesize$\bullet$} % shrink bullet for level 1 itemize
     7\usepackage{lmodern}                            % bold typewriter font
     8
     9\usepackage{listings}                           % format program code
     10% Default underscore is too low and wide. Cannot use lstlisting "literate" as replacing underscore
     11% removes it as a variable-name character so keywords in variables are highlighted. MUST APPEAR
     12% AFTER HYPERREF.
     13%\DeclareTextCommandDefault{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.1ex}}}
     14\renewcommand{\textunderscore}{\leavevmode\makebox[1.2ex][c]{\rule{1ex}{0.075ex}}}
     15% parindent is relative, i.e., toggled on/off in environments like itemize, so store the value for
     16% use rather than use \parident directly.
     17\newlength{\parindentlnth}
     18\setlength{\parindentlnth}{\parindent}
     19
     20% CFA programming language, based on ANSI C (with some gcc additions)
     21\lstdefinelanguage{CFA}[ANSI]{C}{
     22        morekeywords={
     23                _Alignas, _Alignof, __alignof, __alignof__, asm, __asm, __asm__, __attribute, __attribute__,
     24                auto, _Bool, catch, catchResume, choose, _Complex, __complex, __complex__, __const, __const__,
     25                coroutine, disable, dtype, enable, exception, __extension__, fallthrough, fallthru, finally,
     26                __float80, float80, __float128, float128, forall, ftype, generator, _Generic, _Imaginary, __imag, __imag__,
     27                inline, __inline, __inline__, __int128, int128, __label__, monitor, mutex, _Noreturn, one_t, or,
     28                otype, restrict, resume, __restrict, __restrict__, __signed, __signed__, _Static_assert, suspend, thread,
     29                _Thread_local, throw, throwResume, timeout, trait, try, ttype, typeof, __typeof, __typeof__,
     30                virtual, __volatile, __volatile__, waitfor, when, with, zero_t},
     31        moredirectives={defined,include_next},
     32        % replace/adjust listing characters that look bad in sanserif
     33        literate={-}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.1ex}}}}1 {^}{\raisebox{0.6ex}{$\scriptstyle\land\,$}}1
     34                {~}{\raisebox{0.3ex}{$\scriptstyle\sim\,$}}1 % {`}{\ttfamily\upshape\hspace*{-0.1ex}`}1
     35                {<}{\textrm{\textless}}1 {>}{\textrm{\textgreater}}1
     36                {<-}{$\leftarrow$}2 {=>}{$\Rightarrow$}2 {->}{\makebox[1ex][c]{\raisebox{0.5ex}{\rule{0.8ex}{0.075ex}}}\kern-0.2ex{\textrm{\textgreater}}}2,
     37}
     38
     39\lstset{
     40language=CFA,
     41columns=fullflexible,
     42basicstyle=\linespread{0.9}\tt,                 % reduce line spacing and use sanserif font
     43stringstyle=\tt,                                % use typewriter font
     44tabsize=5,                                      % N space tabbing
     45xleftmargin=\parindentlnth,                     % indent code to paragraph indentation
     46%mathescape=true,                               % LaTeX math escape in CFA code $...$
     47escapechar=\$,                                  % LaTeX escape in CFA code
     48keepspaces=true,
     49showstringspaces=false,                         % do not show spaces with cup
     50showlines=true,                                 % show blank lines at end of code
     51aboveskip=4pt,                                  % spacing above/below code block
     52belowskip=3pt,
     53moredelim=**[is][\color{red}]{`}{`},
     54}% lstset
     55
     56\lstnewenvironment{cfa}[1][]
     57{\lstset{#1}}
     58{}
     59% inline code @...@
     60
     61% Commands used in documenting how to use the template. To remove.
     62\newcommand{\package}[1]{\textbf{#1}}
     63\newcommand{\cmmd}[1]{\textbackslash\texttt{#1}}
     64\newcommand{\href}[1]{#1}
    8365
    8466% For a nomenclature (optional; available from ctan.org)
     
    8668% Lots of math symbols and environments
    8769\usepackage{amsmath,amssymb,amstext}
    88 % For including graphics N.B. pdftex graphics driver
     70% For including graphics, sets the pdftex graphics driver.
    8971\usepackage[pdftex]{graphicx}
    9072
    91 % I believe the general index function is covered by the glossaries.
    92 % \usepackage{makeidx}
    93 % \makeindex
    94 
    95 % Hyperlinks make it very easy to navigate an electronic document.
    96 % In addition, this is where you should specify the thesis title
    97 % and author as they appear in the properties of the PDF document.
    98 % Use the "hyperref" package
    99 % N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
    100 % N.B. pagebackref=true provides links back from the References to the body
    101 % text. This can cause trouble for printing.
    102 \usepackage[pdftex,pagebackref=false]{hyperref} % with basic options
    103 \hypersetup{
    104     plainpages=false,       % needed if Roman numbers in frontpages
    105     unicode=false,          % non-Latin characters in Acrobat’s bookmarks
    106     pdftoolbar=true,        % show Acrobat’s toolbar?
    107     pdfmenubar=true,        % show Acrobat’s menu?
    108     pdffitwindow=false,     % window fit to page when opened
    109     pdfstartview={FitH},    % fits the width of the page to the window
    110     pdftitle={uWaterloo\ LaTeX\ Thesis\ Template},    % title: CHANGE THIS TEXT!
    111 %    pdfauthor={Author},    % author: CHANGE THIS TEXT! and uncomment this line
    112 %    pdfsubject={Subject},  % subject: CHANGE THIS TEXT! and uncomment this line
    113 %    pdfkeywords={keyword1} {key2} {key3}, % list of keywords, and uncomment this line if desired
    114     pdfnewwindow=true,      % links in new window
    115     colorlinks=true,        % false: boxed links; true: colored links
    116     linkcolor=blue,         % color of internal links
    117     citecolor=green,        % color of links to bibliography
    118     filecolor=magenta,      % color of file links
    119     urlcolor=cyan           % color of external links
    120 }
    121 \ifthenelse{\boolean{PrintVersion}}{
    122   % for improved print quality, override some hyperref options
    123 \hypersetup{
    124 %    colorlinks,%
    125     citecolor=black,%
    126     filecolor=black,%
    127     linkcolor=black,%
    128     urlcolor=black}
    129 }{} % end of ifthenelse (no else)
    130 
    131 \usepackage[toc,abbreviations]{glossaries-extra} % Exception to the
    132 % rule of hyperref being the last add-on package. If glossaries-extra is not
    133 % in your LaTeX distribution, get it from CTAN
    134 % (http://ctan.org/pkg/glossaries-extra).
    135 
    136 % Setting up the page margins...
    137 % uWaterloo thesis requirements specify a minimum of 1 inch (72pt) margin at
    138 % the top, bottom, and outside page edges and a 1.125 in. (81pt) gutter
    139 % margin (on binding side). While this is not an issue for electronic
    140 % viewing, a PDF may be printed, and so we have the same page layout for
    141 % both printed and electronic versions, we leave the gutter margin in.
    142 % Set margins to minimum permitted by uWaterloo thesis regulations:
    143 \setlength{\marginparwidth}{0pt} % width of margin notes
    144 % N.B. If margin notes are used, you must adjust \textwidth, \marginparwidth
    145 % and \marginparsep so that the space left between the margin notes and page
    146 % edge is less than 15 mm (0.6 in.)
    147 % Width of space between body text and margin notes.
    148 \setlength{\marginparsep}{0pt}
    149 \setlength{\evensidemargin}{0.125in} % Adds 1/8 in. to binding side of all
    150 % even-numbered pages when the "twoside" printing option is selected
    151 \setlength{\oddsidemargin}{0.125in} % Adds 1/8 in. to the left of all pages
    152 % when "oneside" printing is selected, and to the left of all odd-numbered
    153 % pages when "twoside" printing is selected
    154 % Assuming US letter paper (8.5 in. x 11 in.) and side margins as above.
    155 \setlength{\textwidth}{6.375in}
    156 \raggedbottom
    157 
    158 % The following statement specifies the amount of space between paragraphs.
    159 % Other reasonable specifications are \bigskipamount and \smallskipamount.
    160 \setlength{\parskip}{\medskipamount}
    161 
    162 % The following statement controls the line spacing.  The default
    163 % spacing corresponds to good typographic conventions and only slight
    164 % changes (e.g., perhaps "1.2"), if any, should be made.
    165 \renewcommand{\baselinestretch}{1} % this is the default line space setting
    166 
    167 % By default, each chapter will start on a recto (right-hand side)
    168 % page.  We also force each section of the front pages to start on
    169 % a recto page by inserting \cleardoublepage commands.
    170 % In many cases, this will require that the verso page be
    171 % blank and, while it should be counted, a page number should not be
    172 % printed.  The following statements ensure a page number is not
    173 % printed on an otherwise blank verso page.
    174 \let\origdoublepage\cleardoublepage
    175 \newcommand{\clearemptydoublepage}{%
    176   \clearpage{\pagestyle{empty}\origdoublepage}}
    177 \let\cleardoublepage\clearemptydoublepage
    178 
    179 % Define Glossary terms (This is properly done here, in the preamble.
    180 % Could be \input{} from a file...)
     73\usepackage{cfalab}
     74
     75\usehyperrefpackage[pdftex,pagebackref=false]{
     76    pdftitle={Exception Handling in CFA},
     77    pdfauthor={Andrew James Beach},
     78    pdfsubject={Programming Languages},
     79    pdfkeywords={exceptions,implementation},
     80}
     81
     82% The \phantomsection is used to help the hyperref package create links.
     83
     84% Maybe only package that should be loaded after the hyperref package.
     85% From http://ctan.org/pkg/glossaries-extra, extends glossaries which replaces
     86% glossary and builds off of the makeindex system.
     87\usepackage[toc,abbreviations]{glossaries-extra}
     88
    18189% Main glossary entries -- definitions of relevant terminology
    18290\newglossaryentry{computer}
     
    194102type=nomenclature,
    195103name=dingledorf,
    196 description={A person of supposed average intelligence who makes incredibly brainless misjudgments}
     104description={A person of supposed average intelligence who makes incredibly
     105               brainless misjudgments}
    197106}
    198107
    199108% List of Abbreviations (abbreviations are from the glossaries-extra package)
    200 \newabbreviation{aaaaz}{AAAAZ}{American Association of Amature Astronomers and Zoologists}
     109\newabbreviation{aaaaz}{AAAAZ}{American Association of Amature Astronomers
     110               and Zoologists}
    201111
    202112% List of Symbols
     
    207117sort={label},
    208118type=symbols,
    209 description={Random vector: a location in n-dimensional Cartesian space, where each dimensional component is determined by a random process}
    210 }
    211  
     119description={Random vector: a location in n-dimensional Cartesian space, where
     120               each dimensional component is determined by a random process}
     121}
     122
     123% Must be here of cause problems with glossaries-extra.
     124\lstMakeShortInline$%
     125
     126% Generate the glossaries defined above.
    212127\makeglossaries
    213128
    214 %======================================================================
    215 %   L O G I C A L    D O C U M E N T -- the content of your thesis
    216 %======================================================================
    217129\begin{document}
    218130
    219 % For a large document, it is a good idea to divide your thesis
    220 % into several files, each one containing one chapter.
    221 % To illustrate this idea, the "front pages" (i.e., title page,
    222 % declaration, borrowers' page, abstract, acknowledgements,
    223 % dedication, table of contents, list of tables, list of figures,
    224 % nomenclature) are contained within the file "uw-ethesis-frontpgs.tex" which
    225 % is included into the document by the following statement.
    226131%----------------------------------------------------------------------
    227132% FRONT MATERIAL
     
    232137% MAIN BODY
    233138%----------------------------------------------------------------------
    234 % Because this is a short document, and to reduce the number of files
    235 % needed for this template, the chapters are not separate
    236 % documents as suggested above, but you get the idea. If they were
    237 % separate documents, they would each start with the \chapter command, i.e, do
    238 % not contain \documentclass or \begin{document} and \end{document} commands.
     139\input{unwinding}
     140
    239141%======================================================================
    240142\chapter{Introduction}
     
    327229%----------------------------------------------------------------------
    328230
    329 % B I B L I O G R A P H Y
    330 % -----------------------
    331 
    332 % The following statement selects the style to use for references. It controls
    333 % the sort order of the entries in the bibliography and also the formatting
    334 % for the in-text labels.
    335 \bibliographystyle{plain}
    336 % This specifies the location of the file containing the bibliographic
    337 % information. It assumes you're using BibTeX (if not, why not?).
    338 
    339 % This is needed if the book class is used, to place the anchor in the correct
    340 % page, because the bibliography will start on its own page.
     231%----------------------------------------------------------------------
     232% BIBLIOGRAPHY
     233%----------------------------------------------------------------------
     234
    341235% Use \clearpage instead if the document class uses the "oneside" argument.
    342236\cleardoublepage
    343 % With hyperref package, enables hyperlinking from the table of contents to
    344 % bibliography
    345237\phantomsection
    346238
    347 % The following statement causes the title "References" to be used for the
    348 % bibliography section:
    349 \renewcommand*{\bibname}{References}
    350 
    351 % Add the References to the Table of Contents
    352 \addcontentsline{toc}{chapter}{\textbf{References}}
    353 
    354 % Tip 5: You can create multiple .bib files to organize your references. Just
    355 % list them all in the \bibliogaphy command, separated by commas (no spaces).
     239% Bibliography setup and creation, renamed to References.
     240\addcontentsline{toc}{chapter}{\textbf{\bibname}}
     241\bibliographystyle{plain}
    356242\bibliography{thesis}
    357243
    358 % The following statement causes the specified references to be added to the
    359 % bibliography even if they were not cited in the text. The asterisk is a
    360 % wildcard that causes all entries in the bibliographic database to be
    361 % included (optional).
     244% Include all uncited entries in the bibliography.
    362245\nocite{*}
    363246
    364 % The \appendix statement indicates the beginning of the appendices.
     247% Begin the appendix, add a title and table of contents entry.
    365248\appendix
    366 % Add a title page before the appendices and a line in the Table of Contents
    367249\chapter*{APPENDICES}
    368250\addcontentsline{toc}{chapter}{APPENDICES}
  • doc/theses/thierry_delisle_PhD/comp_II/comp_II.tex

    rc4fd4ef rbbdb0c6  
    88\usepackage{graphicx}
    99\usepackage{epic,eepic}
    10 \usepackage[hidelinks]{hyperref}
    1110\usepackage{glossaries}
    1211\usepackage{textcomp}
     12\usepackage[hidelinks]{hyperref}
    1313%\usepackage[margin=1in]{geometry}
    1414%\usepackage{float}
     
    151151\begin{table}
    152152        \begin{center}
    153                 \begin{tabular}{|c|c|c|}
    154                         \hline
    155                         & Many Processors & Few Processors \\
     153                \begin{tabular}{|r|l|l|}
     154                        \cline{2-3}
     155                        \multicolumn{1}{r|}{} & \multicolumn{1}{c|}{Many Processors} & \multicolumn{1}{c|}{Few Processors} \\
    156156                        \hline
    157157                        Many Threads & A: good performance & B: good performance \\
     
    260260
    261261
    262 \cleardoublepage
    263 
    264262% B I B L I O G R A P H Y
    265263% -----------------------------
    266 \addcontentsline{toc}{chapter}{Bibliography}
     264\cleardoublepage
     265\phantomsection         % allows hyperref to link to the correct page
     266\addcontentsline{toc}{section}{\refname}
    267267\bibliographystyle{plain}
    268268\bibliography{pl,local}
     269
     270% G L O S S A R Y
     271% -----------------------------
    269272\cleardoublepage
    270273\phantomsection         % allows hyperref to link to the correct page
    271 
    272 % G L O S S A R Y
    273 % -----------------------------
    274 \addcontentsline{toc}{chapter}{Glossary}
     274\addcontentsline{toc}{section}{Glossary}
    275275\printglossary
    276 \cleardoublepage
    277 \phantomsection         % allows hyperref to link to the correct page
    278276
    279277\end{document}
Note: See TracChangeset for help on using the changeset viewer.