\documentclass[master,english]{hgbthesis}
% Zulässige Class Options: 
%   Typ der Arbeit: diplom, master (default), bachelor, praktikum 
%   Hauptsprache: german (default), english
%%------------------------------------------------------------

% TODO !!! amdahl & gustafson: set samples to 2000+
% TODO !!! edit: appendix b cd-rom / dvd !?
% TODO !!! appendix b add Repo date
% TODO !!! render all images to png
% TODO !!! README windows line breaks!
% TODO !!! "Overfull" grep

\graphicspath{{images/}} % wo liegen die Bilder? 
\bibliography{literature} % Angabe der BibTeX-Datei, % utf8-change

\usepackage{tikz,pgfplots,pgfplotstable}
\pgfplotsset{compat=1.9}
\usetikzlibrary{positioning}

\usepackage{listings} % syntax highlighting

\definecolor{color1}{HTML}{a40000}
\definecolor{color2}{HTML}{3465a4}
\definecolor{color3}{HTML}{ce5c00}
\definecolor{color4}{HTML}{4e9a06}
\definecolor{color5}{HTML}{eeeeec}
\definecolor{color6}{HTML}{2e3436}

\lstnewenvironment{MLCode}[1][] % code environment for ML
{\lstset{
    language=ML,
    keywordstyle=\bfseries\color{color1},
    %identifierstyle=\ttfamily,
    commentstyle=\color{color2},
    stringstyle=\color{color3},
    showstringspaces=false,
    basicstyle=\ttfamily\footnotesize,
    numberstyle=\tiny\ttfamily\color{color6},
    numbers=left,
    numbersep=10pt,
    tabsize=2,
    breaklines=true,
    %prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
    breakatwhitespace=false,
    %aboveskip={1.5\baselineskip},
    columns=fixed,
    upquote=true,
    extendedchars=true,
    % frame=single,
    backgroundcolor=\color{color5},
    %literate=%
    % *{0}{{{\color[rgb]{1,0,0}0}}}1
    %  {1}{{{\color[rgb]{1,0,0}1}}}1
    %  {2}{{{\color[rgb]{1,0,0}2}}}1
    %  {3}{{{\color[rgb]{1,0,0}3}}}1
    %  {4}{{{\color[rgb]{1,0,0}4}}}1
    %  {5}{{{\color[rgb]{1,0,0}5}}}1
    %  {6}{{{\color[rgb]{1,0,0}6}}}1
    %  {7}{{{\color[rgb]{1,0,0}7}}}1
    %  {8}{{{\color[rgb]{1,0,0}8}}}1
    %  {9}{{{\color[rgb]{1,0,0}9}}}1
    escapeinside={/+}{+/},% makes "/+" and "+/" available for Latex escapes (labels etc.)
    #1
}}
{}
\lstdefinelanguage{Scala}{
  morekeywords={abstract,case,catch,class,def,%
    do,else,extends,false,final,finally,%
    for,if,implicit,import,match,mixin,%
    new,null,object,override,package,%
    private,protected,requires,return,sealed,%
    super,this,throw,trait,true,try,%
    type,val,var,while,with,yield},
  otherkeywords={=>,<-,<\%,<:,>:,\#,@},
  sensitive=true,
  morecomment=[l]{//},
  morecomment=[n]{/*}{*/},
  morestring=[b]",
  morestring=[b]',
  morestring=[b]"""
}
\lstnewenvironment{ScalaCode}[2][] % code environment for Scala
{\noindent\minipage{\linewidth}
  \lstset{
    language=Scala,
    keywordstyle=\bfseries\color{color1},
    %identifierstyle=\ttfamily,
    commentstyle=\color{color2},
    stringstyle=\color{color3},
    showstringspaces=false,
    basicstyle=\ttfamily\footnotesize,
    numberstyle=\tiny\ttfamily\color{color6},
    numbers=left,
    numbersep=10pt,
    tabsize=2,
    breaklines=true,
    prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
    breakatwhitespace=false,
    aboveskip={1.5\baselineskip},
    columns=fixed,
    upquote=true,
    extendedchars=true,
    % frame=single,
    backgroundcolor=\color{color5},
    %literate=%
    % *{0}{{{\color[rgb]{1,0,0}0}}}1
    %  {1}{{{\color[rgb]{1,0,0}1}}}1
    %  {2}{{{\color[rgb]{1,0,0}2}}}1
    %  {3}{{{\color[rgb]{1,0,0}3}}}1
    %  {4}{{{\color[rgb]{1,0,0}4}}}1
    %  {5}{{{\color[rgb]{1,0,0}5}}}1
    %  {6}{{{\color[rgb]{1,0,0}6}}}1
    %  {7}{{{\color[rgb]{1,0,0}7}}}1
    %  {8}{{{\color[rgb]{1,0,0}8}}}1
    %  {9}{{{\color[rgb]{1,0,0}9}}}1
    label={#1},
    caption={#2},
    captionpos=b,
    escapeinside={/+}{+/}% makes "/+" and "+/" available for Latex escapes (labels etc.)
}}
{\endminipage}
\renewcommand{\lstlistingname}{Snippet} % Caption name

%\newcommand{\isac}{\texorpdfstring{$\mathcal{I}\mkern-2mu\mathcal{S}\mkern-5mu\mathcal{AC}$}{Isac}}
%\def\sisac{\texorpdfstring{{\footnotesize \isac{}}}{Isac}}
\newcommand{\isac}{\textit{Isac}}
\newcommand{\isabelle}{\textit{Isabelle}}
\newcommand{\imlcode}[1]{{\ttfamily \begin{tabbing}#1\end{tabbing}}}

%%%----------------------------------------------------------
\begin{document}
%%%----------------------------------------------------------

% Einträge für ALLE Arbeiten: --------------------------------
\title{Introducing Parallelism in an Educational Mathematics System Developed in a Functional Programming Language}
\author{Mathias Lehnfeld}
\studiengang{Interactive Media}
\studienort{Hagenberg}
\abgabedatum{2014}{06}{18} % {YYYY}{MM}{DD}
\betreuer{Mag. Volker Christian} % oder \betreuerin{..}
\betreuer{Dr. Walther Neuper} % oder \betreuerin{..}
\firma{
   Institut für Informationssysteme und Computer Medien (IICM)\\
   Fakultät für Informatik - Technische Universität Graz\\
   \\
   Inffeldgasse 16c\\
   8010 Graz - Österreich - Europa
}

%%%----------------------------------------------------------
\frontmatter
\maketitle
\tableofcontents
%%%----------------------------------------------------------

% \include{declaration}
\include{preface}
\include{abstract}
\include{kurzfassung}

%%%----------------------------------------------------------
\mainmatter         % Hauptteil (ab hier arab. Seitenzahlen)
%%%----------------------------------------------------------

\include{introduction}
\include{fundamentals}
\include{funproglangs_mcsystems}
\include{isabelle_isac}
\include{conclusion}

%%%----------------------------------------------------------
%%%Anhang
\appendix
\include{appendix_a}
\include{appendix_b}

%%%----------------------------------------------------------
\MakeBibliography
%%%----------------------------------------------------------

%%%Messbox zur Druckkontrolle
%\include{messbox}

\end{document}
