2 \usepackage[utf8
]{inputenc}
18 \usepackage[T1,T2A
]{fontenc}
21 \usepackage[subpreambles=true
]{standalone
}
24 \usepackage{microtype
}
26 % No more room for a new \write
27 \usepackage{morewrites
}
29 % Internationalisation
30 \usepackage[dutch,russian,british
]{babel
}
31 %\babelfont[russian]{rm}{Liberation Serif}
34 % TODO is this necessary?
35 %\usepackage[titletoc]{appendix}
38 %\usepackage[pagebackref]{hyperref}
39 \usepackage[pagebackref
]{hyperref
}
40 % Setup pdf parameters: TODO
43 pdfauthor=
{\myauthor},
47 pdfkeywords=
{task-oriented programming, functional programming, domain specific languages, internet of things
},
52 \includexmp{CC_Attribution-NoDerivatives_4.0_International
}
60 \usepackage{subcaption
}
65 % Automatically wrapping tables
68 % Use a fixed document date
69 \usepackage[nodayofweek
]{datetime
}
72 \usepackage{stmaryrd
} % Short arrow
74 % General listings settings
77 basicstyle=
\linespread{0.9}\tt\footnotesize,
78 breakatwhitespace=false,
83 escapeinside=
{(+
}{+)
},
% chktex 9
87 postbreak=
\mbox{\textcolor{gray
}{$
\hookrightarrow$
}\space},
89 showstringspaces=false,
94 % {a0}{{a\textsubscript{0}}}2
95 % {a1}{{a\textsubscript{1}}}2
96 % {a2}{{a\textsubscript{2}}}2
97 %% {an}{{a\textsubscript{n}}}2
98 % {c0}{{c\textsubscript{0}}}2
99 % {c1}{{c\textsubscript{1}}}2
100 % {c2}{{c\textsubscript{2}}}2
101 % {cn}{{c\textsubscript{n}}}2
102 % {f0}{{f\textsubscript{0}}}2
103 % {f1}{{f\textsubscript{1}}}2
104 % {f2}{{f\textsubscript{2}}}2
105 % {fn}{{f\textsubscript{n}}}2
106 % {t0}{{t\textsubscript{0}}}2
107 % {t1}{{t\textsubscript{1}}}2
108 % {t2}{{t\textsubscript{2}}}2
109 % {tn}{{t\textsubscript{n}}}2
110 % {v0}{{v\textsubscript{0}}}2
111 % {v1}{{v\textsubscript{1}}}2
112 % {v2}{{v\textsubscript{2}}}2
113 % {vn}{{v\textsubscript{n}}}2
114 % {C0}{{C\textsubscript{0}}}2
115 % {C1}{{C\textsubscript{1}}}2
116 % {C2}{{C\textsubscript{2}}}2
117 % {Cn}{{C\textsubscript{n}}}2
118 % {R0}{{R\textsubscript{0}}}2
119 % {R1}{{R\textsubscript{1}}}2
120 % {R2}{{R\textsubscript{2}}}2
121 % {Rn}{{R\textsubscript{n}}}2
123 \usepackage{lstlangclean
}
124 \usepackage{lstlanghaskell
}
125 \newcommand{\cleaninline}[1]{\lstinline[language=Clean,postbreak=
]|
#1|
}
126 \newcommand{\haskellinline}[1]{\lstinline[language=Haskell,style=haskell,postbreak=
]|
#1|
}
127 % Fix list of listings title
128 \renewcommand{\lstlistlistingname}{List of Listings
}
129 % Fix list of listings chapter separator
131 \let\my@chapter\@chapter
%
132 \renewcommand*
{\@chapter
}{%
133 \addtocontents{lol
}{\protect\addvspace{10pt
}}%
137 \lstnewenvironment{lstClean
}[1][]
139 \lstset{language=Clean,
#1}
140 \renewcommand*
{\lstlistingname}{Listing (Clean)
}
143 \lstnewenvironment{lstHaskell
}[1][]
145 \lstset{language=Haskell,style=haskell,
#1}%
146 \renewcommand*
{\lstlistingname}{Listing (Haskell)
}
150 % Glossaries and acronyms
151 \usepackage[acronym,nonumberlist
]{glossaries
}
152 % Fix gls in hyperlink errors
153 \pdfstringdefDisableCommands{%
168 \def\glsentrytext#1{}%
171 \def\Glsentrytext#1{}%
176 \usepackage{titlecaps
}
178 % Titlecase glossary command
179 \newcommand{\glst}[1]{\titlecap{\glsentrylong{#1}}}
180 \newcommand{\Glst}[1]{\glst{#1}}
183 \usepackage[algochapter
]{algorithm2e
}
184 % Fix the algorithm font
185 \renewcommand\AlCapFnt{\normalfont}
192 % Custom enumerations
193 \usepackage[inline,shortlabels
]{enumitem
}
195 \setlist[description
]{leftmargin=
\parindent}
198 \usepackage{epigraph
}
200 % Thumb marks on the page
205 topthumbmargin=
{auto
},
206 bottomthumbmargin=
{auto
},
207 eventxtindent=
{.5cm
},
208 oddtxtexdent=
{.3cm
}]{thumbs
}
210 % Custom headers and footers
211 \usepackage{fancyhdr
}
214 % Tables spanning pages
215 \usepackage{longtable
}
218 \usepackage{cleveref
}
220 % To patch the chapter command
221 \usepackage{etoolbox
}
222 % Have better page numbering in chapters
223 \patchcmd{\chapter}{plain
}{headings
}{}{}
225 % Increase the depth for the table of contents
226 \setcounter{secnumdepth
}{3}
227 \renewcommand{\contentsname}{Table of Contents
} % change the name of the TOC
228 \AtBeginDocument{\addtocontents{toc
}{\protect\thispagestyle{empty
}}} % to remove page numbering from the TOC
230 % Initialize the glossaries
235 \newcommand{\GHCmod}[1]{\texttt{#1}}
236 \newcommand{\requiresGHCmod}[1]{\footnote{Requires
\GHCmod{#1} to be enabled.
}}
237 \newcommand{\etc}{{\fontfamily{cmr
}\selectfont{\itshape\/\&c
}}}
238 \newcommand{\rdmentry}[6]{#1:
#2 (
#3):
#4.
#5.\
\href{https://doi.org/
#6}{#6}}
239 \newcommand{\mlubbers}{Lubbers, M.\ (Radboud University)
}
240 \newcommand{\pkoopman}{Koopman, dr.\ P.\ (Radboud University)
}
241 \newcommand{\rplasmeijer}{Plasmeijer, prof.\ dr.\ ir.\ R.\ (Radboud University)
}
243 \bibliographystyle{alpha
}
245 \usepackage{subfiles
}