%!TEX root = ../main.tex

\documentclass[
  paper=A4,
  fontsize=12pt,
  parskip=half,
  headsepline,
  listof=totoc,
  draft=false,
  headings=small,
  oneside,
  final
]{scrbook}

% Seitenränder
\usepackage[
  left=40mm,
  right=20mm,
  top=25mm,
  bottom=25mm
]{geometry}

% Reduzierung der Abstände zwischen Überschriften und Text
\RedeclareSectionCommand[afterskip=.0001\baselineskip]{section}
\RedeclareSectionCommand[afterskip=.0001\baselineskip]{subsection}
\RedeclareSectionCommand[afterskip=.0001\baselineskip]{subsubsection}
\RedeclareSectionCommand[beforeskip=.0001\baselineskip]{paragraph}

% Schriftauswahl
\usepackage{fontspec}

% Neue Deutsche Rechtschreibung und Deutsche Standardtexte
\usepackage[ngerman]{babel} 

% 1/2-zeiliger Zeilenabstand
\usepackage[onehalfspacing]{setspace}

% Für die Verwendung von Grafiken
\usepackage{graphicx}

% Bessere Tabellen
\usepackage{tabularx}

% Für die Befehle \toprule, \midrule und \bottomrule, z.B. in Tabellen 
\usepackage{booktabs}

% Erlaubt die Benutzung von Farben
\usepackage{color}

% Links im PDF
\usepackage{hyperref}
\hypersetup{
  colorlinks=false,
  pdfborder={0 0 0},
  pdftitle=\dokumententitel,
  pdfauthor=\dokumentenautor
}

% Verbessertes URL-Handling mit \url{http://...}
\usepackage{url}

% Listen ohne Abstände \begin{compactlist}...\end{compactlist}
\usepackage{paralist}

% Ausgabe der aktuellen Uhrzeit für die Draft-Versionen
\usepackage{datetime}

% Deutsche Anführungszeichen
\usepackage[babel,german=quotes]{csquotes}

% Verbessert das Referenzieren von Kapiteln, Abbildungen etc.
\usepackage[german,capitalise]{cleveref}

% Konfiguration der Abbildungs- und Tabellenbezeichnungen
\usepackage[
  format=hang,
  font={footnotesize, sf},
  labelfont=bf,
  justification=raggedright,
  singlelinecheck=false
]{caption}

% Macro für Quellenangaben unter Abbildungen und Tabellen
\newcommand{\source}[1]{\vspace{-.5\topsep}\caption*{\textsf{\textbf{Quelle:}} \textsf{#1}} }

% Abbildungen am exakten Ort platzieren
\usepackage{float}

% Fußnoten an Überschriften
\usepackage[stable]{footmisc}

% Zitate und Quellenverzeichnis
\usepackage[
    style=authoryear,
    giveninits=false,
    natbib=true,
    urldate=long,
    url=true,
    date=long,
    dashed=false,
    maxcitenames=2,
    maxbibnames=99,
    backend=biber,
    autocite=footnote,
    uniquelist=false
]{biblatex}
\bibliography{library/library}
\DeclareLabeldate{
  \field{date}
  \field{eventdate} 
  \field{origdate}
  \literal{nodate}
}

% Ebenentiefe der Nummerierung
\setcounter{secnumdepth}{3}

% Gliederungstiefe im Inhaltsverzeichnis 
\setcounter{tocdepth}{3}

% Inhaltsverzeichnis ins Inhaltsverzeichnis
\setuptoc{toc}{totoc}

% Tabellen- und Abbildungsverzeichnis mit Bezeichnung
\usepackage[titles]{tocloft}

% Abkürzungen
\usepackage{acronym}

% Bestimmte Warnungen unterdrücken
% siehe http://tex.stackexchange.com/questions/51867/koma-warning-about-toc
\usepackage{scrhack}

% Sourcecode-Listings
\usepackage{listings}

\definecolor{bluekeywords}{rgb}{0.13,0.13,1}
\definecolor{lightbluekeywords}{rgb}{0.13,0.7,1}
\definecolor{greencomments}{rgb}{0,0.5,0}
\definecolor{redstrings}{rgb}{0.9,0,0}

\lstset{language=[Sharp]C,
showspaces=false,
showtabs=false,
breaklines=true,
showstringspaces=false, 
escapeinside={(*@}{@*)},
commentstyle=\color{greencomments},
keywordstyle=[0]\color{bluekeywords}\bfseries,
keywordstyle=[1]\color{lightbluekeywords}\bfseries,
stringstyle=\color{redstrings},
basicstyle=\small\ttfamily,
fontadjust, 
xrightmargin=1mm, 
keywords=[0]{string, int, public, var, static, using, object, void},
keywords=[1]{File,UPFConfig,JsonConvert},
tabsize=2,
lineskip=-0.1em,
frame=tb,
numbers=left,
numberstyle=\tiny,
stepnumber=1,
numbersep=5pt,
escapeinside=||
}

%% http://tex.stackexchange.com/questions/126839/how-to-add-a-colon-after-listing-label
\makeatletter
\begingroup\let\newcounter\@gobble\let\setcounter\@gobbletwo
  \globaldefs\@ne \let\c@loldepth\@ne
  \newlistof{listings}{lol}{\lstlistlistingname}
\endgroup
\let\l@lstlisting\l@listings
\makeatother

\renewcommand*\cftfigpresnum{Abbildung~}
\renewcommand*\cfttabpresnum{Tabelle~}
\renewcommand*\cftlistingspresnum{Listing~}
\renewcommand{\cftfigaftersnum}{:}
\renewcommand{\cfttabaftersnum}{:}
\renewcommand{\cftlistingsaftersnum}{:}
\settowidth{\cftfignumwidth}{\cftfigpresnum 99~\cftfigaftersnum}
\settowidth{\cfttabnumwidth}{\cfttabpresnum 99~\cftfigaftersnum}
\settowidth{\cftlistingsnumwidth}{\cftlistingspresnum 99~\cftfigaftersnum}
\setlength{\cfttabindent}{1.5em}
\setlength{\cftfigindent}{1.5em}
\setlength{\cftlistingsindent}{1.5em}

\renewcommand\lstlistlistingname{Listingverzeichnis}

\makeatletter
\def\l@lstlisting#1#2{\@dottedtocline{1}{0em}{1.5em}{\lstlistingname\space{#1}}{#2}}
\makeatother
