%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LaTeX Präambel
%
% TODO:
%  - aufräumen
%  - besser strukturieren
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[
    pdftex,
    11pt,               % Schriftgröße
    a4paper,            % Papiergröße
    oneside,
    listof=totoc,       % Abbildungs-/ Tabellenverzeichnis im Inhaltsverzeichnis darstellen
    bibliography=totoc, % Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
    titlepage,          % Titlepage-Umgebung statt \maketitle
    headsepline        % horizontale Linie unter Kolumnentitel
]{scrreprt}

\KOMAoptions{
    parskip=half,       % Halbe Zeile Abstand zwischen Absätzen.
    headings=small,      % Kleine Überschriften
    pagesize=auto
}

\usepackage{scrhack}  % Warnings beseitigen. Andere packages werden für KOMA Script angepasst.
\usepackage{xargs}    % Use more than one optional parameter in a new commands
\usepackage{enumitem} % mehr Optionen bei Aufzählungen

% Encoding, Schriftarten, ...
\usepackage[T1]{fontenc}             % Font Encoding. Hier "westeuropäische Codierung"
\usepackage[utf8]{inputenc}          % UTF-8 codierte Dateien
\usepackage[english, ngerman]{babel} % Setze die Sprache(n) für Rechtschreibung, etc.
                                     % Die letzte Sprache ist die Beginnende.
\usepackage{lmodern}                 % Minimal schönere Schriftarten
\usepackage{courier}                 % "courier" als Schriftart einbinden

% Mathematisches
\usepackage{amsmath}    % Mathematische Zeichensetzung, ...
\usepackage{amsfonts}   % ... Schriften
\usepackage{amssymb,}   % ... und Symbole
\usepackage{MnSymbol}   % ... weitere Symbole
\usepackage{icomma}     % Deutsche Kommas bei Zahlen

% Nützliches
\usepackage[pdftex,dvipsnames]{xcolor}  % Farben, die z.B. für Code verwendet werden
\usepackage[hyphens]{url}               % "schöne" URLs ermöglichen, die auch umgebrochen werden. \url{...}
\usepackage[breaklinks=true]{hyperref}  % Anklickbare URLs und \hypersetup (in Haupt .tex verwendet)
                                        % Enthält auch das "nameref" und "url" package

% Für Theoreme und Sätze. Diese werden automatisch durchnummeriert.
\usepackage{amsthm}
\newtheoremstyle{meinsatzstyle} % name of the style to be used
    {}% measure of space to leave above the theorem. E.g.: 3pt
    {0pt}% measure of space to leave below the theorem. E.g.: 3pt
    {}% name of font to use in the body of the theorem
    {}% measure of space to indent
    {\bfseries\sffamily}% name of head font
    {:}% punctuation between head and body
    {0.5em}% space after theorem head; " " = normal interword space
    {}% Manually specify head

\theoremstyle{meinsatzstyle}
\newcommand{\satzautorefname}{Satz}
\newtheorem{satz}{Satz} % Verwendung mit \begin{satz}

\input{../_latex/kvmacros.tex} % Für KV-Diagramme

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Definition der Kopf- und Fußzeilen
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Paket zum Anpassen von Kopf- und Fußzeilen
\usepackage[plainfootsepline, plainheadsepline, headsepline, footsepline, automark]{scrpage2}

% Kopfzeilenfarbe ändern
\definecolor{SAP blue}{RGB}{15, 70, 167}
\addtokomafont{headsepline}{\color{SAP blue}}

\clearscrheadfoot                               % Löschen von LaTeX Standard
\pagestyle{scrheadings}
\automark[section]{chapter}                     % Füllen von section und chapter
\renewcommand*{\chaptermarkformat}{}            % Entfernt die Kapitelnummer
\renewcommand*{\sectionmarkformat}{}            % Entfernt die Sectionnummer
% Angaben [für "plain"]{für "scrheadings"}
\ihead[\TitelOneLine]{\TitelOneLine}            % Kopfzeile links
\chead[]{}                                      % Kopfzeile mitte
\ohead[]{\rightmark}                            % Kopfzeile rechts
\ofoot[\sffamily\pagemark]{\sffamily\pagemark}  % Fußzeile rechts
\cfoot[]{}                                      % Fußzeile mitte
\ifoot[\Autor]{\Autor}                          % Fußzeile links
\setheadsepline{0.2pt}                          % Liniendicke Kopfzeile
\setfootsepline{0.0pt}                          % Liniendicke Fußzeile


\clubpenalty=10000
\widowpenalty=10000

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Sonstiges
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage[babel,german=quotes]{csquotes}   % Deutsche Anführungszeichen + Zitate
\MakeOuterQuote{"}                           % Automatisch Anführungszeichen oben und unten
\usepackage{setspace}                        % Für Zeilenabstände
\onehalfspacing                              % 1,5-zeilig
\usepackage[printonlyused,withpage]{acronym} % Abkürzungen und Abkürzungsverzeichnis

% Stichwortverzeichnis
\usepackage{imakeidx} % takes care of the call to the makeindex program;
                      % also provides a number of useful options for customization
\makeindex[intoc,options=-s index_style,title=Stichwortverzeichnis] % Stichwortverzeichnis erstellen

% Zeichnen, Bilder | Erlaubt "malen" von Rechtecken, ...
\usepackage{tikz} % Für's "zeichnen"
\usetikzlibrary{  % Andere Symbole, Zusätze, etc.
    arrows,
    petri,
    topaths,
    shadows,
    calc,
    positioning,
    automata
}
\usepackage{circuitikz}             % Für Schaltsymbole
\usetikzlibrary{circuits.logic.IEC} % Europäische Symbole verwenden
\usepackage{tkz-berge}
\usepackage{pgfplots}

\usepackage{wrapfig}    % Bilder, um die Text herumfließt
\usepackage{graphicx}
\usepackage{subcaption} % Für Subfloats

\usepackage[framemethod=tikz]{mdframed} % für Rahmen

\usepackage{booktabs}  % Tabellen
\usepackage{multirow}  % Mehrzeilige Tabellen

\usepackage{cancel}  % Text durchgestrichen (siehe https://ewgeny.wordpress.com/2012/01/14/unterstreichen-und-durchstreichen-von-text-in-latex/)
\usepackage{ulem}    % Für unterschlängelten Text mit \uwave{@}
\usepackage{pifont}  % Zeichen http://ctan.mirrors.hoobly.com/macros/latex/required/psnfss/psnfss2e.pdf
\usepackage{eurosym} % Euro Symbol
\DeclareUnicodeCharacter{20AC}{\euro} % Damit € auch im Code verwendet werden kann.
\DeclareUnicodeCharacter{1E9E}{\MakeUppercase{\ss}}

\usepackage{float}   % Floats | z.B. Text umfließt Bild
\usepackage{paracol} % Für parallelen Text; mehrere Spalten

\usepackage{pdflscape} % Um einzelne Seiten zu drehen:
\usepackage{pdfpages}  % PDF Seiten einbette

\usepackage[pict2e]{struktex} % Strukogramme / Nassi-Shneiderman-Diagramme
\usepackage{pgf-umlsd}        % Sequenzdiagramme | z.B. für UML Sequenzdiagramme

%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Verzeichnisse
%%
%%%%%%%%%%%%%%%%%%%%%%%%

% Fürs Inhaltsverzeichnis
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % for chapters

% Bibliographie (auch für das Inhaltsverzeichnis
\usepackage[
    backend=biber,
    language=auto,
    %bib
    style=alphabetic,
    %citestyle=authoryear-ibid,
    sorting=nyt,
    defernumbers=true
]{biblatex}

%% Quellcode
\usepackage{listings} % Datstellung von Quellcode mit den Umgebungen
                      % {lstlisting}, \lstinline und \lstinputlisting

\renewcommand\lstlistlistingname{Listingsverzeichnis}
\input{../_latex/listings.tex} % Geht von der Hauptdatei aus. Deshalb ".."

%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Design
%%
%%%%%%%%%%%%%%%%%%%%%%%%

\usepackage[left=2.1cm,right=2.8cm, top=2.75cm, bottom=2.5cm,foot=1cm]{geometry} % Seitenränder und Abstände
%\usepackage[margin=2.75cm,foot=1cm,showframe,showcrop]{geometry} % Ränder anzeigen lassen. Für's debugging

\renewcommand*{\chapterheadstartvskip}{\vspace*{0cm}}
\renewcommand*{\chapterheadendvskip}{\vspace{5mm}}

\newcommand{\notizbreite}{5cm}

% Einige eigene Umgebungen für Hinweis-Boxen
\newmdenv[
    linecolor=green!40,
    backgroundcolor=green!10,
    linewidth=2pt,
    hidealllines=true,
    leftline=true,
    frametitle=Hinweis,
    frametitlebackgroundcolor=green!40
]{Hinweis}

\newmdenv[
    linecolor=red!40,
    backgroundcolor=red!10,
    linewidth=2pt,
    hidealllines=true,
    leftline=true,
    frametitle=Achtung,
    frametitlebackgroundcolor=red!40
]{Achtung}

\newmdenv[
    linecolor=blue!40,
    backgroundcolor=blue!10,
    linewidth=2pt,
    hidealllines=true,
    leftline=true,
    frametitle=Tipp,
    frametitlebackgroundcolor=blue!40
]{Tipp}

\newmdenv[
    linecolor=yellow!40,
    backgroundcolor=yellow!10,
    linewidth=2pt,
    hidealllines=true,
    leftline=true,
    frametitle=Fehler,
    frametitlebackgroundcolor=yellow!40
]{Fehler}

% Für TODO Notizen
\usepackage[colorinlistoftodos,prependcaption,textsize=tiny]{todonotes}
\newcommandx{\unsure}[2][1=]{\todo[linecolor=red,backgroundcolor=red!25,bordercolor=red,#1]{#2}}
%\newcommandx{\change}[2][1=]{\todo[linecolor=blue,backgroundcolor=blue!25,bordercolor=blue,#1]{#2}}
\newcommandx{\info}[2][1=]{\todo[linecolor=OliveGreen,backgroundcolor=OliveGreen!25,bordercolor=OliveGreen,#1]{#2}}
\newcommandx{\improvement}[2][1=]{\todo[linecolor=Plum,backgroundcolor=Plum!25,bordercolor=Plum,#1]{#2}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Fachübergreifende Angaben
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\DHBWLogoDeckblatt}{\includegraphics[width=3cm]{../_latex/logo_dhbw}}
\newcommand{\Studiengang}{Angewandte Informatik}

%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Hilfreiches
%%
%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\zB}{z.\,B. }
\newcommand{\dash}{d.\,h. }
\newcommand{\idR}{i.\,d.\,R. }
\newcommand{\uA}{u.\,a. } % weil ich es hier und da falsch hatte...
\newcommand{\ua}{u.\,a. }

\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}} % Für römische Zahlen \RNum{5} ergibt V

\newcommand{\pfad}[1]{\textsf{#1}}
\newcommand{\code}[1]{\texttt{#1}}

% Vernünftiges Circa Zeichen (die Tilde ~); Verwendung: \circa{Wort}
\newcommand{\circa}{$\scriptstyle\mathtt{\sim}$}

\newcommand{\cmark}{\ding{51}} % checkmark
\newcommand{\xmark}{\ding{55}} % x-mark

% Irgendwie wird hier das Highlighting in TexMaker verkackt...
\newcommand{\html}[1]{\lstinline[language=HTML5,basicstyle=\ttfamily]{#1}}
\newcommand{\xml}[1]{\lstinline[language=XML,basicstyle=\ttfamily]{#1}}
\newcommand{\svg}[1]{\lstinline[language=XML,basicstyle=\ttfamily]{#1}}
\newcommand{\css}[1]{\lstinline[language=CSS,basicstyle=\ttfamily]{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Infos
%%
%%%%%%%%%%%%%%%%%%%%%%%%

% Für die Mitschriften
\newcommand{\Autor}{Andre Meyering}
\newcommand{\Kursbezeichnung}{TINF16B2}
