814365bfdc1d80f673a5956c35e92305616eb3d0
[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{9}{3}{2023}}
7
8 \input{preamble}
9
10 % To show hboxes even when in non-draft mode
11 %\setlength{\overfullrule}{20pt}
12
13 % Just for the todonotes, can go when it's finished
14 \usepackage{todonotes}
15 \setuptodonotes{
16 backgroundcolor=white,
17 linecolor=black,
18 }
19
20 % Document info
21 \title{\mytitle\texorpdfstring{\\[2ex]}{---}\smaller\mysubtitle}
22 \author{Mart Lubbers}
23 \date{\mydate}
24
25 \begin{document}
26 \begingroup
27 \makeatletter
28 \let\@bibitem\saved@bibitem%
29 \endgroup
30
31 \selectlanguage{british}
32
33 \frontmatter%
34 \frontmatterfancy%
35
36 %Cover
37 \hypertarget{cover}{}
38 \bookmark[level=section,dest=cover]{Cover}
39 \includepdf{img/cover.pdf}
40
41 %Colophon
42 \hypertarget{colophon}{}
43 \bookmark[level=section,dest=colophon]{Colophon}
44 \subfile{front/colophon}
45
46 %Titlepage
47 \hypertarget{titlepage}{}
48 \bookmark[level=section,dest=titlepage]{Titlepage}
49 \subfile{front/titlepage}
50 \cleardoublepage%
51
52 % Epigraph/motto
53 \hypertarget{motto}{}
54 \bookmark[level=section,dest=motto]{Motto}
55 \subfile{front/motto}
56 \cleardoublepage%
57
58 % Table of contents
59 \setcounter{tocdepth}{1}
60 \hypertarget{contents}{}
61 \bookmark[level=section,dest=contents]{Contents}
62 \tableofcontents
63 \cleardoublepage%
64
65 % Dedication
66 \hypertarget{dedication}{}
67 \bookmark[level=section,dest=dedication]{Dedication}
68 \subfile{front/dedication}
69
70 % The actual document
71 \mainmatter%
72 \mainmatterfancy%
73 %\setcounter{chapter}{-1}
74 \glsresetall{} % Reset glossary and thus the acronyms
75
76 % Introduction
77 \subfile{intro/intro}
78
79 \part[\'Etude --- Domain-Specific Languages]{\'Etude\\[2ex]\smaller{}Domain-Specific Languages}%
80 \label{prt:dsl}
81 \subfile{dsl/class} % Deep embedding with class
82 \subfile{dsl/first} % First-class data types
83
84 % Part II
85 \subfile{top/top}
86
87 \part[Tiered versus Tierless Programming]{\\[2ex]\smaller{}Tiered versus Tierless Programming}%
88 \label{prt:tvt}
89 \subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
90
91 % Conclusion
92 \bookmarksetup{startatroot} % descend back out of the previous part
93 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
94 \subfile{coda/coda}
95
96 % Start appendix
97 \appendix%
98 \label{chp:appendix}
99 \addcontentsline{toc}{part}{Appendix}
100
101 \subfile{appx/c4hp}
102 \subfile{appx/mtask_aux}
103 \subfile{appx/bytecode}
104
105 \backmatter%
106 \backmatterfancy%
107 \bookmarksetup{startatroot} % descend back out of the appendix
108
109 % Bibliography
110 \phantomsection{}%
111 \label{chp:bibliography}
112 \addcontentsline{toc}{chapter}{Bibliography}
113 \renewbibmacro*{begentry}{\midsentence}
114 \printbibliography%
115
116 % Summary
117 \subfile{back/summary}
118
119 % Samenvatting
120 \subfile{back/samenvatting}
121
122 % Acknowledgements
123 \subfile{back/acknowledgements}
124
125 % Research data management
126 \subfile{back/research_data_management}
127
128 % Curriculum vitæ
129 \subfile{back/curriculum_vitae}
130
131 % Glossary
132 \printglossary[style=mcolindex]%
133
134 %% Lists of
135 %\cleardoublepage{}
136 %\phantomsection{}%
137 %\label{chp:listsof...}
138 %\addcontentsline{toc}{chapter}{Lists of \ldots}
139 %\begingroup
140 %\let\clearpage\relax
141 %\let\cleardoublepage\relax
142 %\listoffigures%
143 %\listoftables%
144 %\listofalgorithms%
145 %\lstlistoflistings%
146 %\endgroup
147
148 % Index
149 %\addcontentsline{toc}{chapter}{Index}%
150 %\label{chp:index}
151 %\printindex
152
153 \listoftodos%
154
155 \end{document}