From 4c368a27800900e5c3afd3e03d43d6d379bc471a Mon Sep 17 00:00:00 2001
From: Soispha <soispha@vhack.eu>
Date: Sun, 18 Jun 2023 17:00:18 +0200
Subject: Feat(latex): Init

---
 latex/headers/preamble.tex | 268 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 268 insertions(+)
 create mode 100644 latex/headers/preamble.tex

(limited to 'latex/headers/preamble.tex')

diff --git a/latex/headers/preamble.tex b/latex/headers/preamble.tex
new file mode 100644
index 0000000..78903ef
--- /dev/null
+++ b/latex/headers/preamble.tex
@@ -0,0 +1,268 @@
+% This preamble assumes pdflatex
+% derived from:
+% https://github.com/gillescastel/lecture-notes/blob/929672a96abc27eaeb6fa58b1d277b3582d28532/group-theory/preamble.tex
+% encodings
+\usepackage[utf8]{inputenc} % use utf8 encoding
+\usepackage[T1]{fontenc} % for 8bit font support
+\usepackage{lmodern} % latin modern fonts, should be better than ae, aecompl
+% \usepackage{ae,aecompl} % full T1 font support
+% \usepackage{textcomp} % support for yen and so on, not needed since latex2e(2020)
+
+% references
+\usepackage[ngerman]{babel} % For German language support, with reformed orthography!
+\usepackage{csquotes} % required by biblatex
+% \usepackage{biber} % required by biblatex
+\usepackage[backend=biber,
+        style=numeric,
+        autocite=superscript
+    ]{biblatex} % For bibtex references
+\addbibresource{resources/reference}
+% \bibliography{res/reference} % Set the location of the references
+
+% dates, time
+\usepackage[de-DE, showdow]{datetime2} % make handling dates easier
+
+% index
+% \usepackage{index} % Helps to create an index TODO compare with other such packages
+% \makeindex
+
+% math
+\usepackage{amsmath}  % extensive math commands
+\usepackage{amsfonts} % more fonts for math (fracture, boldfaced and so on)
+\usepackage{mathtools} % extension to amsmath, with more sensible defaults (eq numbers only when referenced)
+\usepackage{amssymb} % more symbols, mostly redundant because already loaded by something else
+\usepackage{mathrsfs} % support for the RSFS fonts (through \mathscr command)
+\usepackage{cancel} % allows to cancel a part in math mode, for example to shorten a term
+\usepackage{bm} % bold mode in math, but better than \boldsymbol command from ams. \bm
+\usepackage[locale = DE]{siunitx} % For easy unit representation
+\sisetup{per-mode = fraction}
+\usepackage[version=4]{mhchem} % for \ce command
+
+
+
+% graphics and floats
+\usepackage{float} % makes dealing with floats easier
+\usepackage{graphicx} % allows for easy inclusion of graphics
+\usepackage[shortlabels]{enumitem} % makes enumerate, itemize and description better
+\usepackage{wrapfig} % Wraps text around figures with the \wrapfigure environment
+\usepackage[dvipsnames]{xcolor} % colors and color mixing \color{red!30!green!40!blue}
+\usepackage{pgfplots} % plots, 2D and 3D
+\pgfplotsset{compat=1.18} % use version 1.13
+\usepackage{tikz} % Nice drawn graphics, for library see: https://tex.stackexchange.com/a/42664
+% \usetikzlibrary{intersections, angles, quotes, calc, positioning}
+% \usetikzlibrary{arrows.meta} %TODO maybe deprecated?
+% \usepackage{tikz-cd} % better commutative diagrams
+% \usepackage{subcaption} % like caption package, but for subfigures
+% \usepackage{booktabs} % better tables
+
+
+% visuals
+\usepackage{fancyhdr}  % Text layout and margins, headers so on
+\usepackage{microtype} % makes text better to read
+\usepackage{multicol} % allows for multi-columns everywhere, with the "multicols" environment
+\usepackage{emptypage} % no page numbers and headings on empty pages
+% \usepackage[a4paper, left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry} % For nice margins
+% \usepackage{xspace} % Adds a space when it thinks it is necessary
+% \usepackage{blindtext} % blindtext
+
+% tikz style config
+\tikzset{help_lines/.style={step=.5cm,gray!50,very thin}}
+
+% notes
+\usepackage{todonotes}
+
+% links
+% \usepackage[hidelinks]{hyperref} % Links in the pdf
+\usepackage[pdflang=de-DE]{hyperref}
+\hypersetup{
+        colorlinks,
+        linkcolor={black},
+        citecolor={black},
+        urlcolor={blue!80!black}
+    }
+
+
+% \usepackage{stmaryrd} % for \lightning
+% \newcommand\contra{\scalebox{1.1}{$\lightning$}}
+
+% number sets
+\newcommand\N{\ensuremath{\mathbb{N}}}
+\newcommand\R{\ensuremath{\mathbb{R}}}
+\newcommand\Z{\ensuremath{\mathbb{Z}}}
+\newcommand\Q{\ensuremath{\mathbb{Q}}}
+\newcommand\C{\ensuremath{\mathbb{C}}}
+\renewcommand\O{\ensuremath{\emptyset}} % replaces the Ø
+
+% readable limits
+\let\svlim\lim{}
+\renewcommand\lim{\svlim\limits}
+
+% aliases
+\let\implies\Rightarrow{}
+\let\impliedby\Leftarrow{}
+\let\iff\Leftrightarrow{}
+
+\renewcommand\epsilon{\varepsilon} % I like the textual epsilon more
+% \renewcommand\phi{\varphi}
+
+% horizontal rule
+\newcommand\hr{
+        \par\noindent\rule[0.5ex]{\linewidth}{0.5pt}
+    }
+
+% copyright:
+\makeatletter
+\DeclareRobustCommand\authors[1]{\gdef\@authors{#1}}
+\DeclareRobustCommand\years[1]{\gdef\@years{#1}}
+\makeatother
+
+% theorems
+% packages:
+\usepackage[framemethod=TikZ]{mdframed}
+\mdfsetup{skipabove=1em,skipbelow=0em, innertopmargin=5pt, innerbottommargin=6pt}
+\usepackage{amsthm}  % math commands for theorems
+\usepackage{thmtools} % improved theorems
+\usepackage{environ} % for hiding of the solution env
+
+% styles:
+% \renewcommand\qedsymbol{\ensuremath{\text{\textit{O.}}~\epsilon.~\delta.}}
+\renewcommand\qedsymbol{\dots}
+\theoremstyle{definition}
+\declaretheoremstyle[
+        headfont=\bfseries\sffamily\color{NavyBlue!80},
+        bodyfont=\normalfont,
+        headpunct={:\\},
+        qed=\qedsymbol,
+        mdframed={
+                linewidth=2pt,
+                rightline=false, topline=false, bottomline=false,
+                linecolor=NavyBlue, backgroundcolor=NavyBlue!5,
+            },
+    ]{thmexample}
+\declaretheoremstyle[
+        headfont=\bfseries\sffamily\color{RawSienna!80},
+        bodyfont=\normalfont,
+        headpunct={:\\},
+        qed=\qedsymbol,
+        mdframed={
+                linewidth=2pt,
+                rightline=false, topline=false, bottomline=false,
+                linecolor=RawSienna, backgroundcolor=RawSienna!5,
+            },
+    ]{thmexercise}
+\declaretheoremstyle[
+        headfont=\bfseries\sffamily\color{Violet!80},
+        bodyfont=\normalfont,
+        headpunct={:\\},
+        notebraces={f\"ur }{},
+        qed=\qedsymbol,
+        mdframed={
+                linewidth=2pt,
+                rightline=false, topline=false, bottomline=false,
+                linecolor=Violet, backgroundcolor=Violet!5,
+            },
+    ]{thmsolution}
+\declaretheoremstyle[
+        headfont=\bfseries\sffamily\color{ForestGreen!80},
+        bodyfont=\normalfont,
+        headpunct={:\\},
+        qed=\qedsymbol,
+        mdframed={
+                linewidth=2pt,
+                rightline=false, topline=false, bottomline=false,
+                linecolor=ForestGreen, backgroundcolor=ForestGreen!5,
+            },
+    ]{thmdef}
+\declaretheoremstyle[
+        headfont=\bfseries\sffamily\color{RawSienna!70!black},
+        bodyfont=\normalfont,
+        headpunct={:\\},
+        qed=\qedsymbol,
+        mdframed={
+                linewidth=2pt,
+                leftline=false, rightline=true, topline=false, bottomline=false,
+                linecolor=RawSienna, backgroundcolor=Red!5,
+            }
+    ]{thmtheorem}
+
+\declaretheorem[numbered=yes, style=thmdef, name=Definition]{definition}
+\declaretheorem[numbered=no, style=thmexample,name=Beispiel]{eg}
+\declaretheorem[numbered=no, style=thmexercise, name=Aufgabe]{ex}
+\declaretheorem[numbered=yes, style=thmtheorem, name=Satz]{theorem}
+% \declaretheorem[style=thmredbox, name=Proposition]{prop}
+% \declaretheorem[style=thmredbox, name=Lemma]{lemma}
+% \declaretheorem[style=thmredbox, numbered=no, name=Corollary]{corollary}
+
+% Solutions
+\makeatletter
+\@ifclasswith{report}{nosolutions}
+    {%
+        \NewEnviron{solution}[1][]{Eine L\"osung mit dem Name ("L\"osung für #1") wurde versteckt.\ \\ \par}
+        \newcommand\hdsolution[1]{L\"osung versteckt}
+    }{%
+        \declaretheorem[numbered=no, style=thmsolution, name=L\"osung]{replacementSolution}
+        \newenvironment{solution}[1][]{\vspace{-1em}\begin{replacementSolution}[#1]}{\end{replacementSolution}}
+        \newcommand\hdsolution[1]{#1}
+    }
+\makeatother
+
+\DTMnewdatestyle{margindate}{
+        \renewcommand*\DTMdisplaydate[4]{
+                \MakeLowercase{\DTMgermanshortweekdayname{##4}}\space
+                \number##3\relax\space
+                \MakeLowercase{\DTMgermanshortmonthname{##2}}\space
+                \DTMtwodigits{\DTMtwodigits{##1}}
+            }
+        \renewcommand*\DTMDisplaydate[4]{
+                \DTMgermanshortweekdayname{##4}\space
+                ##3\space
+                \DTMgermanshortmonthname{##2}\space
+                \DTMtwodigits{\DTMtwodigits{##1}}
+            }
+    }
+
+\newcommand*\margindate[1]{
+        \DTMsetdatestyle{margindate}
+        \marginpar{
+                \small\textsf{\mbox{\DTMDate{#1}}}
+            }\relax
+    }
+
+\def\@lesson{}%
+\newcommand{\lesson}[3]{
+        \if\relax\detokenize{#3}\relax
+            \def\@lesson{Unterricht: #1}%
+        \else
+            % \def\@lesson{Unterricht #1: #3}%
+            \def\@lesson{#1: #3}%
+        \fi
+        \subsection*{\@lesson}
+        \margindate{#2}
+    }
+
+\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[LE, RO]{}
+\fancyhead[RO, LE]{\@lesson}
+\fancyhead[RE, LO]{}
+\fancyfoot[LE, RO]{\thepage}
+\fancyfoot[C]{\leftmark}
+
+
+% Parameters
+% \renewcommand{\sfdefault}{ptm}
+% \pagenumbering{arabic}
+% \setcounter{page}{2}
+% \renewcommand{\thesection}{\Roman{section}}
+% \renewcommand{\thesubsection}{\thesection.\Roman{subsection}}
+%
+
+%% Footers and Headers
+%\pagestyle{fancy}
+%\fancyhf{}
+%\renewcommand{\headrulewidth}{2pt}
+%\renewcommand{\footrulewidth}{1pt}
+%\renewcommand{\baselinestretch}{1.5}
+%\fancyhead[L]{{\textbf{\titleset}}}
+%\fancyhead[R]{\textbf{\course}}
+%\fancyfoot[L]{\thepage}
-- 
cgit 1.4.1

