X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=thesis.pre;h=86a48891b8ae76545e856ae88b8c5fed3fde4c8e;hb=4bb4ae51e1199aa618d8765b0bc429fba9055140;hp=bb610fb262caf1c39ce16b85e84808d2759f46a3;hpb=b0fc85be57e369c5a04adaba4d6920a59d3d36e2;p=msc-thesis1617.git diff --git a/thesis.pre b/thesis.pre index bb610fb..86a4889 100644 --- a/thesis.pre +++ b/thesis.pre @@ -1,34 +1,63 @@ -\documentclass[a4paper]{book} - -\usepackage[british]{babel} +\documentclass[twoside,a4paper,titlepage]{book} \usepackage{geometry} % Papersize +\usepackage[british]{babel} % Internationalization \usepackage[titletoc]{appendix} % Appendices -\usepackage{rutitlepage/rutitlepage} % Titlepage \usepackage{hyperref} % Hyperlinks \usepackage{booktabs} % Better looking tables -\usepackage{todonotes} % Todo's \usepackage{caption} % Captions \usepackage{subcaption} % Subcaptions -\usepackage{lipsum} % dummy text \usepackage{listings} % source code \usepackage{float} % floating images +\usepackage{lmodern} % Better teletype fonts +\usepackage{textcomp} % Nice listings quotes +\usepackage{pgf-umlsd} % Connection diagrams +\usepackage{graphicx} % Graphics +\usepackage{epstopdf} % Eps graphics +\usepackage{etoolbox} % Patch chapter command + +% Fix fonts +\normalfont +\DeclareFontShape{OT1}{lmr}{bx}{sc} { <-> ssub * lmr/bx/n }{} + +% Have better page numbering in chapters +\patchcmd{\chapter}{plain}{headings}{}{} + +% Arrows for communication diagrams +\usetikzlibrary{arrows,shadows} +% Images directory \graphicspath{{img/}} -\urlstyle{same} +% Fix list of listings title +\renewcommand{\lstlistlistingname}{List of Listings} + +% Fix list of listings chapter separator +\makeatletter +\let\my@chapter\@chapter +\renewcommand*{\@chapter}{% + \addtocontents{lol}{\protect\addvspace{10pt}}% + \my@chapter} +\makeatother + +% Always have url in teletype +\urlstyle{tt} + +% Setup pdf parameters \hypersetup{% - pdftitle={iTasks and the Internet of Things}, + pdftitle={Task Oriented Programming and the Internet of Things}, pdfauthor={Mart Lubbers}, - pdfsubject={iTasks and the Internet of Things}, + pdfsubject={Task Oriented Programming and the Internet of Things}, pdfcreator={Mart Lubbers}, pdfproducer={Mart Lubbers}, pdfkeywords={TOP,iTasks,Clean,Function Programming,IoT}, hidelinks=true } +% Fix gls in hyperlink errors \pdfstringdefDisableCommands{% \def\acrlong#1{}% + \def\acrlongpl#1{}% \def\acrshort#1{}% \def\acrfull#1{}% \def\gls#1{}% @@ -37,10 +66,11 @@ \def\Glspl#1{}% } +% Clean language spec for listings \lstdefinelanguage{Clean}{% alsoletter={ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_`1234567890}, alsoletter={~!@\#$\%^\&*-+=?<>:|\\.}, - morekeywords={generic,implementation,definition,dynamic,module,import,from,where,in,of,case,let,infix,infixr,infixl,class,instance,with,if,derive}, + morekeywords={generic,implementation,definition,dynamic,module,import,from,where,in,of,case,let,infix,infixr,infixl,class,instance,with,if,derive,::}, sensitive=true, morecomment=[l]{//}, morecomment=[n]{/*}{*/}, @@ -50,60 +80,41 @@ basewidth=0.45em, columns=[c]fixed, texcl=true, + upquote=true, literate=% % Basic Clean constructs {\\}{{$\lambda\:$}}1 {A.}{{$\forall\;\,$}}1 {E.}{{$\exists\;\,$}}1 - {>}{{$>$}}1 - {<}{{$<$}}1 - {<=}{{$\leq$}}1 - {>=}{{$\geq$}}1 - {<>}{{$\neq$}}1 - {->}{{$\rightarrow$}}2 - {<-}{{$\leftarrow$}}1 - {=}{{$=$}}1 - {~}{{$\sim$}}1 - {\#}{{$\sharp$}}1 - {\{|}{{$\{\!|\!$}}1 - {|\}}{{$\!|\!\}$}}1 - {:=}{{$:=$}}2 - {==}{{$==$}}2 - {++}{{$+\!\!+$}}2 - {+++}{{$+\!\!\!\!+\!\!\!\!+$}}2 - {:==}{{$:==$}}3 - {\{|*|\}}{{$\{\!|\!\!\star\!\!|\!\}$}}3 - % - % Basic iTask constructs - {>||>}{{$\triangleright\triangleright$}}2 - {>>=}{{\texttt{>>=}}}3 - {>>|}{{\texttt{>>|}}}3 - {?>>}{{\texttt{?>>}}}3 - {!>>}{{\texttt{!>>}}}3 - {-||-}{{\texttt{-||-}}}4 - {.||.}{{\texttt{.||.}}}4 - {.&&.}{{\texttt{.\&\&.}}}4 + {*}{{$^*$}}1 } -\newcommand{\CI}[1]{\lstinline[language=Clean]|#1|} +% Handy shortcut for inline Clean code +\newcommand{\CI}[1]{\lstinline[language=Clean,basicstyle=\ttfamily\fontseries{l}\normalsize]|#1|} +% General listings settings \lstset{% - breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace - breaklines=true, % sets automatic line breaking - captionpos=b, % sets the caption-position to bottom - keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible) - basicstyle=\footnotesize, % the size of the fonts that are used for the code - commentstyle=\itshape, % comment style - keywordstyle=\bfseries, % keyword style - stringstyle=\ttfamily, % string literal style - showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces' - showstringspaces=false, % underline spaces within strings only - showtabs=false, % show tabs within strings adding particular underscores - tabsize=4, % sets default tabsize to 2 spaces - frame=L + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + basicstyle=\ttfamily\fontseries{l}\footnotesize, + commentstyle=\slshape\fontseries{m}, + keywordstyle=\bfseries\fontseries{b}, + stringstyle=\ttfamily, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=4, + frame=L, + language=Clean } -\title{iTasks and the Internet of Things} +% Increase the depth for the table of contenst +\setcounter{secnumdepth}{3} + +% Document info +\title{Task Oriented Programming and the Internet of Things} \author{Mart Lubbers BSc.\\ {\small\href{mailto:mart@martlubbers.net}{mart@martlubbers.net}}} \date{\today}