Merge branch 'master' of git.martlubbers.net:msc-thesis1617
[msc-thesis1617.git] / thesis.pre
1 \documentclass[twoside,a4paper,titlepage]{book}
2
3
4 \usepackage{geometry} % Papersize
5 \usepackage[british]{babel} % Internationalization
6 \usepackage[titletoc]{appendix} % Appendices
7 \usepackage{hyperref} % Hyperlinks
8 \usepackage{booktabs} % Better looking tables
9 \usepackage{caption} % Captions
10 \usepackage{subcaption} % Subcaptions
11 \usepackage{listings} % source code
12 \usepackage{float} % floating images
13 \usepackage{lmodern} % Better teletype fonts
14 \usepackage{textcomp} % Nice listings quotes
15 \usepackage{pgf-umlsd} % Connection diagrams
16 \usepackage{graphicx} % Graphics
17 \usepackage{epstopdf} % Eps graphics
18 \usepackage{etoolbox} % Todo notes
19
20 \patchcmd{\chapter}{plain}{headings}{}{}
21
22 \usetikzlibrary{arrows,shadows}
23
24 \graphicspath{{img/}}
25
26 \urlstyle{tt}
27 \hypersetup{%
28 pdftitle={Task Oriented Programming and the Internet of Things},
29 pdfauthor={Mart Lubbers},
30 pdfsubject={Task Oriented Programming and the Internet of Things},
31 pdfcreator={Mart Lubbers},
32 pdfproducer={Mart Lubbers},
33 pdfkeywords={TOP,iTasks,Clean,Function Programming,IoT},
34 hidelinks=true
35 }
36
37 \pdfstringdefDisableCommands{%
38 \def\acrlong#1{}%
39 \def\acrlongpl#1{}%
40 \def\acrshort#1{}%
41 \def\acrfull#1{}%
42 \def\gls#1{}%
43 \def\glspl#1{}%
44 \def\Gls#1{}%
45 \def\Glspl#1{}%
46 }
47
48 \lstdefinelanguage{Clean}{%
49 alsoletter={ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_`1234567890},
50 alsoletter={~!@\#$\%^\&*-+=?<>:|\\.},
51 morekeywords={generic,implementation,definition,dynamic,module,import,from,where,in,of,case,let,infix,infixr,infixl,class,instance,with,if,derive,::},
52 sensitive=true,
53 morecomment=[l]{//},
54 morecomment=[n]{/*}{*/},
55 morestring=[b]",
56 morestring=[b]',
57 emptylines=1,
58 basewidth=0.45em,
59 columns=[c]fixed,
60 texcl=true,
61 upquote=true,
62 literate=%
63 % Basic Clean constructs
64 {\\}{{$\lambda\:$}}1
65 {A.}{{$\forall\;\,$}}1
66 {E.}{{$\exists\;\,$}}1
67 {*}{{$^*$}}1
68 % {>}{{$>$}}1
69 % {<}{{$<$}}1
70 % {<=}{{$\leq$}}1
71 % {>=}{{$\geq$}}1
72 % {<>}{{$\neq$}}1
73 % {->}{{$\rightarrow$}}2
74 % {<-}{{$\leftarrow$}}1
75 % {=}{{$=$}}1
76 % {~}{{$\sim$}}1
77 % {\#}{{$\sharp$}}1
78 % {\{|}{{$\{\!|\!$}}1
79 % {|\}}{{$\!|\!\}$}}1
80 % {:=}{{$:=$}}2
81 % {==}{{$==$}}2
82 % {++}{{$+\!\!+$}}2
83 % {+++}{{$+\!\!\!\!+\!\!\!\!+$}}2
84 % {:==}{{$:==$}}3
85 % {\{|*|\}}{{$\{\!|\!\!\star\!\!|\!\}$}}3
86 %
87 % Basic iTask constructs
88 % {>||>}{{$\triangleright\triangleright$}}2
89 % {>>=}{{\texttt{>>=}}}3
90 % {>>|}{{\texttt{>>|}}}3
91 % {?>>}{{\texttt{?>>}}}3
92 % {!>>}{{\texttt{!>>}}}3
93 % {-||-}{{\texttt{-||-}}}4
94 % {.||.}{{\texttt{.||.}}}4
95 % {.&&.}{{\texttt{.\&\&.}}}4
96 }
97
98 \newcommand{\CI}[1]{\lstinline[language=Clean,basicstyle=\ttfamily\fontseries{l}\normalsize]|#1|}
99
100 \lstset{%
101 breakatwhitespace=false,
102 breaklines=true,
103 captionpos=b,
104 keepspaces=true,
105 basicstyle=\ttfamily\fontseries{l}\footnotesize,
106 commentstyle=\itshape\fontseries{m},
107 keywordstyle=\bfseries\fontseries{b},
108 stringstyle=\ttfamily,
109 showspaces=false,
110 showstringspaces=false,
111 showtabs=false,
112 tabsize=4,
113 frame=L,
114 language=Clean
115 }
116
117 \setcounter{secnumdepth}{4}
118
119 \title{Task Oriented Programming and the Internet of Things}
120 \author{Mart Lubbers BSc.\\
121 {\small\href{mailto:mart@martlubbers.net}{mart@martlubbers.net}}}
122 \date{\today}