%!TEX root = ./main.tex

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

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

% Anhang inklusive Anhangsverzeichnis
\usepackage{tocvsec2}
\usepackage{titletoc}
\newenvironment{custom_appendix}{%
  % normale Zeilenabstände
  \singlespacing
  % keine Einträge mehr im Abbildungs-/Tabellenverzeichnis
  \captionsetup{list=no}
  % ab hier keine Einträge mehr im Inhaltsverzeichnis - dafür haben wir das Anhangverzeichnis
  \addtocontents{toc}{\string\setcounter{tocdepth}{0}}
  \renewcommand{\thechapter}{\MakeUppercase{\Alph{chapter}}}%
  \setcounter{chapter}{1}
  \addchap{Anhang}
  \startcontents
  \section*{Anhangsverzeichnis}
  \printcontents{l}{1}{\setcounter{tocdepth}{2}}
  \addtocontents{ptc}{\string\setcounter{tocdepth}{2}}
  \newpage
}{
  
  \stopcontents
  \renewcommand{\thechapter}{\arabic{chapter}}%
  \setcounter{chapter}{1}
}

% 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}

% diagonal unterteilte Tabellencellen
\usepackage{diagbox}

% Tabellenzellen über mehrere Reihen oder Spalten
\usepackage{multirow}

% \multicolumn vernünftig in tabularx nutzen - siehe https://tex.stackexchange.com/questions/236155/tabularx-and-multicolumn
\newcommand{\tabularxmulticolumn}[3] 
    {\multicolumn{#1}
                 {>{\hsize=\dimexpr#1\hsize+#1\tabcolsep+\arrayrulewidth\relax}#2}
                 {#3}}

% Möglichkeit für Zeilenumbrüche in Tabellen
\usepackage{makecell}

% Tabellen im Querformat
\usepackage{rotating}

% mehr Zeilenabstand in Tabellen
\renewcommand{\arraystretch}{1.4}

% Für die Befehle \toprule, \midrule und \bottomrule, z.B. in Tabellen 
\usepackage{booktabs}
% vertikale Abstände entfernen - siehe https://tex.stackexchange.com/questions/381718/how-to-remove-the-space-after-midrule-in-a-table
\aboverulesep = 0mm
\belowrulesep = 0mm

% mehrseitige Tabellen
\usepackage{longtable}

% Farben in Tabellenzeilen
\usepackage[table]{xcolor}
\definecolor{tableshadow}{RGB}{240,240,240}

% Tabellen aus CSV
\usepackage{csvsimple}

% 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}

% bessere Konfiguration + Referenzen auf enums und items
\usepackage{enumitem}

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

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

% 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}} }

% Nacro für Hinweise unter Abbildungen und Tabellen
\newcommand{\hint}[1]{\vspace{-.5\topsep}\caption*{\textsf{\textbf{Hinweis:}} \textsf{#1}} }

% Abbildungen am exakten Ort platzieren
\usepackage{float}

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

% Zitate und Quellenverzeichnis
\usepackage[
    style=authoryear-ibid,
    giveninits=false,
    natbib=true,
    urldate=long,
    url=true,
    date=long,
    dashed=false,
    maxcitenames=2,
    maxbibnames=99,
    backend=biber,
    autocite=footnote,
    uniquelist=false,
    ibidpage=true,
    citetracker=true
]{biblatex}
\addbibresource{library/library.bib}
\DeclareLabeldate{
  \field{year}
  \field{date}
  \field{eventdate} 
  \field{origdate}
  \literal{nodate}
}
\AtEveryBibitem{
  \ifentrytype{book}{
    \clearfield{url}
    \clearfield{urldate}
    \clearfield{urlyear}
    \clearfield{urlmonth}
    \clearfield{urlday}
  }{}
  \ifentrytype{article}{
    \clearfield{url}
    \clearfield{urldate}
    \clearfield{urlyear}
    \clearfield{urlmonth}
    \clearfield{urlday}
  }{}
  \ifentrytype{inproceedings}{
    \clearfield{url}
    \clearfield{urldate}
    \clearfield{urlyear}
    \clearfield{urlmonth}
    \clearfield{urlday}
  }{}
  \ifentrytype{incollection}{
    \clearfield{url}
    \clearfield{urldate}
    \clearfield{urlyear}
    \clearfield{urlmonth}
    \clearfield{urlday}
  }{}
}

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

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

% 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[chapter,newfloat]{minted}

\setminted{
  linenos=true,
  frame=lines,
  baselinestretch=1,
  breaklines=true,
  breakautoindent=true,
  fontsize=\small
}

\newenvironment{code}{\captionsetup{type=listing}}{}
\SetupFloatingEnvironment{listing}{name=Listing,listname=Listingverzeichnis}

% Fußnoten durchnummerieren
\usepackage{chngcntr}
\counterwithout{footnote}{chapter}

% UTF8-Zeichen für math-Umgebung
\usepackage{amsmath}

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

% Pandoc Integration
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

% PDF Input
\usepackage{pdfpages}

% Seiten im Querformat - wir wollen nicht pdflscape benutzen, da es komplette Seiten im PDF ins Querformat legt, was zu Problemen beim Druck führt (siehe https://texblog.org/2007/11/10/landscape-in-latex/)
\usepackage{lscape}

% schickere \quotes
\usepackage{framed}
\renewenvironment{quote}{
  \FrameSep3pt
  \def\FrameCommand{%
    \hspace{12pt} % defaults to font size
    {\color{black}\vrule width \heavyrulewidth}%
    {\color{tableshadow}\vrule width 3pt}%
    \colorbox{tableshadow}%
  }
  \vspace{-.25\topsep}
  \MakeFramed{\advance\hsize-\width\FrameRestore}
}
{\endMakeFramed \vspace{-.75\topsep}}
