more updates, slight restructure
[phd-thesis.git] / thesis.tex
1 \documentclass[twoside,10pt]{book}
2
3 \def\mytitle{Orchestrating the Internet of Things 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=1mm
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=scriptsize,
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 \subfile{frontmatter/titlepage}
35 \newpage%
36
37 % Epigraph/motto
38 \subfile{frontmatter/motto}
39
40 % Table of contents
41 %\setcounter{tocdepth}{1}
42 \tableofcontents
43 \todo{reduce tocdepth to 1 before finishing}
44 \newpage%
45
46 % Dedication
47 \subfile{frontmatter/dedication}
48
49 \listoftodos%
50
51 % Reset glossary and thus the acronyms
52 \glsresetall{}
53
54 % The actual document
55 \mainmatter%
56 \mainmatterfancy%
57 \setcounter{chapter}{-1}
58
59 % Introduction
60 \subfile{introduction/introduction}
61 % DSL
62
63 \mypart{prt:dsl}{Prelude}{Domain-Specific Languages}%
64
65 % DSL Techniques
66 \subfile{domain-specific_languages/dsl_techniques}
67
68 % Deep embedding with class
69 \subfile{domain-specific_languages/class_deep_embedding}
70
71 % First-class data types
72 \subfile{domain-specific_languages/first-class_datatypes}
73
74 % Stack computations?
75 \subfile{domain-specific_languages/strongly-typed_multi-view_stack-based_computations}
76
77 \mypart{prt:top}{Exposition}{Task-Oriented Programming for the Internet of Things}%
78
79 \subfile{mtask/mtask}
80
81 \mypart{prt:tvt}{Transformation}{Tiered vs.\ tierless programming}%
82
83 \subfile{tiered_vs._tierless_programming/smart_campus}
84
85 \bookmarksetup{startatroot} % descend back out of the previous part
86 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
87 \subfile{conclusion/conclusion}
88
89 % Start appendix
90 \appendix%
91 \label{chp:appendix}
92 \addcontentsline{toc}{part}{Appendix}
93
94 \subfile{appendix/clean_for_haskell_programmers}
95 \subfile{appendix/bytecode}
96
97 \backmatter%
98 \backmatterfancy%
99 \bookmarksetup{startatroot} % descend back out of the appendix
100
101 % Bibliography
102 \phantomsection{}%
103 \label{chp:bibliography}
104 \addcontentsline{toc}{chapter}{Bibliography}
105 \bibliography{other,self}
106
107 % Summary
108 \subfile{backmatter/summary}
109
110 % Samenvatting
111 \subfile{backmatter/samenvatting}
112
113 % Acknowledgements
114 \subfile{backmatter/acknowledgements}
115
116 % Research data management
117 \subfile{backmatter/research_data_management}
118
119 % Curriculum vitæ
120 \subfile{backmatter/curriculum_vitae}
121
122 % Glossary
123 \addcontentsline{toc}{chapter}{Glossary}%
124 \label{chp:glossaries}
125 \printglossaries%
126
127 % Lists of
128 \cleardoublepage{}
129 \phantomsection{}%
130 \label{chp:listsof...}
131 \addcontentsline{toc}{chapter}{Lists of \ldots}
132 \begingroup
133 \let\clearpage\relax
134 \let\cleardoublepage\relax
135 \listoffigures%
136 %\listoftables%
137 %\listofalgorithms%
138 %\lstlistoflistings%
139 \endgroup
140
141 % Index
142 %\addcontentsline{toc}{chapter}{Index}%
143 %\label{chp:index}
144 %\printindex
145
146 \end{document}