Revert "[skip ci] Build helpers on push"

This reverts commit 951458a867.
This commit is contained in:
2026-01-09 14:53:39 +01:00
parent 951458a867
commit ab3abb113c
15 changed files with 1531 additions and 1551 deletions

731
dist/full.tex vendored
View File

@@ -17,11 +17,9 @@
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀ % ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros % This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Load this before the config file
% ── Imports ───────────────────────────────────────────────────────── % Imports %
\typeout{[Core] Importing!} \typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor} \usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{graphicx} \usepackage{graphicx}
@@ -48,38 +46,37 @@
\usepackage{pifont} \usepackage{pifont}
% ── Language Switching. ───────────────────────────────────────────── % Language Switching. Currently only English and German are supported
% Currently only English and German are supported
% See docs for how to use % See docs for how to use
\newcounter{lang} \newcounter{lang}
\newcommand{\setLang}[1]{ \newcommand{\setLang}[1]{
\edef\lang{#1} \edef\lang{#1}
\edef\en{en} \edef\en{en}
\edef\de{de} \edef\de{de}
\ifx\lang\en \ifx\lang\en
\typeout{[Lang Switcher] Loading English} \typeout{[Lang Switcher] Loading English}
\setcounter{lang}{1} \setcounter{lang}{1}
\else \else
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi
\fi \fi
} }
% Deprecated, as not useful % Deprecated, as not useful
\newcommand{\loadLang}{ \newcommand{\loadLang}{
\ifnum\value{lang}<2{ \ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English} \typeout{[Lang Loader] Loaded English}
}\else { }\else {
\typeout{[Lang Loader] Loaded German} \typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2} \setcounter{lang}{2}
} }
\fi \fi
} }
@@ -90,59 +87,57 @@
\newcounter{descriptorShadeStrength} \newcounter{descriptorShadeStrength}
\newcounter{shadeStrength} \newcounter{shadeStrength}
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers % Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{ \newcommand{\setup}[1]{
\typeout{[Setup] Setting up...} \typeout{[Setup] Setting up...}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
\fancypagestyle{plain}{% \fancypagestyle{plain}{%
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
} }
\typeout{[Setup] Complete} \typeout{[Setup] Complete}
} }
% Start document command (required) % Start document command (required)
\newcommand{\startDocument}{ \newcommand{\startDocument}{
\maketitle \maketitle
\startDocumentNoTitle \startDocumentNoTitle
} }
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{ \newcommand{\startDocumentNoTitle}{
\pagestyle{fancy} \pagestyle{fancy}
\thispagestyle{fancy} \thispagestyle{fancy}
} }
% Set up the latex document, only configuring the author, title and page size % Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{ \newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup} \typeout{[Setup] Using barebones setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
% Set up the latex document for exam summaries (Extra wide body, small margins, no header) % Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{ \newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup} \typeout{[Setup] Using CheatSheet setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
@@ -225,35 +220,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -261,15 +256,15 @@
% -------------------- % % -------------------- %
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
\newcommand{\setFontType}[1]{ \newcommand{\setFontType}[1]{
\ifthenelse{\equal{#1}{mono}}{ \ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault} \renewcommand{\familydefault}{\ttdefault}
}{ }{
\ifthenelse{\equal{#1}{serif}}{ \ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault} \renewcommand{\familydefault}{\rmdefault}
}{ }{
\renewcommand{\familydefault}{\sfdefault} \renewcommand{\familydefault}{\sfdefault}
} }
} }
} }
\newcommand{\hrmvspace}{\vspace{-0.25pc}} \newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -287,16 +282,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -331,14 +326,14 @@
% Print a table of contents as a tcolorbox % Print a table of contents as a tcolorbox
\newcommand{\printtoc}[1]{ \newcommand{\printtoc}[1]{
\renewcommand{\cfttoctitlefont}{} \renewcommand{\cfttoctitlefont}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -348,40 +343,40 @@
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ %▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2}, \newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1} overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2}, \newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1} overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}} \newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
% Terms and notation % Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2}, \newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1} overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2}, \newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1} overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task % Task
@@ -394,7 +389,7 @@
% General % General
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2}, \newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
% Simple % Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1} \newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
@@ -546,9 +541,9 @@
% For using index package % For using index package
\newcommand{\prepareIndex}{ \newcommand{\prepareIndex}{
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{imakeidx} \usepackage{imakeidx}
\makeindex \makeindex
} }
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
@@ -604,22 +599,22 @@
% Set the current number of a label % Set the current number of a label
\newcommand{\setLabelNumber}[2]{% \newcommand{\setLabelNumber}[2]{%
\setcounter{#1}{#2}% \setcounter{#1}{#2}%
\addtocounter{#1}{-1}% \addtocounter{#1}{-1}%
\setcounter{#1ss}{#2}% \setcounter{#1ss}{#2}%
\addtocounter{#1ss}{-1}% \addtocounter{#1ss}{-1}%
\setcounter{#1sss}{#2}% \setcounter{#1sss}{#2}%
\addtocounter{#1sss}{-1}% \addtocounter{#1sss}{-1}%
} }
\newcommand{\stepLabelNumber}[1]{% \newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}% \stepcounter{#1}%
\stepcounter{#1ss}% \stepcounter{#1ss}%
\stepcounter{#1sss}% \stepcounter{#1sss}%
} }
\newcommand{\printcounter}[1]{% \newcommand{\printcounter}[1]{%
\csname the#1\endcsname \csname the#1\endcsname
} }
\newcommand{\suffix}{ss} \newcommand{\suffix}{ss}
@@ -629,119 +624,119 @@
% │ Counter numbering │ % │ Counter numbering │
% └ ┘ % └ ┘
\newcommand{\preTableAndFigHook}[1]{% \newcommand{\preTableAndFigHook}[1]{%
\ifnum\value{numberingConfig}>1 \ifnum\value{numberingConfig}>1
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\stepcounter{allss} \stepcounter{allss}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\stepcounter{allsss} \stepcounter{allsss}
\else \else
\stepcounter{all} \stepcounter{all}
\fi \fi
\fi \fi
\fi \fi
} }
\AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{ \newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures % Tables & Figures
\ifnum\value{numberingConfig}=0 \ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{} \renewcommand{\thetable}{}
\renewcommand{\thefigure}{} \renewcommand{\thefigure}{}
\else \else
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}} \renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else \else
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else \else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}} \renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi \fi
\fi \fi
\fi \fi
\fi \fi
} }
\newcommand{\setSubsectionNumbering}[1]{ \newcommand{\setSubsectionNumbering}[1]{
\setcounter{numberSubsections}{#1} \setcounter{numberSubsections}{#1}
\applySubsectionNumbering \applySubsectionNumbering
} }
\newcommand{\applySubsectionNumbering}{ \newcommand{\applySubsectionNumbering}{
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\sectionNumbering}{\thesubsection} \renewcommand{\sectionNumbering}{\thesubsection}
\renewcommand{\suffix}{ss} \renewcommand{\suffix}{ss}
\typeout{Numbering as section.subsection.number} \typeout{Numbering as section.subsection.number}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\sectionNumbering}{\thesubsubsection} \renewcommand{\sectionNumbering}{\thesubsubsection}
\renewcommand{\suffix}{sss} \renewcommand{\suffix}{sss}
\typeout{Numbering as section.subsection.subsubsection.number} \typeout{Numbering as section.subsection.subsubsection.number}
\else \else
\renewcommand{\sectionNumbering}{\thesection} \renewcommand{\sectionNumbering}{\thesection}
\renewcommand{\suffix}{} \renewcommand{\suffix}{}
\typeout{Numbering as section.number} \typeout{Numbering as section.number}
\fi \fi
\fi \fi
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
\renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}}
\renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}}
\renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}}
\renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}}
\renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}}
\renewcommand{\theexample}{\sectionNumbering.\arabic{example}} \renewcommand{\theexample}{\sectionNumbering.\arabic{example}}
\renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}}
\renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}}
\renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}}
\renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}}
\renewcommand{\theall}{\sectionNumbering.\arabic{all}} \renewcommand{\theall}{\sectionNumbering.\arabic{all}}
\renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}}
\renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}}
\renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}}
\renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}}
\renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}}
\renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}}
\renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}}
\renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}}
\renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}}
\renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}}
\renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}}
\renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}}
\renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}}
\renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}}
\renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}}
\renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}}
\renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}}
\renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}}
\renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}}
\renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}}
\renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}}
} }
\applySubsectionNumbering \applySubsectionNumbering
% ── Label generation ──────────────────────────────────────────────── % ── Label generation ────────────────────────────────────────────────
\newcommand{\labelSectionGeneration}{% \newcommand{\labelSectionGeneration}{%
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\arabic{section}-\arabic{subsection}% \arabic{section}-\arabic{subsection}%
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\arabic{section}-\arabic{subsection}-\arabic{subsubsection}% \arabic{section}-\arabic{subsection}-\arabic{subsubsection}%
\else \else
\arabic{section}% \arabic{section}%
\fi \fi
\fi} \fi}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
@@ -750,27 +745,27 @@
% │ Number the counters appropriately │ % │ Number the counters appropriately │
% └ ┘ % └ ┘
\newcommand{\usenumberArabic}[1]{% \newcommand{\usenumberArabic}[1]{%
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\labelIt{#1} \labelIt{#1}
\printcounter{#1\suffix}% \printcounter{#1\suffix}%
\else \else
\ifnum\value{numberingConfig}=2 \ifnum\value{numberingConfig}=2
\ifthenelse{\equal{#1}{definitions}}{% \ifthenelse{\equal{#1}{definitions}}{%
\labelIt{definition} \labelIt{definition}
\printcounter{definition\suffix}% \printcounter{definition\suffix}%
}{% }{%
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
}% }%
\else \else
\ifnum\value{numberingConfig}=3 \ifnum\value{numberingConfig}=3
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
\else \else
\relax% \relax%
\fi \fi
\fi \fi
\fi} \fi}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -783,22 +778,22 @@
% For later change % For later change
\newcommand{\setNumberingStyle}[1]{ \newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1} \typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1} \setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{ \ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1} \setcounter{numberingConfigStore}{#1}
} }
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% Enable / disable numbering % Enable / disable numbering
\newcommand{\numberingOff}{ \newcommand{\numberingOff}{
\setcounter{numberingConfig}{0} \setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
\newcommand{\numberingOn}{ \newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}} \setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -807,51 +802,51 @@
% │ new page │ % │ new page │
% ╰────────────────────────────────────────────────╯ % ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{ \newcommand{\newsection}{
\newpage \newpage
\newsectionNoPB \newsectionNoPB
} }
% ── Reset definitions, lemma, etc counters, do not add new page ───── % ── Reset definitions, lemma, etc counters, do not add new page ─────
\newcommand{\newsectionNoPB}{ \newcommand{\newsectionNoPB}{
\setcounter{lemma}{0} \setcounter{lemma}{0}
\setcounter{definition}{0} \setcounter{definition}{0}
\setcounter{corollary}{0} \setcounter{corollary}{0}
\setcounter{theorem}{0} \setcounter{theorem}{0}
\setcounter{axiom}{0} \setcounter{axiom}{0}
\setcounter{example}{0} \setcounter{example}{0}
\setcounter{fact}{0} \setcounter{fact}{0}
\setcounter{proposition}{0} \setcounter{proposition}{0}
\setcounter{formula}{0} \setcounter{formula}{0}
\setcounter{remark}{0} \setcounter{remark}{0}
\setcounter{all}{0} \setcounter{all}{0}
\setcounter{lemmass}{0} \setcounter{lemmass}{0}
\setcounter{definitionss}{0} \setcounter{definitionss}{0}
\setcounter{corollaryss}{0} \setcounter{corollaryss}{0}
\setcounter{theoremss}{0} \setcounter{theoremss}{0}
\setcounter{axiomss}{0} \setcounter{axiomss}{0}
\setcounter{exampless}{0} \setcounter{exampless}{0}
\setcounter{factss}{0} \setcounter{factss}{0}
\setcounter{propositionss}{0} \setcounter{propositionss}{0}
\setcounter{formulass}{0} \setcounter{formulass}{0}
\setcounter{remarkss}{0} \setcounter{remarkss}{0}
\setcounter{allss}{0} \setcounter{allss}{0}
\setcounter{lemmasss}{0} \setcounter{lemmasss}{0}
\setcounter{definitionsss}{0} \setcounter{definitionsss}{0}
\setcounter{corollarysss}{0} \setcounter{corollarysss}{0}
\setcounter{theoremsss}{0} \setcounter{theoremsss}{0}
\setcounter{axiomsss}{0} \setcounter{axiomsss}{0}
\setcounter{examplesss}{0} \setcounter{examplesss}{0}
\setcounter{factsss}{0} \setcounter{factsss}{0}
\setcounter{propositionsss}{0} \setcounter{propositionsss}{0}
\setcounter{formulasss}{0} \setcounter{formulasss}{0}
\setcounter{remarksss}{0} \setcounter{remarksss}{0}
\setcounter{allsss}{0} \setcounter{allsss}{0}
% Tables & Figures % Tables & Figures
\setcounter{table}{0} \setcounter{table}{0}
\setcounter{figure}{0} \setcounter{figure}{0}
} }
\newsectionNoPB % Initializes \newsectionNoPB % Initializes
@@ -867,39 +862,39 @@
% Theorems % Theorems
\newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2}, \newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1} overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
% Lemmas % Lemmas
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2}, \newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1} overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
% Corollaries % Corollaries
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2}, \newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1} overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
% Axioms % Axioms
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2}, \newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1} overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
% Facts % Facts
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2}, \newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1} overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
% Propositions % Propositions
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2}, \newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1} overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
% Examples % Examples
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2}, \newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1} overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
% Formula % Formula
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
% Remark % Remark
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1} overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -977,14 +972,14 @@
\algrenewcommand{\alglinenumber}[1]{#1} \algrenewcommand{\alglinenumber}[1]{#1}
\newenvironment{algo}[1]{ \newenvironment{algo}[1]{
\begin{algorithm} \begin{algorithm}
\begin{spacing}{1.2} \begin{spacing}{1.2}
\caption{\textsc{#1}} \caption{\textsc{#1}}
\begin{algorithmic}[1] \begin{algorithmic}[1]
}{ }{
\end{algorithmic} \end{algorithmic}
\end{spacing} \end{spacing}
\end{algorithm} \end{algorithm}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1005,10 +1000,10 @@
% Specific styles for language summaries and docs % Specific styles for language summaries and docs
\newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2}, \newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1} overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1}
\newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1022,26 +1017,26 @@
% Create new table. #1 Layout, #2 title row % Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{ \newenvironment{tables}[2]{
\begin{center} \begin{center}
\begin{tabular}{#1} \begin{tabular}{#1}
\toprule \toprule
#2 \\ #2 \\
\midrule \midrule
}{ }{
\bottomrule \bottomrule
\end{tabular} \end{tabular}
\end{center} \end{center}
} }
% Create new table in table env. #1 layout, #2 title row, #3 caption % Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{ \newenvironment{fullTable}[3]{
\edef\tableCaption{#3} \edef\tableCaption{#3}
\begin{table}[h!] \begin{table}[h!]
\begin{tables}{#1}{#2} \begin{tables}{#1}{#2}
}{ }{
\end{tables} \end{tables}
\caption{\tableCaption} \caption{\tableCaption}
\end{table} \end{table}
} }
% ___ _ _____ _ _ % ___ _ _____ _ _
@@ -1054,14 +1049,14 @@
% Configs if you want to use BibTeX. Not included in any default configs. % Configs if you want to use BibTeX. Not included in any default configs.
\newcommand{\setupBibtex}[1]{ \newcommand{\setupBibtex}[1]{
\usepackage{biblatex} \usepackage{biblatex}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\addbibresource{#1} \addbibresource{#1}
} }
\newcommand{\printbib}{ \newcommand{\printbib}{
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}} \addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
\printbibliography[title=\translate{Sources}{Quellen}] \printbibliography[title=\translate{Sources}{Quellen}]
} }
@@ -1072,14 +1067,14 @@
% Add glossaries functionality % Add glossaries functionality
\newcommand{\setupGlossary}{ \newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries} \usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries \makenoidxglossaries
} }
\newcommand{\printGlossary}{ \newcommand{\printGlossary}{
\glsaddall \glsaddall
\printnoidxglossaries \printnoidxglossaries
} }
% ┌ ┐ % ┌ ┐
@@ -1094,8 +1089,8 @@
% Args: Language, Code % Args: Language, Code
\newenvironment{code}[1]{ \newenvironment{code}[1]{
\VerbatimEnvironment \VerbatimEnvironment
\begin{minted}[ \begin{minted}[
autogobble, autogobble,
breaklines, breaklines,
breakindentnchars=2, breakindentnchars=2,
@@ -1109,23 +1104,23 @@
% Args: Language, file relative to root file % Args: Language, file relative to root file
\newcommand{\inputcode}[2]{ \newcommand{\inputcode}[2]{
\inputminted[ \inputminted[
autogobble, autogobble,
breaklines, breaklines,
breakindentnchars=2, breakindentnchars=2,
frame=lines, frame=lines,
framesep=2mm, framesep=2mm,
mathescape, mathescape,
baselinestretch=1.1, baselinestretch=1.1,
linenos linenos
]{#1}{#2} ]{#1}{#2}
} }
% Args: Language, Base directory (with trailing slash), file (no slash at start) % Args: Language, Base directory (with trailing slash), file (no slash at start)
\newcommand{\inputcodewithfilename}[3]{ \newcommand{\inputcodewithfilename}[3]{
\begin{figure}[h!] \begin{figure}[h!]
\texttt{File: \detokenize{#3}} \texttt{File: \detokenize{#3}}
\rmvspace \rmvspace
\inputcode{#1}{#2#3} \inputcode{#1}{#2#3}
\end{figure} \end{figure}
} }

255
dist/minimal.tex vendored
View File

@@ -17,11 +17,9 @@
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀ % ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros % This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Load this before the config file
% ── Imports ───────────────────────────────────────────────────────── % Imports %
\typeout{[Core] Importing!} \typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor} \usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{graphicx} \usepackage{graphicx}
@@ -48,38 +46,37 @@
\usepackage{pifont} \usepackage{pifont}
% ── Language Switching. ───────────────────────────────────────────── % Language Switching. Currently only English and German are supported
% Currently only English and German are supported
% See docs for how to use % See docs for how to use
\newcounter{lang} \newcounter{lang}
\newcommand{\setLang}[1]{ \newcommand{\setLang}[1]{
\edef\lang{#1} \edef\lang{#1}
\edef\en{en} \edef\en{en}
\edef\de{de} \edef\de{de}
\ifx\lang\en \ifx\lang\en
\typeout{[Lang Switcher] Loading English} \typeout{[Lang Switcher] Loading English}
\setcounter{lang}{1} \setcounter{lang}{1}
\else \else
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi
\fi \fi
} }
% Deprecated, as not useful % Deprecated, as not useful
\newcommand{\loadLang}{ \newcommand{\loadLang}{
\ifnum\value{lang}<2{ \ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English} \typeout{[Lang Loader] Loaded English}
}\else { }\else {
\typeout{[Lang Loader] Loaded German} \typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2} \setcounter{lang}{2}
} }
\fi \fi
} }
@@ -90,59 +87,57 @@
\newcounter{descriptorShadeStrength} \newcounter{descriptorShadeStrength}
\newcounter{shadeStrength} \newcounter{shadeStrength}
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers % Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{ \newcommand{\setup}[1]{
\typeout{[Setup] Setting up...} \typeout{[Setup] Setting up...}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
\fancypagestyle{plain}{% \fancypagestyle{plain}{%
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
} }
\typeout{[Setup] Complete} \typeout{[Setup] Complete}
} }
% Start document command (required) % Start document command (required)
\newcommand{\startDocument}{ \newcommand{\startDocument}{
\maketitle \maketitle
\startDocumentNoTitle \startDocumentNoTitle
} }
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{ \newcommand{\startDocumentNoTitle}{
\pagestyle{fancy} \pagestyle{fancy}
\thispagestyle{fancy} \thispagestyle{fancy}
} }
% Set up the latex document, only configuring the author, title and page size % Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{ \newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup} \typeout{[Setup] Using barebones setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
% Set up the latex document for exam summaries (Extra wide body, small margins, no header) % Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{ \newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup} \typeout{[Setup] Using CheatSheet setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
@@ -225,35 +220,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -261,15 +256,15 @@
% -------------------- % % -------------------- %
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
\newcommand{\setFontType}[1]{ \newcommand{\setFontType}[1]{
\ifthenelse{\equal{#1}{mono}}{ \ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault} \renewcommand{\familydefault}{\ttdefault}
}{ }{
\ifthenelse{\equal{#1}{serif}}{ \ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault} \renewcommand{\familydefault}{\rmdefault}
}{ }{
\renewcommand{\familydefault}{\sfdefault} \renewcommand{\familydefault}{\sfdefault}
} }
} }
} }
\newcommand{\hrmvspace}{\vspace{-0.25pc}} \newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -287,16 +282,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -331,14 +326,14 @@
% Print a table of contents as a tcolorbox % Print a table of contents as a tcolorbox
\newcommand{\printtoc}[1]{ \newcommand{\printtoc}[1]{
\renewcommand{\cfttoctitlefont}{} \renewcommand{\cfttoctitlefont}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -348,40 +343,40 @@
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ %▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2}, \newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1} overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2}, \newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1} overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}} \newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
% Terms and notation % Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2}, \newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1} overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2}, \newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1} overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task % Task
@@ -394,7 +389,7 @@
% General % General
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2}, \newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
% Simple % Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1} \newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}

677
dist/most.tex vendored
View File

@@ -17,11 +17,9 @@
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀ % ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros % This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Load this before the config file
% ── Imports ───────────────────────────────────────────────────────── % Imports %
\typeout{[Core] Importing!} \typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor} \usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{graphicx} \usepackage{graphicx}
@@ -48,38 +46,37 @@
\usepackage{pifont} \usepackage{pifont}
% ── Language Switching. ───────────────────────────────────────────── % Language Switching. Currently only English and German are supported
% Currently only English and German are supported
% See docs for how to use % See docs for how to use
\newcounter{lang} \newcounter{lang}
\newcommand{\setLang}[1]{ \newcommand{\setLang}[1]{
\edef\lang{#1} \edef\lang{#1}
\edef\en{en} \edef\en{en}
\edef\de{de} \edef\de{de}
\ifx\lang\en \ifx\lang\en
\typeout{[Lang Switcher] Loading English} \typeout{[Lang Switcher] Loading English}
\setcounter{lang}{1} \setcounter{lang}{1}
\else \else
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi
\fi \fi
} }
% Deprecated, as not useful % Deprecated, as not useful
\newcommand{\loadLang}{ \newcommand{\loadLang}{
\ifnum\value{lang}<2{ \ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English} \typeout{[Lang Loader] Loaded English}
}\else { }\else {
\typeout{[Lang Loader] Loaded German} \typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2} \setcounter{lang}{2}
} }
\fi \fi
} }
@@ -90,59 +87,57 @@
\newcounter{descriptorShadeStrength} \newcounter{descriptorShadeStrength}
\newcounter{shadeStrength} \newcounter{shadeStrength}
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers % Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{ \newcommand{\setup}[1]{
\typeout{[Setup] Setting up...} \typeout{[Setup] Setting up...}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
\fancypagestyle{plain}{% \fancypagestyle{plain}{%
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
} }
\typeout{[Setup] Complete} \typeout{[Setup] Complete}
} }
% Start document command (required) % Start document command (required)
\newcommand{\startDocument}{ \newcommand{\startDocument}{
\maketitle \maketitle
\startDocumentNoTitle \startDocumentNoTitle
} }
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{ \newcommand{\startDocumentNoTitle}{
\pagestyle{fancy} \pagestyle{fancy}
\thispagestyle{fancy} \thispagestyle{fancy}
} }
% Set up the latex document, only configuring the author, title and page size % Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{ \newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup} \typeout{[Setup] Using barebones setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
% Set up the latex document for exam summaries (Extra wide body, small margins, no header) % Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{ \newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup} \typeout{[Setup] Using CheatSheet setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
@@ -225,35 +220,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -261,15 +256,15 @@
% -------------------- % % -------------------- %
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
\newcommand{\setFontType}[1]{ \newcommand{\setFontType}[1]{
\ifthenelse{\equal{#1}{mono}}{ \ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault} \renewcommand{\familydefault}{\ttdefault}
}{ }{
\ifthenelse{\equal{#1}{serif}}{ \ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault} \renewcommand{\familydefault}{\rmdefault}
}{ }{
\renewcommand{\familydefault}{\sfdefault} \renewcommand{\familydefault}{\sfdefault}
} }
} }
} }
\newcommand{\hrmvspace}{\vspace{-0.25pc}} \newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -287,16 +282,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -331,14 +326,14 @@
% Print a table of contents as a tcolorbox % Print a table of contents as a tcolorbox
\newcommand{\printtoc}[1]{ \newcommand{\printtoc}[1]{
\renewcommand{\cfttoctitlefont}{} \renewcommand{\cfttoctitlefont}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -348,40 +343,40 @@
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ %▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2}, \newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1} overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2}, \newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1} overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}} \newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
% Terms and notation % Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2}, \newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1} overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2}, \newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1} overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task % Task
@@ -394,7 +389,7 @@
% General % General
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2}, \newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
% Simple % Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1} \newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
@@ -546,9 +541,9 @@
% For using index package % For using index package
\newcommand{\prepareIndex}{ \newcommand{\prepareIndex}{
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{imakeidx} \usepackage{imakeidx}
\makeindex \makeindex
} }
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
@@ -604,22 +599,22 @@
% Set the current number of a label % Set the current number of a label
\newcommand{\setLabelNumber}[2]{% \newcommand{\setLabelNumber}[2]{%
\setcounter{#1}{#2}% \setcounter{#1}{#2}%
\addtocounter{#1}{-1}% \addtocounter{#1}{-1}%
\setcounter{#1ss}{#2}% \setcounter{#1ss}{#2}%
\addtocounter{#1ss}{-1}% \addtocounter{#1ss}{-1}%
\setcounter{#1sss}{#2}% \setcounter{#1sss}{#2}%
\addtocounter{#1sss}{-1}% \addtocounter{#1sss}{-1}%
} }
\newcommand{\stepLabelNumber}[1]{% \newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}% \stepcounter{#1}%
\stepcounter{#1ss}% \stepcounter{#1ss}%
\stepcounter{#1sss}% \stepcounter{#1sss}%
} }
\newcommand{\printcounter}[1]{% \newcommand{\printcounter}[1]{%
\csname the#1\endcsname \csname the#1\endcsname
} }
\newcommand{\suffix}{ss} \newcommand{\suffix}{ss}
@@ -629,119 +624,119 @@
% │ Counter numbering │ % │ Counter numbering │
% └ ┘ % └ ┘
\newcommand{\preTableAndFigHook}[1]{% \newcommand{\preTableAndFigHook}[1]{%
\ifnum\value{numberingConfig}>1 \ifnum\value{numberingConfig}>1
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\stepcounter{allss} \stepcounter{allss}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\stepcounter{allsss} \stepcounter{allsss}
\else \else
\stepcounter{all} \stepcounter{all}
\fi \fi
\fi \fi
\fi \fi
} }
\AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{ \newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures % Tables & Figures
\ifnum\value{numberingConfig}=0 \ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{} \renewcommand{\thetable}{}
\renewcommand{\thefigure}{} \renewcommand{\thefigure}{}
\else \else
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}} \renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else \else
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else \else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}} \renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi \fi
\fi \fi
\fi \fi
\fi \fi
} }
\newcommand{\setSubsectionNumbering}[1]{ \newcommand{\setSubsectionNumbering}[1]{
\setcounter{numberSubsections}{#1} \setcounter{numberSubsections}{#1}
\applySubsectionNumbering \applySubsectionNumbering
} }
\newcommand{\applySubsectionNumbering}{ \newcommand{\applySubsectionNumbering}{
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\sectionNumbering}{\thesubsection} \renewcommand{\sectionNumbering}{\thesubsection}
\renewcommand{\suffix}{ss} \renewcommand{\suffix}{ss}
\typeout{Numbering as section.subsection.number} \typeout{Numbering as section.subsection.number}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\sectionNumbering}{\thesubsubsection} \renewcommand{\sectionNumbering}{\thesubsubsection}
\renewcommand{\suffix}{sss} \renewcommand{\suffix}{sss}
\typeout{Numbering as section.subsection.subsubsection.number} \typeout{Numbering as section.subsection.subsubsection.number}
\else \else
\renewcommand{\sectionNumbering}{\thesection} \renewcommand{\sectionNumbering}{\thesection}
\renewcommand{\suffix}{} \renewcommand{\suffix}{}
\typeout{Numbering as section.number} \typeout{Numbering as section.number}
\fi \fi
\fi \fi
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
\renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}}
\renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}}
\renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}}
\renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}}
\renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}}
\renewcommand{\theexample}{\sectionNumbering.\arabic{example}} \renewcommand{\theexample}{\sectionNumbering.\arabic{example}}
\renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}}
\renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}}
\renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}}
\renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}}
\renewcommand{\theall}{\sectionNumbering.\arabic{all}} \renewcommand{\theall}{\sectionNumbering.\arabic{all}}
\renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}}
\renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}}
\renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}}
\renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}}
\renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}}
\renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}}
\renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}}
\renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}}
\renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}}
\renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}}
\renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}}
\renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}}
\renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}}
\renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}}
\renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}}
\renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}}
\renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}}
\renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}}
\renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}}
\renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}}
\renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}}
} }
\applySubsectionNumbering \applySubsectionNumbering
% ── Label generation ──────────────────────────────────────────────── % ── Label generation ────────────────────────────────────────────────
\newcommand{\labelSectionGeneration}{% \newcommand{\labelSectionGeneration}{%
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\arabic{section}-\arabic{subsection}% \arabic{section}-\arabic{subsection}%
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\arabic{section}-\arabic{subsection}-\arabic{subsubsection}% \arabic{section}-\arabic{subsection}-\arabic{subsubsection}%
\else \else
\arabic{section}% \arabic{section}%
\fi \fi
\fi} \fi}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
@@ -750,27 +745,27 @@
% │ Number the counters appropriately │ % │ Number the counters appropriately │
% └ ┘ % └ ┘
\newcommand{\usenumberArabic}[1]{% \newcommand{\usenumberArabic}[1]{%
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\labelIt{#1} \labelIt{#1}
\printcounter{#1\suffix}% \printcounter{#1\suffix}%
\else \else
\ifnum\value{numberingConfig}=2 \ifnum\value{numberingConfig}=2
\ifthenelse{\equal{#1}{definitions}}{% \ifthenelse{\equal{#1}{definitions}}{%
\labelIt{definition} \labelIt{definition}
\printcounter{definition\suffix}% \printcounter{definition\suffix}%
}{% }{%
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
}% }%
\else \else
\ifnum\value{numberingConfig}=3 \ifnum\value{numberingConfig}=3
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
\else \else
\relax% \relax%
\fi \fi
\fi \fi
\fi} \fi}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -783,22 +778,22 @@
% For later change % For later change
\newcommand{\setNumberingStyle}[1]{ \newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1} \typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1} \setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{ \ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1} \setcounter{numberingConfigStore}{#1}
} }
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% Enable / disable numbering % Enable / disable numbering
\newcommand{\numberingOff}{ \newcommand{\numberingOff}{
\setcounter{numberingConfig}{0} \setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
\newcommand{\numberingOn}{ \newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}} \setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -807,51 +802,51 @@
% │ new page │ % │ new page │
% ╰────────────────────────────────────────────────╯ % ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{ \newcommand{\newsection}{
\newpage \newpage
\newsectionNoPB \newsectionNoPB
} }
% ── Reset definitions, lemma, etc counters, do not add new page ───── % ── Reset definitions, lemma, etc counters, do not add new page ─────
\newcommand{\newsectionNoPB}{ \newcommand{\newsectionNoPB}{
\setcounter{lemma}{0} \setcounter{lemma}{0}
\setcounter{definition}{0} \setcounter{definition}{0}
\setcounter{corollary}{0} \setcounter{corollary}{0}
\setcounter{theorem}{0} \setcounter{theorem}{0}
\setcounter{axiom}{0} \setcounter{axiom}{0}
\setcounter{example}{0} \setcounter{example}{0}
\setcounter{fact}{0} \setcounter{fact}{0}
\setcounter{proposition}{0} \setcounter{proposition}{0}
\setcounter{formula}{0} \setcounter{formula}{0}
\setcounter{remark}{0} \setcounter{remark}{0}
\setcounter{all}{0} \setcounter{all}{0}
\setcounter{lemmass}{0} \setcounter{lemmass}{0}
\setcounter{definitionss}{0} \setcounter{definitionss}{0}
\setcounter{corollaryss}{0} \setcounter{corollaryss}{0}
\setcounter{theoremss}{0} \setcounter{theoremss}{0}
\setcounter{axiomss}{0} \setcounter{axiomss}{0}
\setcounter{exampless}{0} \setcounter{exampless}{0}
\setcounter{factss}{0} \setcounter{factss}{0}
\setcounter{propositionss}{0} \setcounter{propositionss}{0}
\setcounter{formulass}{0} \setcounter{formulass}{0}
\setcounter{remarkss}{0} \setcounter{remarkss}{0}
\setcounter{allss}{0} \setcounter{allss}{0}
\setcounter{lemmasss}{0} \setcounter{lemmasss}{0}
\setcounter{definitionsss}{0} \setcounter{definitionsss}{0}
\setcounter{corollarysss}{0} \setcounter{corollarysss}{0}
\setcounter{theoremsss}{0} \setcounter{theoremsss}{0}
\setcounter{axiomsss}{0} \setcounter{axiomsss}{0}
\setcounter{examplesss}{0} \setcounter{examplesss}{0}
\setcounter{factsss}{0} \setcounter{factsss}{0}
\setcounter{propositionsss}{0} \setcounter{propositionsss}{0}
\setcounter{formulasss}{0} \setcounter{formulasss}{0}
\setcounter{remarksss}{0} \setcounter{remarksss}{0}
\setcounter{allsss}{0} \setcounter{allsss}{0}
% Tables & Figures % Tables & Figures
\setcounter{table}{0} \setcounter{table}{0}
\setcounter{figure}{0} \setcounter{figure}{0}
} }
\newsectionNoPB % Initializes \newsectionNoPB % Initializes
@@ -867,39 +862,39 @@
% Theorems % Theorems
\newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2}, \newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1} overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
% Lemmas % Lemmas
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2}, \newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1} overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
% Corollaries % Corollaries
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2}, \newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1} overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
% Axioms % Axioms
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2}, \newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1} overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
% Facts % Facts
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2}, \newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1} overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
% Propositions % Propositions
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2}, \newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1} overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
% Examples % Examples
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2}, \newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1} overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
% Formula % Formula
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
% Remark % Remark
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1} overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -977,14 +972,14 @@
\algrenewcommand{\alglinenumber}[1]{#1} \algrenewcommand{\alglinenumber}[1]{#1}
\newenvironment{algo}[1]{ \newenvironment{algo}[1]{
\begin{algorithm} \begin{algorithm}
\begin{spacing}{1.2} \begin{spacing}{1.2}
\caption{\textsc{#1}} \caption{\textsc{#1}}
\begin{algorithmic}[1] \begin{algorithmic}[1]
}{ }{
\end{algorithmic} \end{algorithmic}
\end{spacing} \end{spacing}
\end{algorithm} \end{algorithm}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1005,10 +1000,10 @@
% Specific styles for language summaries and docs % Specific styles for language summaries and docs
\newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2}, \newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1} overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1}
\newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1022,24 +1017,24 @@
% Create new table. #1 Layout, #2 title row % Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{ \newenvironment{tables}[2]{
\begin{center} \begin{center}
\begin{tabular}{#1} \begin{tabular}{#1}
\toprule \toprule
#2 \\ #2 \\
\midrule \midrule
}{ }{
\bottomrule \bottomrule
\end{tabular} \end{tabular}
\end{center} \end{center}
} }
% Create new table in table env. #1 layout, #2 title row, #3 caption % Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{ \newenvironment{fullTable}[3]{
\edef\tableCaption{#3} \edef\tableCaption{#3}
\begin{table}[h!] \begin{table}[h!]
\begin{tables}{#1}{#2} \begin{tables}{#1}{#2}
}{ }{
\end{tables} \end{tables}
\caption{\tableCaption} \caption{\tableCaption}
\end{table} \end{table}
} }

697
dist/recommended.tex vendored
View File

@@ -17,11 +17,9 @@
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀ % ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros % This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Load this before the config file
% ── Imports ───────────────────────────────────────────────────────── % Imports %
\typeout{[Core] Importing!} \typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor} \usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{graphicx} \usepackage{graphicx}
@@ -48,38 +46,37 @@
\usepackage{pifont} \usepackage{pifont}
% ── Language Switching. ───────────────────────────────────────────── % Language Switching. Currently only English and German are supported
% Currently only English and German are supported
% See docs for how to use % See docs for how to use
\newcounter{lang} \newcounter{lang}
\newcommand{\setLang}[1]{ \newcommand{\setLang}[1]{
\edef\lang{#1} \edef\lang{#1}
\edef\en{en} \edef\en{en}
\edef\de{de} \edef\de{de}
\ifx\lang\en \ifx\lang\en
\typeout{[Lang Switcher] Loading English} \typeout{[Lang Switcher] Loading English}
\setcounter{lang}{1} \setcounter{lang}{1}
\else \else
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi
\fi \fi
} }
% Deprecated, as not useful % Deprecated, as not useful
\newcommand{\loadLang}{ \newcommand{\loadLang}{
\ifnum\value{lang}<2{ \ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English} \typeout{[Lang Loader] Loaded English}
}\else { }\else {
\typeout{[Lang Loader] Loaded German} \typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2} \setcounter{lang}{2}
} }
\fi \fi
} }
@@ -90,59 +87,57 @@
\newcounter{descriptorShadeStrength} \newcounter{descriptorShadeStrength}
\newcounter{shadeStrength} \newcounter{shadeStrength}
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers % Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{ \newcommand{\setup}[1]{
\typeout{[Setup] Setting up...} \typeout{[Setup] Setting up...}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
\fancypagestyle{plain}{% \fancypagestyle{plain}{%
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
} }
\typeout{[Setup] Complete} \typeout{[Setup] Complete}
} }
% Start document command (required) % Start document command (required)
\newcommand{\startDocument}{ \newcommand{\startDocument}{
\maketitle \maketitle
\startDocumentNoTitle \startDocumentNoTitle
} }
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{ \newcommand{\startDocumentNoTitle}{
\pagestyle{fancy} \pagestyle{fancy}
\thispagestyle{fancy} \thispagestyle{fancy}
} }
% Set up the latex document, only configuring the author, title and page size % Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{ \newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup} \typeout{[Setup] Using barebones setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
% Set up the latex document for exam summaries (Extra wide body, small margins, no header) % Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{ \newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup} \typeout{[Setup] Using CheatSheet setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
@@ -225,35 +220,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -261,15 +256,15 @@
% -------------------- % % -------------------- %
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
\newcommand{\setFontType}[1]{ \newcommand{\setFontType}[1]{
\ifthenelse{\equal{#1}{mono}}{ \ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault} \renewcommand{\familydefault}{\ttdefault}
}{ }{
\ifthenelse{\equal{#1}{serif}}{ \ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault} \renewcommand{\familydefault}{\rmdefault}
}{ }{
\renewcommand{\familydefault}{\sfdefault} \renewcommand{\familydefault}{\sfdefault}
} }
} }
} }
\newcommand{\hrmvspace}{\vspace{-0.25pc}} \newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -287,16 +282,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -331,14 +326,14 @@
% Print a table of contents as a tcolorbox % Print a table of contents as a tcolorbox
\newcommand{\printtoc}[1]{ \newcommand{\printtoc}[1]{
\renewcommand{\cfttoctitlefont}{} \renewcommand{\cfttoctitlefont}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -348,40 +343,40 @@
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ %▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2}, \newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1} overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2}, \newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1} overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}} \newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
% Terms and notation % Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2}, \newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1} overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2}, \newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1} overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task % Task
@@ -394,7 +389,7 @@
% General % General
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2}, \newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
% Simple % Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1} \newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
@@ -546,9 +541,9 @@
% For using index package % For using index package
\newcommand{\prepareIndex}{ \newcommand{\prepareIndex}{
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{imakeidx} \usepackage{imakeidx}
\makeindex \makeindex
} }
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
@@ -604,22 +599,22 @@
% Set the current number of a label % Set the current number of a label
\newcommand{\setLabelNumber}[2]{% \newcommand{\setLabelNumber}[2]{%
\setcounter{#1}{#2}% \setcounter{#1}{#2}%
\addtocounter{#1}{-1}% \addtocounter{#1}{-1}%
\setcounter{#1ss}{#2}% \setcounter{#1ss}{#2}%
\addtocounter{#1ss}{-1}% \addtocounter{#1ss}{-1}%
\setcounter{#1sss}{#2}% \setcounter{#1sss}{#2}%
\addtocounter{#1sss}{-1}% \addtocounter{#1sss}{-1}%
} }
\newcommand{\stepLabelNumber}[1]{% \newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}% \stepcounter{#1}%
\stepcounter{#1ss}% \stepcounter{#1ss}%
\stepcounter{#1sss}% \stepcounter{#1sss}%
} }
\newcommand{\printcounter}[1]{% \newcommand{\printcounter}[1]{%
\csname the#1\endcsname \csname the#1\endcsname
} }
\newcommand{\suffix}{ss} \newcommand{\suffix}{ss}
@@ -629,119 +624,119 @@
% │ Counter numbering │ % │ Counter numbering │
% └ ┘ % └ ┘
\newcommand{\preTableAndFigHook}[1]{% \newcommand{\preTableAndFigHook}[1]{%
\ifnum\value{numberingConfig}>1 \ifnum\value{numberingConfig}>1
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\stepcounter{allss} \stepcounter{allss}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\stepcounter{allsss} \stepcounter{allsss}
\else \else
\stepcounter{all} \stepcounter{all}
\fi \fi
\fi \fi
\fi \fi
} }
\AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{ \newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures % Tables & Figures
\ifnum\value{numberingConfig}=0 \ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{} \renewcommand{\thetable}{}
\renewcommand{\thefigure}{} \renewcommand{\thefigure}{}
\else \else
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}} \renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else \else
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else \else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}} \renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi \fi
\fi \fi
\fi \fi
\fi \fi
} }
\newcommand{\setSubsectionNumbering}[1]{ \newcommand{\setSubsectionNumbering}[1]{
\setcounter{numberSubsections}{#1} \setcounter{numberSubsections}{#1}
\applySubsectionNumbering \applySubsectionNumbering
} }
\newcommand{\applySubsectionNumbering}{ \newcommand{\applySubsectionNumbering}{
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\sectionNumbering}{\thesubsection} \renewcommand{\sectionNumbering}{\thesubsection}
\renewcommand{\suffix}{ss} \renewcommand{\suffix}{ss}
\typeout{Numbering as section.subsection.number} \typeout{Numbering as section.subsection.number}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\sectionNumbering}{\thesubsubsection} \renewcommand{\sectionNumbering}{\thesubsubsection}
\renewcommand{\suffix}{sss} \renewcommand{\suffix}{sss}
\typeout{Numbering as section.subsection.subsubsection.number} \typeout{Numbering as section.subsection.subsubsection.number}
\else \else
\renewcommand{\sectionNumbering}{\thesection} \renewcommand{\sectionNumbering}{\thesection}
\renewcommand{\suffix}{} \renewcommand{\suffix}{}
\typeout{Numbering as section.number} \typeout{Numbering as section.number}
\fi \fi
\fi \fi
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
\renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}}
\renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}}
\renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}}
\renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}}
\renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}}
\renewcommand{\theexample}{\sectionNumbering.\arabic{example}} \renewcommand{\theexample}{\sectionNumbering.\arabic{example}}
\renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}}
\renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}}
\renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}}
\renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}}
\renewcommand{\theall}{\sectionNumbering.\arabic{all}} \renewcommand{\theall}{\sectionNumbering.\arabic{all}}
\renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}}
\renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}}
\renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}}
\renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}}
\renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}}
\renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}}
\renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}}
\renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}}
\renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}}
\renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}}
\renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}}
\renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}}
\renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}}
\renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}}
\renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}}
\renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}}
\renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}}
\renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}}
\renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}}
\renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}}
\renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}}
} }
\applySubsectionNumbering \applySubsectionNumbering
% ── Label generation ──────────────────────────────────────────────── % ── Label generation ────────────────────────────────────────────────
\newcommand{\labelSectionGeneration}{% \newcommand{\labelSectionGeneration}{%
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\arabic{section}-\arabic{subsection}% \arabic{section}-\arabic{subsection}%
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\arabic{section}-\arabic{subsection}-\arabic{subsubsection}% \arabic{section}-\arabic{subsection}-\arabic{subsubsection}%
\else \else
\arabic{section}% \arabic{section}%
\fi \fi
\fi} \fi}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
@@ -750,27 +745,27 @@
% │ Number the counters appropriately │ % │ Number the counters appropriately │
% └ ┘ % └ ┘
\newcommand{\usenumberArabic}[1]{% \newcommand{\usenumberArabic}[1]{%
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\labelIt{#1} \labelIt{#1}
\printcounter{#1\suffix}% \printcounter{#1\suffix}%
\else \else
\ifnum\value{numberingConfig}=2 \ifnum\value{numberingConfig}=2
\ifthenelse{\equal{#1}{definitions}}{% \ifthenelse{\equal{#1}{definitions}}{%
\labelIt{definition} \labelIt{definition}
\printcounter{definition\suffix}% \printcounter{definition\suffix}%
}{% }{%
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
}% }%
\else \else
\ifnum\value{numberingConfig}=3 \ifnum\value{numberingConfig}=3
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
\else \else
\relax% \relax%
\fi \fi
\fi \fi
\fi} \fi}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -783,22 +778,22 @@
% For later change % For later change
\newcommand{\setNumberingStyle}[1]{ \newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1} \typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1} \setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{ \ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1} \setcounter{numberingConfigStore}{#1}
} }
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% Enable / disable numbering % Enable / disable numbering
\newcommand{\numberingOff}{ \newcommand{\numberingOff}{
\setcounter{numberingConfig}{0} \setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
\newcommand{\numberingOn}{ \newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}} \setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -807,51 +802,51 @@
% │ new page │ % │ new page │
% ╰────────────────────────────────────────────────╯ % ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{ \newcommand{\newsection}{
\newpage \newpage
\newsectionNoPB \newsectionNoPB
} }
% ── Reset definitions, lemma, etc counters, do not add new page ───── % ── Reset definitions, lemma, etc counters, do not add new page ─────
\newcommand{\newsectionNoPB}{ \newcommand{\newsectionNoPB}{
\setcounter{lemma}{0} \setcounter{lemma}{0}
\setcounter{definition}{0} \setcounter{definition}{0}
\setcounter{corollary}{0} \setcounter{corollary}{0}
\setcounter{theorem}{0} \setcounter{theorem}{0}
\setcounter{axiom}{0} \setcounter{axiom}{0}
\setcounter{example}{0} \setcounter{example}{0}
\setcounter{fact}{0} \setcounter{fact}{0}
\setcounter{proposition}{0} \setcounter{proposition}{0}
\setcounter{formula}{0} \setcounter{formula}{0}
\setcounter{remark}{0} \setcounter{remark}{0}
\setcounter{all}{0} \setcounter{all}{0}
\setcounter{lemmass}{0} \setcounter{lemmass}{0}
\setcounter{definitionss}{0} \setcounter{definitionss}{0}
\setcounter{corollaryss}{0} \setcounter{corollaryss}{0}
\setcounter{theoremss}{0} \setcounter{theoremss}{0}
\setcounter{axiomss}{0} \setcounter{axiomss}{0}
\setcounter{exampless}{0} \setcounter{exampless}{0}
\setcounter{factss}{0} \setcounter{factss}{0}
\setcounter{propositionss}{0} \setcounter{propositionss}{0}
\setcounter{formulass}{0} \setcounter{formulass}{0}
\setcounter{remarkss}{0} \setcounter{remarkss}{0}
\setcounter{allss}{0} \setcounter{allss}{0}
\setcounter{lemmasss}{0} \setcounter{lemmasss}{0}
\setcounter{definitionsss}{0} \setcounter{definitionsss}{0}
\setcounter{corollarysss}{0} \setcounter{corollarysss}{0}
\setcounter{theoremsss}{0} \setcounter{theoremsss}{0}
\setcounter{axiomsss}{0} \setcounter{axiomsss}{0}
\setcounter{examplesss}{0} \setcounter{examplesss}{0}
\setcounter{factsss}{0} \setcounter{factsss}{0}
\setcounter{propositionsss}{0} \setcounter{propositionsss}{0}
\setcounter{formulasss}{0} \setcounter{formulasss}{0}
\setcounter{remarksss}{0} \setcounter{remarksss}{0}
\setcounter{allsss}{0} \setcounter{allsss}{0}
% Tables & Figures % Tables & Figures
\setcounter{table}{0} \setcounter{table}{0}
\setcounter{figure}{0} \setcounter{figure}{0}
} }
\newsectionNoPB % Initializes \newsectionNoPB % Initializes
@@ -867,39 +862,39 @@
% Theorems % Theorems
\newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2}, \newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1} overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
% Lemmas % Lemmas
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2}, \newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1} overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
% Corollaries % Corollaries
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2}, \newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1} overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
% Axioms % Axioms
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2}, \newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1} overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
% Facts % Facts
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2}, \newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1} overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
% Propositions % Propositions
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2}, \newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1} overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
% Examples % Examples
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2}, \newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1} overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
% Formula % Formula
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
% Remark % Remark
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1} overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -977,14 +972,14 @@
\algrenewcommand{\alglinenumber}[1]{#1} \algrenewcommand{\alglinenumber}[1]{#1}
\newenvironment{algo}[1]{ \newenvironment{algo}[1]{
\begin{algorithm} \begin{algorithm}
\begin{spacing}{1.2} \begin{spacing}{1.2}
\caption{\textsc{#1}} \caption{\textsc{#1}}
\begin{algorithmic}[1] \begin{algorithmic}[1]
}{ }{
\end{algorithmic} \end{algorithmic}
\end{spacing} \end{spacing}
\end{algorithm} \end{algorithm}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1005,10 +1000,10 @@
% Specific styles for language summaries and docs % Specific styles for language summaries and docs
\newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2}, \newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1} overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1}
\newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1022,26 +1017,26 @@
% Create new table. #1 Layout, #2 title row % Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{ \newenvironment{tables}[2]{
\begin{center} \begin{center}
\begin{tabular}{#1} \begin{tabular}{#1}
\toprule \toprule
#2 \\ #2 \\
\midrule \midrule
}{ }{
\bottomrule \bottomrule
\end{tabular} \end{tabular}
\end{center} \end{center}
} }
% Create new table in table env. #1 layout, #2 title row, #3 caption % Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{ \newenvironment{fullTable}[3]{
\edef\tableCaption{#3} \edef\tableCaption{#3}
\begin{table}[h!] \begin{table}[h!]
\begin{tables}{#1}{#2} \begin{tables}{#1}{#2}
}{ }{
\end{tables} \end{tables}
\caption{\tableCaption} \caption{\tableCaption}
\end{table} \end{table}
} }
% ___ _ _____ _ _ % ___ _ _____ _ _
@@ -1054,14 +1049,14 @@
% Configs if you want to use BibTeX. Not included in any default configs. % Configs if you want to use BibTeX. Not included in any default configs.
\newcommand{\setupBibtex}[1]{ \newcommand{\setupBibtex}[1]{
\usepackage{biblatex} \usepackage{biblatex}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\addbibresource{#1} \addbibresource{#1}
} }
\newcommand{\printbib}{ \newcommand{\printbib}{
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}} \addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
\printbibliography[title=\translate{Sources}{Quellen}] \printbibliography[title=\translate{Sources}{Quellen}]
} }
@@ -1072,12 +1067,12 @@
% Add glossaries functionality % Add glossaries functionality
\newcommand{\setupGlossary}{ \newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries} \usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries \makenoidxglossaries
} }
\newcommand{\printGlossary}{ \newcommand{\printGlossary}{
\glsaddall \glsaddall
\printnoidxglossaries \printnoidxglossaries
} }

View File

@@ -8,12 +8,12 @@
% Configs if you want to use BibTeX. Not included in any default configs. % Configs if you want to use BibTeX. Not included in any default configs.
\newcommand{\setupBibtex}[1]{ \newcommand{\setupBibtex}[1]{
\usepackage{biblatex} \usepackage{biblatex}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\addbibresource{#1} \addbibresource{#1}
} }
\newcommand{\printbib}{ \newcommand{\printbib}{
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}} \addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
\printbibliography[title=\translate{Sources}{Quellen}] \printbibliography[title=\translate{Sources}{Quellen}]
} }

View File

@@ -6,12 +6,12 @@
% Add glossaries functionality % Add glossaries functionality
\newcommand{\setupGlossary}{ \newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries} \usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind} \usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries \makenoidxglossaries
} }
\newcommand{\printGlossary}{ \newcommand{\printGlossary}{
\glsaddall \glsaddall
\printnoidxglossaries \printnoidxglossaries
} }

View File

@@ -10,8 +10,8 @@
% Args: Language, Code % Args: Language, Code
\newenvironment{code}[1]{ \newenvironment{code}[1]{
\VerbatimEnvironment \VerbatimEnvironment
\begin{minted}[ \begin{minted}[
autogobble, autogobble,
breaklines, breaklines,
breakindentnchars=2, breakindentnchars=2,
@@ -25,23 +25,23 @@
% Args: Language, file relative to root file % Args: Language, file relative to root file
\newcommand{\inputcode}[2]{ \newcommand{\inputcode}[2]{
\inputminted[ \inputminted[
autogobble, autogobble,
breaklines, breaklines,
breakindentnchars=2, breakindentnchars=2,
frame=lines, frame=lines,
framesep=2mm, framesep=2mm,
mathescape, mathescape,
baselinestretch=1.1, baselinestretch=1.1,
linenos linenos
]{#1}{#2} ]{#1}{#2}
} }
% Args: Language, Base directory (with trailing slash), file (no slash at start) % Args: Language, Base directory (with trailing slash), file (no slash at start)
\newcommand{\inputcodewithfilename}[3]{ \newcommand{\inputcodewithfilename}[3]{
\begin{figure}[h!] \begin{figure}[h!]
\texttt{File: \detokenize{#3}} \texttt{File: \detokenize{#3}}
\rmvspace \rmvspace
\inputcode{#1}{#2#3} \inputcode{#1}{#2#3}
\end{figure} \end{figure}
} }

View File

@@ -45,32 +45,32 @@
\newcounter{lang} \newcounter{lang}
\newcommand{\setLang}[1]{ \newcommand{\setLang}[1]{
\edef\lang{#1} \edef\lang{#1}
\edef\en{en} \edef\en{en}
\edef\de{de} \edef\de{de}
\ifx\lang\en \ifx\lang\en
\typeout{[Lang Switcher] Loading English} \typeout{[Lang Switcher] Loading English}
\setcounter{lang}{1} \setcounter{lang}{1}
\else \else
\ifx\lang\de \ifx\lang\de
\typeout{[Lang Switcher] Loading German} \typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2} \setcounter{lang}{2}
\usepackage[ngerman]{babel} \usepackage[ngerman]{babel}
\else \else
\typeout{[Lang Switcher] No such language!} \typeout{[Lang Switcher] No such language!}
\fi \fi
\fi \fi
} }
% Deprecated, as not useful % Deprecated, as not useful
\newcommand{\loadLang}{ \newcommand{\loadLang}{
\ifnum\value{lang}<2{ \ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English} \typeout{[Lang Loader] Loaded English}
}\else { }\else {
\typeout{[Lang Loader] Loaded German} \typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2} \setcounter{lang}{2}
} }
\fi \fi
} }
@@ -84,56 +84,56 @@
% ── Setup ─────────────────────────────────────────────────────────── % ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers % Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{ \newcommand{\setup}[1]{
\typeout{[Setup] Setting up...} \typeout{[Setup] Setting up...}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
\fancypagestyle{plain}{% \fancypagestyle{plain}{%
\fancyhead{} \fancyhead{}
\fancyhead[L]{#1} \fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders} \fancyhead[R]{\authorHeaders}
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{\today} \fancyfoot[L]{\today}
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
} }
\typeout{[Setup] Complete} \typeout{[Setup] Complete}
} }
% Start document command (required) % Start document command (required)
\newcommand{\startDocument}{ \newcommand{\startDocument}{
\maketitle \maketitle
\startDocumentNoTitle \startDocumentNoTitle
} }
% Or this one, if you don't want a title % Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{ \newcommand{\startDocumentNoTitle}{
\pagestyle{fancy} \pagestyle{fancy}
\thispagestyle{fancy} \thispagestyle{fancy}
} }
% Set up the latex document, only configuring the author, title and page size % Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{ \newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup} \typeout{[Setup] Using barebones setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }
% Set up the latex document for exam summaries (Extra wide body, small margins, no header) % Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{ \newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup} \typeout{[Setup] Using CheatSheet setup}
\loadLang \loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}} \title{\Huge \textbf{#1}}
\author{\authorTitle} \author{\authorTitle}
} }

View File

@@ -10,9 +10,9 @@
% For using index package % For using index package
\newcommand{\prepareIndex}{ \newcommand{\prepareIndex}{
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{imakeidx} \usepackage{imakeidx}
\makeindex \makeindex
} }
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}

View File

@@ -5,40 +5,40 @@
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ %▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2}, \newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1} overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2}, \newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1} overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2}, \newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1} overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}} \newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
% Terms and notation % Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2}, \newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1} overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2}, \newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1} overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1} overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task % Task
@@ -51,7 +51,7 @@
% General % General
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2}, \newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1} overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
% Simple % Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1} \newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}

View File

@@ -46,22 +46,22 @@
% Set the current number of a label % Set the current number of a label
\newcommand{\setLabelNumber}[2]{% \newcommand{\setLabelNumber}[2]{%
\setcounter{#1}{#2}% \setcounter{#1}{#2}%
\addtocounter{#1}{-1}% \addtocounter{#1}{-1}%
\setcounter{#1ss}{#2}% \setcounter{#1ss}{#2}%
\addtocounter{#1ss}{-1}% \addtocounter{#1ss}{-1}%
\setcounter{#1sss}{#2}% \setcounter{#1sss}{#2}%
\addtocounter{#1sss}{-1}% \addtocounter{#1sss}{-1}%
} }
\newcommand{\stepLabelNumber}[1]{% \newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}% \stepcounter{#1}%
\stepcounter{#1ss}% \stepcounter{#1ss}%
\stepcounter{#1sss}% \stepcounter{#1sss}%
} }
\newcommand{\printcounter}[1]{% \newcommand{\printcounter}[1]{%
\csname the#1\endcsname \csname the#1\endcsname
} }
\newcommand{\suffix}{ss} \newcommand{\suffix}{ss}
@@ -71,119 +71,119 @@
% │ Counter numbering │ % │ Counter numbering │
% └ ┘ % └ ┘
\newcommand{\preTableAndFigHook}[1]{% \newcommand{\preTableAndFigHook}[1]{%
\ifnum\value{numberingConfig}>1 \ifnum\value{numberingConfig}>1
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\stepcounter{allss} \stepcounter{allss}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\stepcounter{allsss} \stepcounter{allsss}
\else \else
\stepcounter{all} \stepcounter{all}
\fi \fi
\fi \fi
\fi \fi
} }
\AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{ \newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures % Tables & Figures
\ifnum\value{numberingConfig}=0 \ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{} \renewcommand{\thetable}{}
\renewcommand{\thefigure}{} \renewcommand{\thefigure}{}
\else \else
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}} \renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else \else
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else \else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}} \renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi \fi
\fi \fi
\fi \fi
\fi \fi
} }
\newcommand{\setSubsectionNumbering}[1]{ \newcommand{\setSubsectionNumbering}[1]{
\setcounter{numberSubsections}{#1} \setcounter{numberSubsections}{#1}
\applySubsectionNumbering \applySubsectionNumbering
} }
\newcommand{\applySubsectionNumbering}{ \newcommand{\applySubsectionNumbering}{
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\renewcommand{\sectionNumbering}{\thesubsection} \renewcommand{\sectionNumbering}{\thesubsection}
\renewcommand{\suffix}{ss} \renewcommand{\suffix}{ss}
\typeout{Numbering as section.subsection.number} \typeout{Numbering as section.subsection.number}
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\renewcommand{\sectionNumbering}{\thesubsubsection} \renewcommand{\sectionNumbering}{\thesubsubsection}
\renewcommand{\suffix}{sss} \renewcommand{\suffix}{sss}
\typeout{Numbering as section.subsection.subsubsection.number} \typeout{Numbering as section.subsection.subsubsection.number}
\else \else
\renewcommand{\sectionNumbering}{\thesection} \renewcommand{\sectionNumbering}{\thesection}
\renewcommand{\suffix}{} \renewcommand{\suffix}{}
\typeout{Numbering as section.number} \typeout{Numbering as section.number}
\fi \fi
\fi \fi
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
\renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}}
\renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}}
\renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}}
\renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}}
\renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}}
\renewcommand{\theexample}{\sectionNumbering.\arabic{example}} \renewcommand{\theexample}{\sectionNumbering.\arabic{example}}
\renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}}
\renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}}
\renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}}
\renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}}
\renewcommand{\theall}{\sectionNumbering.\arabic{all}} \renewcommand{\theall}{\sectionNumbering.\arabic{all}}
\renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}}
\renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}}
\renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}}
\renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}}
\renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}}
\renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}}
\renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}}
\renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}}
\renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}}
\renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}}
\renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}}
\renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}}
\renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}}
\renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}}
\renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}}
\renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}}
\renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}}
\renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}}
\renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}}
\renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}}
\renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}}
} }
\applySubsectionNumbering \applySubsectionNumbering
% ── Label generation ──────────────────────────────────────────────── % ── Label generation ────────────────────────────────────────────────
\newcommand{\labelSectionGeneration}{% \newcommand{\labelSectionGeneration}{%
\ifnum\value{numberSubsections}=1 \ifnum\value{numberSubsections}=1
\arabic{section}-\arabic{subsection}% \arabic{section}-\arabic{subsection}%
\else \else
\ifnum\value{numberSubsections}=2 \ifnum\value{numberSubsections}=2
\arabic{section}-\arabic{subsection}-\arabic{subsubsection}% \arabic{section}-\arabic{subsection}-\arabic{subsubsection}%
\else \else
\arabic{section}% \arabic{section}%
\fi \fi
\fi} \fi}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
@@ -192,27 +192,27 @@
% │ Number the counters appropriately │ % │ Number the counters appropriately │
% └ ┘ % └ ┘
\newcommand{\usenumberArabic}[1]{% \newcommand{\usenumberArabic}[1]{%
\ifnum\value{numberingConfig}=1 \ifnum\value{numberingConfig}=1
\labelIt{#1} \labelIt{#1}
\printcounter{#1\suffix}% \printcounter{#1\suffix}%
\else \else
\ifnum\value{numberingConfig}=2 \ifnum\value{numberingConfig}=2
\ifthenelse{\equal{#1}{definitions}}{% \ifthenelse{\equal{#1}{definitions}}{%
\labelIt{definition} \labelIt{definition}
\printcounter{definition\suffix}% \printcounter{definition\suffix}%
}{% }{%
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
}% }%
\else \else
\ifnum\value{numberingConfig}=3 \ifnum\value{numberingConfig}=3
\labelIt{all} \labelIt{all}
\printcounter{all\suffix}% \printcounter{all\suffix}%
\else \else
\relax% \relax%
\fi \fi
\fi \fi
\fi} \fi}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -225,22 +225,22 @@
% For later change % For later change
\newcommand{\setNumberingStyle}[1]{ \newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1} \typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1} \setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{ \ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1} \setcounter{numberingConfigStore}{#1}
} }
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% Enable / disable numbering % Enable / disable numbering
\newcommand{\numberingOff}{ \newcommand{\numberingOff}{
\setcounter{numberingConfig}{0} \setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
\newcommand{\numberingOn}{ \newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}} \setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering \applyTableAndFigureNumbering
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -249,51 +249,51 @@
% │ new page │ % │ new page │
% ╰────────────────────────────────────────────────╯ % ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{ \newcommand{\newsection}{
\newpage \newpage
\newsectionNoPB \newsectionNoPB
} }
% ── Reset definitions, lemma, etc counters, do not add new page ───── % ── Reset definitions, lemma, etc counters, do not add new page ─────
\newcommand{\newsectionNoPB}{ \newcommand{\newsectionNoPB}{
\setcounter{lemma}{0} \setcounter{lemma}{0}
\setcounter{definition}{0} \setcounter{definition}{0}
\setcounter{corollary}{0} \setcounter{corollary}{0}
\setcounter{theorem}{0} \setcounter{theorem}{0}
\setcounter{axiom}{0} \setcounter{axiom}{0}
\setcounter{example}{0} \setcounter{example}{0}
\setcounter{fact}{0} \setcounter{fact}{0}
\setcounter{proposition}{0} \setcounter{proposition}{0}
\setcounter{formula}{0} \setcounter{formula}{0}
\setcounter{remark}{0} \setcounter{remark}{0}
\setcounter{all}{0} \setcounter{all}{0}
\setcounter{lemmass}{0} \setcounter{lemmass}{0}
\setcounter{definitionss}{0} \setcounter{definitionss}{0}
\setcounter{corollaryss}{0} \setcounter{corollaryss}{0}
\setcounter{theoremss}{0} \setcounter{theoremss}{0}
\setcounter{axiomss}{0} \setcounter{axiomss}{0}
\setcounter{exampless}{0} \setcounter{exampless}{0}
\setcounter{factss}{0} \setcounter{factss}{0}
\setcounter{propositionss}{0} \setcounter{propositionss}{0}
\setcounter{formulass}{0} \setcounter{formulass}{0}
\setcounter{remarkss}{0} \setcounter{remarkss}{0}
\setcounter{allss}{0} \setcounter{allss}{0}
\setcounter{lemmasss}{0} \setcounter{lemmasss}{0}
\setcounter{definitionsss}{0} \setcounter{definitionsss}{0}
\setcounter{corollarysss}{0} \setcounter{corollarysss}{0}
\setcounter{theoremsss}{0} \setcounter{theoremsss}{0}
\setcounter{axiomsss}{0} \setcounter{axiomsss}{0}
\setcounter{examplesss}{0} \setcounter{examplesss}{0}
\setcounter{factsss}{0} \setcounter{factsss}{0}
\setcounter{propositionsss}{0} \setcounter{propositionsss}{0}
\setcounter{formulasss}{0} \setcounter{formulasss}{0}
\setcounter{remarksss}{0} \setcounter{remarksss}{0}
\setcounter{allsss}{0} \setcounter{allsss}{0}
% Tables & Figures % Tables & Figures
\setcounter{table}{0} \setcounter{table}{0}
\setcounter{figure}{0} \setcounter{figure}{0}
} }
\newsectionNoPB % Initializes \newsectionNoPB % Initializes
@@ -309,39 +309,39 @@
% Theorems % Theorems
\newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2}, \newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1} overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
% Lemmas % Lemmas
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2}, \newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1} overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
% Corollaries % Corollaries
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2}, \newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1} overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
% Axioms % Axioms
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2}, \newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1} overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
% Facts % Facts
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2}, \newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1} overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
% Propositions % Propositions
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2}, \newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1} overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
% Examples % Examples
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2}, \newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1} overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
% Formula % Formula
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
% Remark % Remark
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2}, \newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1} overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────

View File

@@ -14,12 +14,12 @@
\algrenewcommand{\alglinenumber}[1]{#1} \algrenewcommand{\alglinenumber}[1]{#1}
\newenvironment{algo}[1]{ \newenvironment{algo}[1]{
\begin{algorithm} \begin{algorithm}
\begin{spacing}{1.2} \begin{spacing}{1.2}
\caption{\textsc{#1}} \caption{\textsc{#1}}
\begin{algorithmic}[1] \begin{algorithmic}[1]
}{ }{
\end{algorithmic} \end{algorithmic}
\end{spacing} \end{spacing}
\end{algorithm} \end{algorithm}
} }

View File

@@ -4,7 +4,7 @@
% Specific styles for language summaries and docs % Specific styles for language summaries and docs
\newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2}, \newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1} overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1}
\newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2}, \newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1} overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}

View File

@@ -10,35 +10,35 @@
% Global style configs for tcolorbox (to reduce bloat) % Global style configs for tcolorbox (to reduce bloat)
\newcommand{\usetcolorboxes}{ \newcommand{\usetcolorboxes}{
\tcbset{ \tcbset{
mainboxstyle/.style={ mainboxstyle/.style={
arc=3mm, arc=3mm,
colback=red!5!white, colback=red!5!white,
colframe=red!75!black, colframe=red!75!black,
colbacktitle=red!75!black, colbacktitle=red!75!black,
fonttitle=\bfseries, fonttitle=\bfseries,
enhanced, enhanced,
attach boxed title to top left={yshift=-2mm,xshift=5mm}, attach boxed title to top left={yshift=-2mm,xshift=5mm},
breakable, breakable,
top=0.4cm, top=0.4cm,
} }
} }
\tikzset{ \tikzset{
overlaystyle/.style={ overlaystyle/.style={
draw=red!75!black, draw=red!75!black,
thick, thick,
fill=red!75!black, fill=red!75!black,
left, left,
anchor=east, anchor=east,
text=white, text=white,
rounded corners=1mm, rounded corners=1mm,
font=\bfseries, font=\bfseries,
xshift=-5mm, xshift=-5mm,
yshift=1mm, yshift=1mm,
inner xsep=3mm, inner xsep=3mm,
inner ysep=1.5mm inner ysep=1.5mm
} }
} }
} }
% -------------------- % % -------------------- %
@@ -46,15 +46,15 @@
% -------------------- % % -------------------- %
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
\newcommand{\setFontType}[1]{ \newcommand{\setFontType}[1]{
\ifthenelse{\equal{#1}{mono}}{ \ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault} \renewcommand{\familydefault}{\ttdefault}
}{ }{
\ifthenelse{\equal{#1}{serif}}{ \ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault} \renewcommand{\familydefault}{\rmdefault}
}{ }{
\renewcommand{\familydefault}{\sfdefault} \renewcommand{\familydefault}{\sfdefault}
} }
} }
} }
\newcommand{\hrmvspace}{\vspace{-0.25pc}} \newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -72,16 +72,16 @@
% Add a color shade (similar to \fhlc, but nicer boxes) % Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line, \newcommand{\background}[3]{\tcbox[on line,
boxsep=2pt, boxsep=2pt,
left=0pt, left=0pt,
right=0pt, right=0pt,
top=0pt, top=0pt,
bottom=0pt, bottom=0pt,
colframe=white, colframe=white,
frame empty, frame empty,
colback=#1!#2!white, colback=#1!#2!white,
highlight math style={enhanced} highlight math style={enhanced}
] {\textbf{#3}}} ] {\textbf{#3}}}
% Abstraction of background, where the brightness is set to 20% % Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -116,12 +116,12 @@
% Print a table of contents as a tcolorbox % Print a table of contents as a tcolorbox
\newcommand{\printtoc}[1]{ \newcommand{\printtoc}[1]{
\renewcommand{\cfttoctitlefont}{} \renewcommand{\cfttoctitlefont}{}
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
\renewcommand{\contentsname}{} \renewcommand{\contentsname}{}
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm}, \begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable] title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
\hspace{1cm} \hspace{1cm}
\tableofcontents \tableofcontents
\end{tcolorbox} \end{tcolorbox}
} }

View File

@@ -10,24 +10,24 @@
% Create new table. #1 Layout, #2 title row % Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{ \newenvironment{tables}[2]{
\begin{center} \begin{center}
\begin{tabular}{#1} \begin{tabular}{#1}
\toprule \toprule
#2 \\ #2 \\
\midrule \midrule
}{ }{
\bottomrule \bottomrule
\end{tabular} \end{tabular}
\end{center} \end{center}
} }
% Create new table in table env. #1 layout, #2 title row, #3 caption % Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{ \newenvironment{fullTable}[3]{
\edef\tableCaption{#3} \edef\tableCaption{#3}
\begin{table}[h!] \begin{table}[h!]
\begin{tables}{#1}{#2} \begin{tables}{#1}{#2}
}{ }{
\end{tables} \end{tables}
\caption{\tableCaption} \caption{\tableCaption}
\end{table} \end{table}
} }