updates
[phd-thesis.git] / thesis.tex
1 \documentclass[twoside,10pt]{book}
2
3 \def\mytitle{Orchestrating the Internet of Things\texorpdfstring{\\}{ }with Task-Oriented Programming}
4 \def\mysubtitle{a purely functional rhapsody}
5 \def\myauthor{Mart Lubbers}
6 \def\mydate{\formatdate{31}{12}{2022}}
7
8 \input{preamble}
9
10 % To show hboxes even when in non-draft mode
11 \overfullrule=1pt
12
13 % Just for the todonotes, can go when it's finished
14 \usepackage{todonotes}
15 \setuptodonotes{
16 backgroundcolor=white,
17 linecolor=black,
18 size=tiny,
19 }
20
21 % Document info
22 \title{\mytitle{} --- \mysubtitle{}}
23 \author{Mart Lubbers}
24
25 \date{\mydate}
26
27 \begin{document}
28 \selectlanguage{british}
29
30 \frontmatter%
31 \frontmatterfancy%
32
33 %Titlepage
34 \hypertarget{titlepage}{}
35 \bookmark[level=section,dest=titlepage]{Titlepage}
36 \subfile{front/titlepage}
37 \newpage%
38
39 % Epigraph/motto
40 \hypertarget{motto}{}
41 \bookmark[level=section,dest=motto]{Motto}
42 \subfile{front/motto}
43
44 % Table of contents
45 \setcounter{tocdepth}{1}
46 \hypertarget{contents}{}
47 \bookmark[level=section,dest=contents]{Contents}
48 \tableofcontents
49 \newpage%
50
51 % Dedication
52 \hypertarget{dedication}{}
53 \bookmark[level=section,dest=dedication]{Dedication}
54 \subfile{front/dedication}
55
56 % Reset glossary and thus the acronyms
57 \glsresetall{}
58
59 % The actual document
60 \mainmatter%
61 \mainmatterfancy%
62 \setcounter{chapter}{-1}
63
64 % Introduction
65 \subfile{intro/intro}
66 % DSL
67
68 \part[\'Etude --- Domain-Specific Languages]{\'Etude\\[2ex]\smaller{}Domain-Specific Languages}%
69 \label{prt:dsl}
70 \subfile{dsl/class_deep_embedding} % Deep embedding with class
71 \subfile{dsl/first-class_datatypes} % First-class data types
72
73 \part[Oratorio --- Task-Oriented Programming]{Oratorio\\[2ex]\smaller{}Task-Oriented Programming for the Internet of Things}%
74 \label{prt:top}
75 \subfile{top/top} % MTask tutorial and implementation
76
77 \part[Variations --- Tiered vs.\ Tierless Programming]{Transformation\\[2ex]\smaller{}Tiered vs.\ Tierless Programming}%
78 \label{prt:tvt}
79 \subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
80
81 \bookmarksetup{startatroot} % descend back out of the previous part
82 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
83 \subfile{concl/conclusion}
84
85 % Start appendix
86 \appendix%
87 \label{chp:appendix}
88 \addcontentsline{toc}{part}{Appendix}
89
90 \subfile{appx/clean_for_haskell_programmers}
91 \subfile{appx/mtask_aux}
92 \subfile{appx/bytecode}
93
94 \backmatter%
95 \backmatterfancy%
96 \bookmarksetup{startatroot} % descend back out of the appendix
97
98 % Bibliography
99 \phantomsection{}%
100 \label{chp:bibliography}
101 \addcontentsline{toc}{chapter}{Bibliography}
102 \bibliography{other,self,tiot}
103
104 % Summary
105 \subfile{back/summary}
106
107 % Samenvatting
108 \subfile{back/samenvatting}
109
110 % Acknowledgements
111 \subfile{back/acknowledgements}
112
113 % Research data management
114 \subfile{back/research_data_management}
115
116 % Curriculum vitæ
117 \subfile{back/curriculum_vitae}
118
119 % Glossary
120 \printglossary[style=mcolindex]%
121 \printglossary[type=\acronymtype,style=mcolindex]%
122
123 %% Lists of
124 %\cleardoublepage{}
125 %\phantomsection{}%
126 %\label{chp:listsof...}
127 %\addcontentsline{toc}{chapter}{Lists of \ldots}
128 %\begingroup
129 %\let\clearpage\relax
130 %\let\cleardoublepage\relax
131 %\listoffigures%
132 %\listoftables%
133 %\listofalgorithms%
134 %\lstlistoflistings%
135 %\endgroup
136
137 % Index
138 %\addcontentsline{toc}{chapter}{Index}%
139 %\label{chp:index}
140 %\printindex
141
142 \end{document}