directory structure
[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[disable]{todonotes}
15 \setuptodonotes{
16 backgroundcolor=white,
17 linecolor=black,
18 size=scriptsize,
19 }
20 %\newcommand{\todo}[2][1]{1}
21 %\newcommand{\listoftodos}{}
22
23 % Document info
24 \title{\mytitle{} --- \mysubtitle{}}
25 \author{Mart Lubbers}
26
27 \date{\mydate}
28
29 \begin{document}
30 \selectlanguage{british}
31
32 \frontmatter%
33 \frontmatterfancy%
34
35 %Titlepage
36 \subfile{front/titlepage}
37 \newpage%
38
39 % Epigraph/motto
40 \subfile{front/motto}
41
42 % Table of contents
43 \setcounter{tocdepth}{1}
44 \tableofcontents
45 \todo{to reduce the size: make listings font smaller}
46 \newpage%
47
48 % Dedication
49 \subfile{front/dedication}
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{intro/introduction}
61 % DSL
62
63 \part[Prelude: Domain-Specific Languages]{Prelude:\\[2ex]\smaller{}Domain-Specific Languages}%
64 \label{prt:dsl}
65 \subfile{dsl/dsl_techniques} % DSL Techniques
66 \subfile{dsl/class_deep_embedding} % Deep embedding with class
67 \subfile{dsl/first-class_datatypes} % First-class data types
68
69 \part[Exposition: Task-Oriented Programming]{Exposition:\\[2ex]\smaller{}Task-Oriented Programming for the Internet of Things}%
70 \label{prt:top}
71 \subfile{top/mtask} % MTask tutorial and implementation
72
73 \part[Transformation: Tiered vs.\ Tierless Programming]{Transformation:\\[2ex]\smaller{}Tiered vs.\ Tierless Programming}%
74 \label{prt:tvt}
75 \subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
76
77 \bookmarksetup{startatroot} % descend back out of the previous part
78 \addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
79 \subfile{concl/conclusion}
80
81 % Start appendix
82 \appendix%
83 \label{chp:appendix}
84 \addcontentsline{toc}{part}{Appendix}
85
86 \subfile{appx/clean_for_haskell_programmers}
87 \subfile{appx/mtask_aux}
88 \subfile{appx/bytecode}
89
90 \backmatter%
91 \backmatterfancy%
92 \bookmarksetup{startatroot} % descend back out of the appendix
93
94 % Bibliography
95 \phantomsection{}%
96 \label{chp:bibliography}
97 \addcontentsline{toc}{chapter}{Bibliography}
98 \bibliography{other,self,tiot}
99
100 % Summary
101 \subfile{back/summary}
102
103 % Samenvatting
104 \subfile{back/samenvatting}
105
106 % Acknowledgements
107 \subfile{back/acknowledgements}
108
109 % Research data management
110 \subfile{back/research_data_management}
111
112 % Curriculum vitæ
113 \subfile{back/curriculum_vitae}
114
115 % Glossary
116 \addcontentsline{toc}{chapter}{Glossary}%
117 \label{chp:glossaries}
118 \printglossary%
119 %\printglossary[type=\acronymtype,style=mcolindex]%
120 \printglossary[type=\acronymtype]%
121
122 %% Lists of
123 %\cleardoublepage{}
124 %\phantomsection{}%
125 %\label{chp:listsof...}
126 %\addcontentsline{toc}{chapter}{Lists of \ldots}
127 %\begingroup
128 %\let\clearpage\relax
129 %\let\cleardoublepage\relax
130 %\listoffigures%
131 %\listoftables%
132 %\listofalgorithms%
133 %\lstlistoflistings%
134 %\endgroup
135
136 % Index
137 %\addcontentsline{toc}{chapter}{Index}%
138 %\label{chp:index}
139 %\printindex
140
141 \end{document}