diff options
author | Soispha <soispha@vhack.eu> | 2023-06-18 17:00:18 +0200 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-06-18 17:00:18 +0200 |
commit | 4c368a27800900e5c3afd3e03d43d6d379bc471a (patch) | |
tree | a8aa66cb46a6cda39b0b6f0a535ec084bbf2821d /latex/headers/preamble.tex | |
parent | Fix(.gitigonore): Ignore specific files in templates (diff) | |
download | flake-templates-4c368a27800900e5c3afd3e03d43d6d379bc471a.tar.gz flake-templates-4c368a27800900e5c3afd3e03d43d6d379bc471a.zip |
Feat(latex): Init
Diffstat (limited to 'latex/headers/preamble.tex')
-rw-r--r-- | latex/headers/preamble.tex | 268 |
1 files changed, 268 insertions, 0 deletions
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} |