.
[phd-thesis.git] / thesis.tex
index 56b3afd..4d3cc66 100644 (file)
-\documentclass[twopage,10pt]{book}
+\documentclass[twoside,10pt]{book}
+
+\def\mytitle{Orchestrating the Internet of Things with Task-Oriented Programming}
+\def\mysubtitle{a purely functional rhapsody}
+\def\myauthor{Mart Lubbers}
+\def\mydate{\formatdate{31}{12}{2022}}
 
 \input{preamble}
 
+% To show hboxes even when in non-draft mode
+\overfullrule=1mm
+
+% Just for the todonotes, can go when it's finished
+\usepackage{todonotes}
+\setuptodonotes{
+       backgroundcolor=white,
+       linecolor=black,
+       size=tiny,
+}
+%\newcommand{\todo}[2][1]{1}
+%\newcommand{\listoftodos}{}
+
 % Document info
-\title{Some title}
-\author{Some author}
+\title{\mytitle{} --- \mysubtitle{}}
+\author{Mart Lubbers}
 
-% If you want to fix the date: \formatdate{10}{7}{2017}}
-\date{\today}
+\date{\mydate}
 
 \begin{document}
-\frontmatter{}
+\selectlanguage{british}
+
+\frontmatter%
+\frontmatterfancy%
 
 %Titlepage
-\input{titlepage}
+\subfile{front/titlepage}
+\newpage%
+
+% Epigraph/motto
+\subfile{front/motto}
 
 % Table of contents
+\setcounter{tocdepth}{1}
 \tableofcontents
+\todo{to reduce the size: make listings font smaller}
+\newpage%
+
+% Dedication
+\subfile{front/dedication}
 
 % Reset glossary and thus the acronyms
 \glsresetall{}
 
 % The actual document
-\mainmatter{}
+\mainmatter%
+\mainmatterfancy%
+\setcounter{chapter}{-1}
+
+% Introduction
+\subfile{intro/introduction}
+% DSL
+
+\part[\'Etude: Domain-Specific Languages]{\'Etude:\\[2ex]\smaller{}Domain-Specific Languages}%
+\label{prt:dsl}
+\subfile{dsl/dsl_techniques}        % DSL Techniques
+\subfile{dsl/class_deep_embedding}  % Deep embedding with class
+\subfile{dsl/first-class_datatypes} % First-class data types
+
+\part[Oratorio: Task-Oriented Programming]{Oratorio\\[2ex]\smaller{}Task-Oriented Programming for the Internet of Things}%
+\label{prt:top}
+\subfile{top/mtask} % MTask tutorial and implementation
 
-\chapter{Example}%
-\label{chp:example}
-\input{example}
+\part[Transformation: Tiered vs.\ Tierless Programming]{Transformation:\\[2ex]\smaller{}Tiered vs.\ Tierless Programming}%
+\label{prt:tvt}
+\subfile{tvt/tvt} % Could Tierless Languages Reduce IoT Development Grief?
+
+\bookmarksetup{startatroot} % descend back out of the previous part
+\addtocontents{toc}{\bigskip}% Insert some whitespace to make the TOC better
+\subfile{concl/conclusion}
 
 % Start appendix
 \appendix%
 \label{chp:appendix}
-\chapter{An Appendix}%
-\label{chp:an_appendix}
-\input{an_appendix.tex}
+\addcontentsline{toc}{part}{Appendix}
+
+\subfile{appx/clean_for_haskell_programmers}
+\subfile{appx/mtask_aux}
+\subfile{appx/bytecode}
 
 \backmatter%
+\backmatterfancy%
+\bookmarksetup{startatroot} % descend back out of the appendix
+
 % Bibliography
 \phantomsection{}%
 \label{chp:bibliography}
 \addcontentsline{toc}{chapter}{Bibliography}
-\bibliographystyle{plain}
-\bibliography{thesis}
+\bibliography{other,self,tiot}
+
+% Summary
+\subfile{back/summary}
+
+% Samenvatting
+\subfile{back/samenvatting}
+
+% Acknowledgements
+\subfile{back/acknowledgements}
+
+% Research data management
+\subfile{back/research_data_management}
+
+% Curriculum vitæ
+\subfile{back/curriculum_vitae}
+
+% Glossary
+\addcontentsline{toc}{chapter}{Glossary}%
+\label{chp:glossaries}
+\printglossary%
+%\printglossary[type=\acronymtype,style=mcolindex]%
+\printglossary[type=\acronymtype]%
 
 %% Lists of
 %\cleardoublepage{}
 %\lstlistoflistings%
 %\endgroup
 
-% Abstract
-\chapter{Summary}%
-\label{chp:summary}
-\begin{center}
-       \noindent\input{summary}
-\end{center}
-
-% Samenvatting
-\chapter{Samenvatting}%
-\label{chp:samenvatting}
-\begin{center}
-       \noindent\input{samenvatting}
-\end{center}
-
-% Acknowledgements
-\chapter{Acknowledgements}%
-\label{chp:acknowledgements}
-\begin{center}
-       \noindent\input{acknowledgements}
-\end{center}
-
-% Curriculum Vitae
-\chapter{Curriculum Vit\ae}%
-\label{chp:curriculum_vitae}
-\input{curriculum_vitae}
-
-% Glossary
-\addcontentsline{toc}{chapter}{Glossary}%
-\label{chp:glossaries}
-\printglossaries%
-
 % Index
-\addcontentsline{toc}{chapter}{Index}%
-\label{chp:index}
-\printindex
+%\addcontentsline{toc}{chapter}{Index}%
+%\label{chp:index}
+%\printindex
 
 \end{document}