directory structure
[phd-thesis.git] / thesis.tex
index 1c60e5e..930e1de 100644 (file)
-\documentclass[b5paper]{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[disable]{todonotes}
+\setuptodonotes{
+       backgroundcolor=white,
+       linecolor=black,
+       size=scriptsize,
+}
+%\newcommand{\todo}[2][1]{1}
+%\newcommand{\listoftodos}{}
+
 % Document info
-\title{Some title}
-\author{Some author\\
-       {\small\href{mailto:mail@example.com}{mail@example.com}}}
+\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}
-
-%Abstract
-\chapter*{\centering Abstract}%
-\label{chp:abstract}
-\addcontentsline{toc}{chapter}{Abstract}
-\begin{quotation}
-       \centering\noindent
-       \input{abstract}
-\end{quotation}
-
-%Acknowledgements
-\chapter*{\centering Acknowledgements}%
-\label{chp:acknowledgements}
-\addcontentsline{toc}{chapter}{Acknowledgements}
-\begin{quotation}
-       \centering\it\noindent
-       \input{acknowledgements}
-\end{quotation}
+\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[Prelude: Domain-Specific Languages]{Prelude:\\[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[Exposition: Task-Oriented Programming]{Exposition:\\[2ex]\smaller{}Task-Oriented Programming for the Internet of Things}%
+\label{prt:top}
+\subfile{top/mtask} % MTask tutorial and implementation
+
+\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?
 
-\chapter{Example}%
-\label{chp:example}
-\input{example}
+\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}
+\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}
-\printglossaries%
+\printglossary%
+%\printglossary[type=\acronymtype,style=mcolindex]%
+\printglossary[type=\acronymtype]%
+
+%% Lists of
+%\cleardoublepage{}
+%\phantomsection{}%
+%\label{chp:listsof...}
+%\addcontentsline{toc}{chapter}{Lists of \ldots}
+%\begingroup
+%\let\clearpage\relax
+%\let\cleardoublepage\relax
+%\listoffigures%
+%\listoftables%
+%\listofalgorithms%
+%\lstlistoflistings%
+%\endgroup
 
 % Index
-\addcontentsline{toc}{chapter}{Index}%
-\label{chp:index}
-\printindex
-
-% Lists of
-\cleardoublepage{}
-\phantomsection{}%
-\label{chp:listsof...}
-\addcontentsline{toc}{chapter}{Lists of \ldots}
-\begingroup
-\let\clearpage\relax
-\let\cleardoublepage\relax
-\listoffigures%
-\listoftables%
-\listofalgorithms%
-\lstlistoflistings%
-\endgroup
+%\addcontentsline{toc}{chapter}{Index}%
+%\label{chp:index}
+%\printindex
 
 \end{document}