add connection diagrams and add todo combinators
[msc-thesis1617.git] / thesis.pre
1 \documentclass[a4paper]{book}
2
3 \usepackage[british]{babel}
4
5 \usepackage{geometry} % Papersize
6 \usepackage[titletoc]{appendix} % Appendices
7 \usepackage{rutitlepage/rutitlepage} % Titlepage
8 \usepackage{hyperref} % Hyperlinks
9 \usepackage{booktabs} % Better looking tables
10 \usepackage{todonotes} % Todo's
11 \usepackage{caption} % Captions
12 \usepackage{subcaption} % Subcaptions
13 \usepackage{lipsum} % dummy text
14 \usepackage{listings} % source code
15 \usepackage{float} % floating images
16 \usepackage{lmodern} % Better teletype fonts
17 \usepackage{textcomp} % Nice listings quotes
18 \usepackage{pgf-umlsd} % Connection diagrams
19
20 \usetikzlibrary{arrows,shadows}
21
22 \graphicspath{{img/}}
23
24 \urlstyle{tt}
25 \hypersetup{%
26 pdftitle={iTasks and the Internet of Things},
27 pdfauthor={Mart Lubbers},
28 pdfsubject={iTasks and the Internet of Things},
29 pdfcreator={Mart Lubbers},
30 pdfproducer={Mart Lubbers},
31 pdfkeywords={TOP,iTasks,Clean,Function Programming,IoT},
32 hidelinks=true
33 }
34
35 \pdfstringdefDisableCommands{%
36 \def\acrlong#1{}%
37 \def\acrlongpl#1{}%
38 \def\acrshort#1{}%
39 \def\acrfull#1{}%
40 \def\gls#1{}%
41 \def\glspl#1{}%
42 \def\Gls#1{}%
43 \def\Glspl#1{}%
44 }
45
46 \lstdefinelanguage{Clean}{%
47 alsoletter={ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_`1234567890},
48 alsoletter={~!@\#$\%^\&*-+=?<>:|\\.},
49 morekeywords={generic,implementation,definition,dynamic,module,import,from,where,in,of,case,let,infix,infixr,infixl,class,instance,with,if,derive,::},
50 sensitive=true,
51 morecomment=[l]{//},
52 morecomment=[n]{/*}{*/},
53 morestring=[b]",
54 morestring=[b]',
55 emptylines=1,
56 basewidth=0.45em,
57 columns=[c]fixed,
58 texcl=true,
59 upquote=true,
60 literate=%
61 % Basic Clean constructs
62 {\\}{{$\lambda\:$}}1
63 {A.}{{$\forall\;\,$}}1
64 {E.}{{$\exists\;\,$}}1
65 % {>}{{$>$}}1
66 % {<}{{$<$}}1
67 % {<=}{{$\leq$}}1
68 % {>=}{{$\geq$}}1
69 % {<>}{{$\neq$}}1
70 % {->}{{$\rightarrow$}}2
71 % {<-}{{$\leftarrow$}}1
72 % {=}{{$=$}}1
73 % {~}{{$\sim$}}1
74 % {\#}{{$\sharp$}}1
75 % {\{|}{{$\{\!|\!$}}1
76 % {|\}}{{$\!|\!\}$}}1
77 % {:=}{{$:=$}}2
78 % {==}{{$==$}}2
79 % {++}{{$+\!\!+$}}2
80 % {+++}{{$+\!\!\!\!+\!\!\!\!+$}}2
81 % {:==}{{$:==$}}3
82 % {\{|*|\}}{{$\{\!|\!\!\star\!\!|\!\}$}}3
83 %
84 % Basic iTask constructs
85 % {>||>}{{$\triangleright\triangleright$}}2
86 % {>>=}{{\texttt{>>=}}}3
87 % {>>|}{{\texttt{>>|}}}3
88 % {?>>}{{\texttt{?>>}}}3
89 % {!>>}{{\texttt{!>>}}}3
90 % {-||-}{{\texttt{-||-}}}4
91 % {.||.}{{\texttt{.||.}}}4
92 % {.&&.}{{\texttt{.\&\&.}}}4
93 }
94
95 \newcommand{\CI}[1]{\lstinline[language=Clean,basicstyle=\ttfamily\fontseries{l}\normalsize]|#1|}
96
97 \lstset{%
98 breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
99 breaklines=true, % sets automatic line breaking
100 captionpos=b, % sets the caption-position to bottom
101 keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
102 basicstyle=\ttfamily\fontseries{l}\footnotesize,% the size of the fonts that are used for the code
103 commentstyle=\itshape\fontseries{m}, % comment style
104 keywordstyle=\bfseries\fontseries{b}, % keyword style
105 stringstyle=\ttfamily, % string literal style
106 showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
107 showstringspaces=false, % underline spaces within strings only
108 showtabs=false, % show tabs within strings adding particular underscores
109 tabsize=4, % sets default tabsize to 2 spaces
110 frame=L
111 }
112
113 \title{iTasks and the Internet of Things}
114 \author{Mart Lubbers BSc.\\
115 {\small\href{mailto:mart@martlubbers.net}{mart@martlubbers.net}}}
116 \date{\today}