[skip ci] Build helpers on push

This commit is contained in:
Helpers compiler [bot]
2026-02-23 08:04:17 +00:00
parent 6c8f20336c
commit 9856f13f76
23 changed files with 2069 additions and 2150 deletions

View File

@@ -1,82 +0,0 @@
# Use spaces for indent (because f*k tabs)
defaultIndent: " "
# Limit Number of backups
maxNumberOfBackups: 3
verbatimEnvironments:
verbatim: 1
lstlisting: 1
minted: 1
code: 1
indentRules:
recall: " "
remarks: " "
remark: " "
guides: " "
properties: " "
restrictions: " "
limitations: " "
terms: " "
notation: " "
usage: " "
task: " "
proof: " "
general: " "
simplebox: " "
definition: " "
theorem: " "
lemma: " "
corollary: " "
axiom: " "
fact: " "
proposition: " "
example: " "
formula: " "
conjugation: " "
forms: " "
lookForAlignDelims:
tables:
delims: 1
alignDoubleBackSlash: 1
spacesBeforeDoubleBackSlash: 1
multiColumnGrouping: 0
alignRowsWithoutMaxDelims: 1
spacesBeforeAmpersand: 1
spacesAfterAmpersand: 1
justification: left
alignFinalDoubleBackSlash: 0
dontMeasure: 0
delimiterRegEx: (?<!\\)(&)
delimiterJustification: left
lookForChildCodeBlocks: 1
alignContentAfterDoubleBackSlash: 0
spacesAfterDoubleBackSlash: 1
specialBeginEnd:
If:
begin: '\\If'
middle:
- '\\ElsIf'
- '\\Else'
end: '\\EndIf'
lookForThis: 1
For:
begin: '\\For'
end: '\\EndFor'
lookForThis: 1
Procedure:
begin: '\\Procedure'
end: '\\EndProcedure'
lookForThis: 1
Function:
begin: '\\Function'
end: '\\EndFunction'
lookForThis: 1
While:
begin: '\\While'
end: '\\EndWhile'
lookForThis: 1
specialBeforeCommand: 1

746
dist/full.tex vendored
View File

@@ -56,32 +56,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
} }
@@ -97,69 +97,69 @@
% ── 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
\edef\valtrue{true} \edef\valtrue{true}
\ifbool{cheatSheetLandscape}{ \ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns} \typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram} \usepackage{flowfram}
\allowdisplaybreaks \allowdisplaybreaks
\ffvadjustfalse \ffvadjustfalse
\setlength{\columnsep}{1cm} \setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}} \Ncolumn{\arabic{colCount}}
}{ }{
\typeout{[Setup] Using portrait} \typeout{[Setup] Using portrait}
\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}
} }
@@ -248,35 +248,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
} }
} }
} }
% -------------------- % % -------------------- %
@@ -284,15 +284,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}}
@@ -310,16 +310,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}}
@@ -354,14 +354,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}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes % General tcolorboxes
\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
@@ -418,7 +418,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}
@@ -572,9 +572,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}}
@@ -630,22 +630,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}
@@ -655,119 +655,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}{\arabic{table}} \renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\thefigure}{\arabic{figure}}
\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}
@@ -776,27 +776,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -809,22 +809,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
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -833,51 +833,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
@@ -893,39 +893,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -1003,14 +1003,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}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1031,10 +1031,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}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1048,26 +1048,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}
} }
% ___ _ _____ _ _ % ___ _ _____ _ _
@@ -1080,14 +1080,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}]
} }
@@ -1098,14 +1098,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
} }
% ┌ ┐ % ┌ ┐
@@ -1120,8 +1120,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,
@@ -1135,23 +1135,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}
} }

14
dist/letter.tex vendored
View File

@@ -21,12 +21,12 @@
% Define new letter header % Define new letter header
\setkomavar{firsthead}{ \setkomavar{firsthead}{
\null\hfill \null\hfill
\parbox[t][\headheight][t]{4cm}{% \parbox[t][\headheight][t]{4cm}{%
\vspace*{2cm} \vspace*{2cm}
\usekomavar{fromname} \newline \usekomavar{fromname} \newline
\usekomavar{fromaddress} \newline \usekomavar{fromaddress} \newline
\usekomavar{fromplace} \usekomavar{fromplace}
} }
}% }%

270
dist/minimal.tex vendored
View File

@@ -56,32 +56,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
} }
@@ -97,69 +97,69 @@
% ── 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
\edef\valtrue{true} \edef\valtrue{true}
\ifbool{cheatSheetLandscape}{ \ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns} \typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram} \usepackage{flowfram}
\allowdisplaybreaks \allowdisplaybreaks
\ffvadjustfalse \ffvadjustfalse
\setlength{\columnsep}{1cm} \setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}} \Ncolumn{\arabic{colCount}}
}{ }{
\typeout{[Setup] Using portrait} \typeout{[Setup] Using portrait}
\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}
} }
@@ -248,35 +248,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
} }
} }
} }
% -------------------- % % -------------------- %
@@ -284,15 +284,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}}
@@ -310,16 +310,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}}
@@ -354,14 +354,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}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes % General tcolorboxes
\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
@@ -418,7 +418,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}

692
dist/most.tex vendored
View File

@@ -56,32 +56,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
} }
@@ -97,69 +97,69 @@
% ── 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
\edef\valtrue{true} \edef\valtrue{true}
\ifbool{cheatSheetLandscape}{ \ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns} \typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram} \usepackage{flowfram}
\allowdisplaybreaks \allowdisplaybreaks
\ffvadjustfalse \ffvadjustfalse
\setlength{\columnsep}{1cm} \setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}} \Ncolumn{\arabic{colCount}}
}{ }{
\typeout{[Setup] Using portrait} \typeout{[Setup] Using portrait}
\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}
} }
@@ -248,35 +248,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
} }
} }
} }
% -------------------- % % -------------------- %
@@ -284,15 +284,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}}
@@ -310,16 +310,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}}
@@ -354,14 +354,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}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes % General tcolorboxes
\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
@@ -418,7 +418,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}
@@ -572,9 +572,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}}
@@ -630,22 +630,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}
@@ -655,119 +655,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}{\arabic{table}} \renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\thefigure}{\arabic{figure}}
\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}
@@ -776,27 +776,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -809,22 +809,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
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -833,51 +833,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
@@ -893,39 +893,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -1003,14 +1003,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}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1031,10 +1031,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}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1048,24 +1048,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}
} }

712
dist/recommended.tex vendored
View File

@@ -56,32 +56,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
} }
@@ -97,69 +97,69 @@
% ── 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
\edef\valtrue{true} \edef\valtrue{true}
\ifbool{cheatSheetLandscape}{ \ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns} \typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram} \usepackage{flowfram}
\allowdisplaybreaks \allowdisplaybreaks
\ffvadjustfalse \ffvadjustfalse
\setlength{\columnsep}{1cm} \setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}} \Ncolumn{\arabic{colCount}}
}{ }{
\typeout{[Setup] Using portrait} \typeout{[Setup] Using portrait}
\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}
} }
@@ -248,35 +248,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
} }
} }
} }
% -------------------- % % -------------------- %
@@ -284,15 +284,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}}
@@ -310,16 +310,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}}
@@ -354,14 +354,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}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes % General tcolorboxes
\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
@@ -418,7 +418,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}
@@ -572,9 +572,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}}
@@ -630,22 +630,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}
@@ -655,119 +655,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}{\arabic{table}} \renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\thefigure}{\arabic{figure}}
\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}
@@ -776,27 +776,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -809,22 +809,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
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -833,51 +833,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
@@ -893,39 +893,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -1003,14 +1003,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}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1031,10 +1031,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}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1048,26 +1048,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}
} }
% ___ _ _____ _ _ % ___ _ _____ _ _
@@ -1080,14 +1080,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}]
} }
@@ -1098,12 +1098,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

@@ -13,17 +13,17 @@
\vspace{2cm} \vspace{2cm}
\begin{center} \begin{center}
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg} \includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
\end{center} \end{center}
\vspace{5cm} \vspace{5cm}
\begin{center} \begin{center}
\begin{Large} \begin{Large}
\textsc{Usage guide for Version 2.0.0} \textsc{Usage guide for Version 2.0.0}
\end{Large} \end{Large}
\hlurl{https://git.janishutz.com/janishutz/latex} \hlurl{https://git.janishutz.com/janishutz/latex}
\end{center} \end{center}

View File

@@ -8,23 +8,23 @@ To switch back to the latest version, run \texttt{git checkout main}.
Alternatively, you can change one line: The input line should point to \texttt{<repo>/old/janishutz-helpers-v1.tex} Alternatively, you can change one line: The input line should point to \texttt{<repo>/old/janishutz-helpers-v1.tex}
\begin{enumerate} \begin{enumerate}
\item Update the import path to \texttt{/path/to/helpers/janishutz-helpers.tex} \item Update the import path to \texttt{/path/to/helpers/janishutz-helpers.tex}
\item If you don't plan to change the design of your cheat sheet, then replace \verb|\setupCheatSheet|\{\textit{string}\} with \verb|\setupCheatSheet[false]|\{\textit{string}\} \item If you don't plan to change the design of your cheat sheet, then replace \verb|\setupCheatSheet|\{\textit{string}\} with \verb|\setupCheatSheet[false]|\{\textit{string}\}
\item Remove \verb|\usetcolorboxes| if it was used (now integrated into \verb|\startDocument|) \item Remove \verb|\usetcolorboxes| if it was used (now integrated into \verb|\startDocument|)
\item Replace any \verb|\setNumberingStyle|\{\textit{number}\} with \verb|\setnumberingpreset|\{\textit{preset}\} (see \ref{sec:perFileConf}) \item Replace any \verb|\setNumberingStyle|\{\textit{number}\} with \verb|\setnumberingpreset|\{\textit{preset}\} (see \ref{sec:perFileConf})
\item Replace any \verb|\setSubsectionNumbering|\{\textit{number}\} with \verb|\setsubsectionnumbering|\{\textit{preset}\} \item Replace any \verb|\setSubsectionNumbering|\{\textit{number}\} with \verb|\setsubsectionnumbering|\{\textit{preset}\}
\item Remove any \verb|\drmvspace| and the like, they have been deprecated. \verb|\rmvspace|[\textit{number}] is still around, but only for edge cases, \item Remove any \verb|\drmvspace| and the like, they have been deprecated. \verb|\rmvspace|[\textit{number}] is still around, but only for edge cases,
where the \texttt{Xverticalspacing} (\texttt{X} can be replaced with \texttt{no}, \texttt{small}, \texttt{medium} or \texttt{large}) commands don't do a good enough job. where the \texttt{Xverticalspacing} (\texttt{X} can be replaced with \texttt{no}, \texttt{small}, \texttt{medium} or \texttt{large}) commands don't do a good enough job.
\item \verb|\fhlc| and \verb|\fhl| have been removed. The closes replacement is \verb|\shade|. \item \verb|\fhlc| and \verb|\fhl| have been removed. The closes replacement is \verb|\shade|.
\item Environments \texttt{remarks}, \texttt{conjugation}, \texttt{forms} and \texttt{guides} have been removed \item Environments \texttt{remarks}, \texttt{conjugation}, \texttt{forms} and \texttt{guides} have been removed
\item All descriptors no longer automatically have a label attached to them. \item All descriptors no longer automatically have a label attached to them.
If you want to make a label \texttt{ref}able, then use \verb|\labeledShort|, or \verb|\labeledInline|, respectively (see \ref{sec:counter-ref}). If you want to make a label \texttt{ref}able, then use \verb|\labeledShort|, or \verb|\labeledInline|, respectively (see \ref{sec:counter-ref}).
\item The descriptors \verb|\shortdef| and \verb|\shortex| have been renamed to \verb|\shortdefinition| and \verb|\shortexample| (same for the inline versions) \item The descriptors \verb|\shortdef| and \verb|\shortex| have been renamed to \verb|\shortdefinition| and \verb|\shortexample| (same for the inline versions)
\item The descriptors \verb|\fancyY| and \verb|\compactY| (where Y is a type like \texttt{definition}) have been removed \item The descriptors \verb|\fancyY| and \verb|\compactY| (where Y is a type like \texttt{definition}) have been removed
and you can now use an optional argument on the descriptors. See \ref{sec:descriptors} and you can now use an optional argument on the descriptors. See \ref{sec:descriptors}
\item The deprecated \verb|\tc| and \verb|\timecomplexity| commands have been removed. \item The deprecated \verb|\tc| and \verb|\timecomplexity| commands have been removed.
\item Was not mentioned, but was already possible, is to import code from a source code file. See \ref{sec:minted} \item Was not mentioned, but was already possible, is to import code from a source code file. See \ref{sec:minted}
\item \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc \item \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc
\item \verb|\divides| has been renamed \verb|\divider| \item \verb|\divides| has been renamed \verb|\divider|
\item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively \item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively
\end{enumerate} \end{enumerate}

View File

@@ -2,16 +2,16 @@
\subsection{CS-Commands} \subsection{CS-Commands}
These commands have to be executed inside math environment These commands have to be executed inside math environment
\begin{itemize} \begin{itemize}
\item \verb|\tct| Time complexity in $\tct{}$-notation (average case) \item \verb|\tct| Time complexity in $\tct{}$-notation (average case)
\item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound) \item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound)
\item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound) \item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound)
\item \verb|\t[R, C, N]| Simply prints a capital R, C or N in math mode as normal text. So e.g. use $\tR$ to print an R \item \verb|\t[R, C, N]| Simply prints a capital R, C or N in math mode as normal text. So e.g. use $\tR$ to print an R
\item \verb|\wordbool| Prints $\wordbool$ \item \verb|\wordbool| Prints $\wordbool$
\item \verb|\words|\{\textit{string}\} Prints $\words{test}$ \item \verb|\words|\{\textit{string}\} Prints $\words{test}$
\item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$ \item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$
\item \verb|\word| Prints $\word$ \item \verb|\word| Prints $\word$
\item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$ \item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$
\item \verb|\alphabetbool| Prints $\alphabetbool$ \item \verb|\alphabetbool| Prints $\alphabetbool$
\end{itemize} \end{itemize}
\subsubsection{Algorithms} \subsubsection{Algorithms}
@@ -24,9 +24,9 @@ These commands have to be executed inside math environment
\end{minted} \end{minted}
\begin{algo}{functionName(A)} \begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$} \Procedure{functionName}{$(A)$}
\State\Return "Hello World" \State\Return "Hello World"
\EndProcedure \EndProcedure
\end{algo} \end{algo}
@@ -48,19 +48,19 @@ This is nothing different than a wrapper for a minted environment with a box dra
Example (in python): Example (in python):
\begin{code}{python} \begin{code}{python}
def hello_world(): def hello_world():
print("hello world!") print("hello world!")
\end{code} \end{code}
\paragraph{Code in separate files} \paragraph{Code in separate files}
It is also possible to load code from a source file using the provided commands: It is also possible to load code from a source file using the provided commands:
\begin{itemize} \begin{itemize}
\item \verb|\inputcode|\{\textit{language}\}\{\textit{file}\}, where \textit{language} is the programming language \item \verb|\inputcode|\{\textit{language}\}\{\textit{file}\}, where \textit{language} is the programming language
and \textit{file} is the file name of the file to be loaded, relative to the main tex file. and \textit{file} is the file name of the file to be loaded, relative to the main tex file.
\item \verb|\inputcodewithfilename|\{\textit{language}\}\{\textit{hidden-path}\}\{\textit{shown-path}\}, where \textit{language} is the programming language, \item \verb|\inputcodewithfilename|\{\textit{language}\}\{\textit{hidden-path}\}\{\textit{shown-path}\}, where \textit{language} is the programming language,
\textit{hidden-path} is the part of the path you want to hide of the file to be loaded, relative to the main tex file \textit{hidden-path} is the part of the path you want to hide of the file to be loaded, relative to the main tex file
and \textit{shown-path} is the displayed part. and \textit{shown-path} is the displayed part.
\end{itemize} \end{itemize}
\inlineexample \inlineexample
\begin{minted}{latex} \begin{minted}{latex}

View File

@@ -2,10 +2,10 @@
\section{Full Command Reference} \section{Full Command Reference}
\subsection{Variables} \subsection{Variables}
\begin{itemize} \begin{itemize}
\item \textit{string}: Any normal text \item \textit{string}: Any normal text
\item \textit{boolean}: \texttt{true} or \texttt{false} \item \textit{boolean}: \texttt{true} or \texttt{false}
\item \textit{math}: Any math input \item \textit{math}: Any math input
\item \textit{number}: Any non-negative integer, i.e. no commas \item \textit{number}: Any non-negative integer, i.e. no commas
\item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor} or as defined in the color config file \item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor} or as defined in the color config file
\end{itemize} \end{itemize}

View File

@@ -1,56 +1,56 @@
\subsection{Per-File config} \subsection{Per-File config}
\label{sec:perFileConf} \label{sec:perFileConf}
\begin{itemize} \begin{itemize}
\item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only \item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only
\item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only \item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only
\item \verb|\renewcommand{\<descriptor>NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE) \item \verb|\renewcommand{\<descriptor>NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE)
\item \verb|\renewcommand{\<descriptor>NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN) \item \verb|\renewcommand{\<descriptor>NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN)
\item \verb|\setnumberingpreset|\{\textit{string}\} \item \verb|\setnumberingpreset|\{\textit{string}\}
Change the numbering preset of definitions, lemmas, etc for this document. Change the numbering preset of definitions, lemmas, etc for this document.
Value can be \texttt{off}, \texttt{separate}, \texttt{combined}. Value can be \texttt{off}, \texttt{separate}, \texttt{combined}.
\item \verb|\renewcommand{<descriptor>numbering}|\{\textit{string}\} \item \verb|\renewcommand{<descriptor>numbering}|\{\textit{string}\}
Change the numbering for an individual descriptor, passed as first argument. Change the numbering for an individual descriptor, passed as first argument.
The second value can be \texttt{off}, \texttt{separate}, \texttt{combined} or \texttt{default}. The second value can be \texttt{off}, \texttt{separate}, \texttt{combined} or \texttt{default}.
If set to \texttt{default}, it will follow the \verb|\numberingpreset| setting. If set to \texttt{default}, it will follow the \verb|\numberingpreset| setting.
If you do not override it here, it will follow your global config as set in the config directory If you do not override it here, it will follow your global config as set in the config directory
and if unset there, it will follow the \verb|\numberingpreset| setting. and if unset there, it will follow the \verb|\numberingpreset| setting.
\item \verb|\renew|\{\textit{string}\} Change the format of the numbering of definitions, etc. \item \verb|\renew|\{\textit{string}\} Change the format of the numbering of definitions, etc.
The value can be set to any of the below The value can be set to any of the below
\begin{itemize}[noitemsep] \begin{itemize}[noitemsep]
\item none = $<$section$>$.$<$number$>$ \item none = $<$section$>$.$<$number$>$
\item section = $<$section$>$.$<$number$>$ \item section = $<$section$>$.$<$number$>$
\item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$ \item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$
\item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$ \item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$
\item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$ \item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$
\end{itemize} \end{itemize}
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the ones above) at any point in the document Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the ones above) at any point in the document
\item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors \item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors
\item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command \item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command
\item \verb|\loadGerman| Load german configuration. Needs to be in preamble and you may only use it once \item \verb|\loadGerman| Load german configuration. Needs to be in preamble and you may only use it once
\item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one. \item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one.
Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}. Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}.
A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}. A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}.
You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces. You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces.
\end{itemize} \end{itemize}
\subsubsection{Letters} \subsubsection{Letters}
\begin{itemize} \begin{itemize}
\item \verb|\renewcommand{\name}|\{\textit{string}\} Change the name (for letters) for this document only \item \verb|\renewcommand{\name}|\{\textit{string}\} Change the name (for letters) for this document only
\item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only \item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only
\item \verb|\renewcommand{\city}|\{\textit{string}\} Change the city (for letters) for this document only \item \verb|\renewcommand{\city}|\{\textit{string}\} Change the city (for letters) for this document only
\item \verb|\renewcommand{\countrycode}|\{\textit{string}\} Change the country-code (for letters) for this document only \item \verb|\renewcommand{\countrycode}|\{\textit{string}\} Change the country-code (for letters) for this document only
\end{itemize} \end{itemize}
\newpage \newpage
\subsection{Setup, Loading \& Translation} \subsection{Setup, Loading \& Translation}
\begin{itemize} \begin{itemize}
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title \item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title
\item \verb|\setupCheatSheet|[\textit{boolean}]\{\textit{string}\} Prepare the document with smaller borders and no headers / footers. \item \verb|\setupCheatSheet|[\textit{boolean}]\{\textit{string}\} Prepare the document with smaller borders and no headers / footers.
The mandatory argument is the title, the optional argument will, if set to \texttt{true} use a landscape layout (default) The mandatory argument is the title, the optional argument will, if set to \texttt{true} use a landscape layout (default)
and a horizontal layout if set to \texttt{false}. and a horizontal layout if set to \texttt{false}.
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set \item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}| \item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected \item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate| \item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
\item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config) \item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config)
\item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering) \item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering)
\end{itemize} \end{itemize}

View File

@@ -2,31 +2,31 @@
\subsection{Math-Commands} \subsection{Math-Commands}
All these have to be executed in the math environment. All these have to be executed in the math environment.
\begin{itemize} \begin{itemize}
\item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc. \item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc.
\item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$ \item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$
\item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$ \item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$
\item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$. \item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$.
\item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$. \item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$.
\item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$. \item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$.
\item \verb|\defAs| Define as, i.e. $\defAs$ \item \verb|\defAs| Define as, i.e. $\defAs$
\item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$ \item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$
\item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$ \item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$
\item \verb|\divider| Divider or divides symbol, e.g. $a \divider b$ \item \verb|\divider| Divider or divides symbol, e.g. $a \divider b$
\item \verb|\lcm| Least common multiple, $\lcm$ \item \verb|\lcm| Least common multiple, $\lcm$
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$ \item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
\item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$ \item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$
\item \verb|\arctanh| Inverse of hyperbolic tangent, $\arctanh$ \item \verb|\arctanh| Inverse of hyperbolic tangent, $\arctanh$
\item \verb|\limit|\{\textit{math}\}\{\textit{math}\} Shortened limit notation, $\displaystyle \limit{x}{x_0}$ \item \verb|\limit|\{\textit{math}\}\{\textit{math}\} Shortened limit notation, $\displaystyle \limit{x}{x_0}$
\item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$ \item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$
\item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$ \item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$ \item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
\item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$ \item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$
\item \verb|\diffn|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \diffn{x}{2}$ \item \verb|\diffn|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \diffn{x}{2}$
\item \verb|\pardiff|\{\textit{math}\} Partial derivative, $\displaystyle \pardiff{x}$ \item \verb|\pardiff|\{\textit{math}\} Partial derivative, $\displaystyle \pardiff{x}$
\item \verb|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$ \item \verb|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$
\item \verb|\sequence|\{\textit{math}\} Sequence, $\sequence{x}$ \item \verb|\sequence|\{\textit{math}\} Sequence, $\sequence{x}$
\item \verb|\series|\{\textit{math}\}\{\textit{math}\} Series, prints \verb|\series{x}{2x}| as, $\series{x}{2x}$ \item \verb|\series|\{\textit{math}\}\{\textit{math}\} Series, prints \verb|\series{x}{2x}| as, $\series{x}{2x}$
\item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood. \item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood.
Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|. Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|.
\end{itemize} \end{itemize}

View File

@@ -9,30 +9,30 @@ Alternatively, you can use \verb|\inline[desc]{definition}|.
\paragraph{Inline} \paragraph{Inline}
\begin{tables}{ll}{Command & Output} \begin{tables}{ll}{Command & Output}
\verb|\inlineexample| & \inlineexample \\ \verb|\inlineexample| & \inlineexample \\
\verb|\inlinedefinition| & \inlinedefinition \\ \verb|\inlinedefinition| & \inlinedefinition \\
\verb|\inlinetheorem| & \inlinetheorem \\ \verb|\inlinetheorem| & \inlinetheorem \\
\verb|\inlinelemma| & \inlinelemma \\ \verb|\inlinelemma| & \inlinelemma \\
\verb|\inlinecorollary| & \inlinecorollary \\ \verb|\inlinecorollary| & \inlinecorollary \\
\verb|\inlineproposition| & \inlineproposition \\ \verb|\inlineproposition| & \inlineproposition \\
\verb|\inlinefact| & \inlinefact \\ \verb|\inlinefact| & \inlinefact \\
\verb|\inlineaxiom| & \inlineaxiom \\ \verb|\inlineaxiom| & \inlineaxiom \\
\verb|\inlineremark| & \inlineremark \\ \verb|\inlineremark| & \inlineremark \\
\verb|\inlineproof| & \inlineproof \\ \verb|\inlineproof| & \inlineproof \\
\end{tables} \end{tables}
\paragraph{Shortened} \paragraph{Shortened}
\begin{tables}{ll}{Command & Output} \begin{tables}{ll}{Command & Output}
\verb|\shortexample| & \shortexample \\ \verb|\shortexample| & \shortexample \\
\verb|\shortdefinition| & \shortdefinition \\ \verb|\shortdefinition| & \shortdefinition \\
\verb|\shorttheorem| & \shorttheorem \\ \verb|\shorttheorem| & \shorttheorem \\
\verb|\shortlemma| & \shortlemma \\ \verb|\shortlemma| & \shortlemma \\
\verb|\shortcorollary| & \shortcorollary \\ \verb|\shortcorollary| & \shortcorollary \\
\verb|\shortproposition| & \shortproposition \\ \verb|\shortproposition| & \shortproposition \\
\verb|\shortfact| & \shortfact \\ \verb|\shortfact| & \shortfact \\
\verb|\shortaxiom| & \shortaxiom \\ \verb|\shortaxiom| & \shortaxiom \\
\verb|\shortremark| & \shortremark \\ \verb|\shortremark| & \shortremark \\
\verb|\shortproof| & \shortproof \\ \verb|\shortproof| & \shortproof \\
\end{tables} \end{tables}
\newpage \newpage

View File

@@ -1,9 +1,9 @@
\newpage \newpage
\subsection{Style} \subsection{Style}
\begin{itemize} \begin{itemize}
\item \verb|\TODO| Print a highlighted \TODO \item \verb|\TODO| Print a highlighted \TODO
\item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation} \item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation}
\item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text} \item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text}
\item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop} \item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop}
\item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected \item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected
\end{itemize} \end{itemize}

View File

@@ -2,18 +2,18 @@
For spacing in math mode, prefer using the methods described \hlhref{https://www.overleaf.com/learn/latex/Spacing_in_math_mode}{here}, For spacing in math mode, prefer using the methods described \hlhref{https://www.overleaf.com/learn/latex/Spacing_in_math_mode}{here},
for vertical spacing prefer the commands described below for vertical spacing prefer the commands described below
\begin{itemize} \begin{itemize}
\item \verb|\smallhspace| Prints a 2mm hspace \item \verb|\smallhspace| Prints a 2mm hspace
\item \verb|\mediumhspace| Prints a 5mm hspace \item \verb|\mediumhspace| Prints a 5mm hspace
\item \verb|\largehspace| Prints a 10mm = 1cm hspace \item \verb|\largehspace| Prints a 10mm = 1cm hspace
\item \verb|\rmvspace|[\textit{number}] Removes an amount of vertical space. Should not be used unless can be avoided with general settings. Defaults to 0.5 \item \verb|\rmvspace|[\textit{number}] Removes an amount of vertical space. Should not be used unless can be avoided with general settings. Defaults to 0.5
\end{itemize} \end{itemize}
Vertical spacing config for the entire document. By default, the \LaTeX\ defaults are used. Vertical spacing config for the entire document. By default, the \LaTeX\ defaults are used.
\begin{itemize} \begin{itemize}
\item \verb|\noverticalspacing| \item \verb|\noverticalspacing|
\item \verb|\smallverticalspacing| \item \verb|\smallverticalspacing|
\item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults) \item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults)
\item \verb|\largeverticalspacing| \item \verb|\largeverticalspacing|
\end{itemize} \end{itemize}
You are of course free to redefine commands like \verb|\parskip|, etc to your liking, these commands are just provided for your convenience. You are of course free to redefine commands like \verb|\parskip|, etc to your liking, these commands are just provided for your convenience.
See \hlhref{https://www.overleaf.com/learn/latex/\%5Cabovedisplayskip_and_related_commands}{here}\ for more details See \hlhref{https://www.overleaf.com/learn/latex/\%5Cabovedisplayskip_and_related_commands}{here}\ for more details
@@ -34,11 +34,11 @@ Below a demonstration on the effects of the different settings:
This is text: This is text:
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
This is very long introductory text that exceeds the limit (same applies to long equations) This is very long introductory text that exceeds the limit (same applies to long equations)
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
Text following the equation (no paragraph break!) Text following the equation (no paragraph break!)
@@ -47,11 +47,11 @@ Text following the equation (no paragraph break!)
This is text: This is text:
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
This is very long introductory text that exceeds the limit (same applies to long equations) This is very long introductory text that exceeds the limit (same applies to long equations)
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
Text following the equation (no paragraph break!) Text following the equation (no paragraph break!)
@@ -60,11 +60,11 @@ Text following the equation (no paragraph break!)
This is text: This is text:
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
This is very long introductory text that exceeds the limit (same applies to long equations) This is very long introductory text that exceeds the limit (same applies to long equations)
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
Text following the equation (no paragraph break!) Text following the equation (no paragraph break!)
@@ -73,10 +73,10 @@ Text following the equation (no paragraph break!)
This is text: This is text:
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
This is very long introductory text that exceeds the limit (same applies to long equations) This is very long introductory text that exceeds the limit (same applies to long equations)
\[ \[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x \int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\] \]
Text following the equation (no paragraph break!) Text following the equation (no paragraph break!)

View File

@@ -5,7 +5,7 @@ These ones also have two settings, namely, you can change the counter behaviour
See \ref{sec:counters} for a guide on how to change the current number and how to reference them. See \ref{sec:counters} for a guide on how to change the current number and how to reference them.
\begin{definition}[]{Title here} \begin{definition}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{definition}[]{Title here} \begin{definition}[]{Title here}
\end{definition} \end{definition}
@@ -13,7 +13,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{definition} \end{definition}
\begin{theorem}[]{Title here} \begin{theorem}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{theorem}[]{Title here} \begin{theorem}[]{Title here}
\end{theorem} \end{theorem}
@@ -21,7 +21,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{theorem} \end{theorem}
\begin{lemma}[]{Title here} \begin{lemma}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{lemma}[]{Title here} \begin{lemma}[]{Title here}
\end{lemma} \end{lemma}
@@ -29,7 +29,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{lemma} \end{lemma}
\begin{corollary}[]{Title here} \begin{corollary}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{corollary}[]{Title here} \begin{corollary}[]{Title here}
\end{corollary} \end{corollary}
@@ -37,7 +37,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{corollary} \end{corollary}
\begin{proposition}[]{Title here} \begin{proposition}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{proposition}[]{Title here} \begin{proposition}[]{Title here}
\end{proposition} \end{proposition}
@@ -45,7 +45,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{proposition} \end{proposition}
\begin{fact}[]{Title here} \begin{fact}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{fact}[]{Title here} \begin{fact}[]{Title here}
\end{fact} \end{fact}
@@ -53,7 +53,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{fact} \end{fact}
\begin{axiom}[]{Title here} \begin{axiom}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{axiom}[]{Title here} \begin{axiom}[]{Title here}
\end{axiom} \end{axiom}
@@ -61,7 +61,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{axiom} \end{axiom}
\begin{example}[]{Title here} \begin{example}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{example}[]{Title here} \begin{example}[]{Title here}
\end{example} \end{example}
@@ -69,7 +69,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{example} \end{example}
\begin{remark}[]{Title here} \begin{remark}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{remark}[]{Title here} \begin{remark}[]{Title here}
\end{remark} \end{remark}
@@ -77,7 +77,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{remark} \end{remark}
\begin{formula}[]{Title here} \begin{formula}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{formula}[]{Title here} \begin{formula}[]{Title here}
\end{formula} \end{formula}

View File

@@ -4,7 +4,7 @@
These tcolorboxes can be created using the code displayed inside them. These tcolorboxes can be created using the code displayed inside them.
\begin{terms}[]{Title here} \begin{terms}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{terms}[]{Title here} \begin{terms}[]{Title here}
\end{terms} \end{terms}
@@ -12,7 +12,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{terms} \end{terms}
\begin{notation}[]{Title here} \begin{notation}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{notation}[]{Title here} \begin{notation}[]{Title here}
\end{notation} \end{notation}
@@ -20,7 +20,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{notation} \end{notation}
\begin{recall}[]{Title here} \begin{recall}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{recall}[]{Title here} \begin{recall}[]{Title here}
\end{recall} \end{recall}
@@ -28,7 +28,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{recall} \end{recall}
\begin{usage}[]{Title here} \begin{usage}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{usage}[]{Title here} \begin{usage}[]{Title here}
\end{usage} \end{usage}
@@ -36,7 +36,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{usage} \end{usage}
\begin{properties}[]{Title here} \begin{properties}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{properties}[]{Title here} \begin{properties}[]{Title here}
\end{properties} \end{properties}
@@ -44,7 +44,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{properties} \end{properties}
\begin{restrictions}[]{Title here} \begin{restrictions}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{restrictions}[]{Title here} \begin{restrictions}[]{Title here}
\end{restrictions} \end{restrictions}
@@ -52,7 +52,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{restrictions} \end{restrictions}
\begin{limitations}[]{Title here} \begin{limitations}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{limitations}[]{Title here} \begin{limitations}[]{Title here}
\end{limitations} \end{limitations}
@@ -60,7 +60,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{limitations} \end{limitations}
\begin{intuition}[]{Title here} \begin{intuition}[]{Title here}
\begin{minted}{latex} \begin{minted}{latex}
\begin{intuition}[]{Title here} \begin{intuition}[]{Title here}
\end{intuition} \end{intuition}

View File

@@ -2,9 +2,9 @@
This tcolorbox has all the styles applied, but allows configuring the colour and both title boxes This tcolorbox has all the styles applied, but allows configuring the colour and both title boxes
\begin{general}[]{title}{second title}{red} \begin{general}[]{title}{second title}{red}
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour. This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.
\begin{minted}{latex} \begin{minted}{latex}
\begin{general}[]{title}{second title}{red} \begin{general}[]{title}{second title}{red}
\end{general} \end{general}

View File

@@ -12,7 +12,7 @@ You can set up nice looking tables using the \texttt{booktab} and \texttt{tabula
This outputs as This outputs as
\begin{tables}{ll}{Left & Right} \begin{tables}{ll}{Left & Right}
Left content & Right Content \\ Left content & Right Content \\
\end{tables} \end{tables}
This doesn't use the \texttt{table} environment, so no captions are possible, as to why there is also This doesn't use the \texttt{table} environment, so no captions are possible, as to why there is also
@@ -25,7 +25,7 @@ This doesn't use the \texttt{table} environment, so no captions are possible, as
This outputs as This outputs as
\begin{fullTable}{ll}{Left & Right}{This is a caption} \begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\ Left content & Right Content\\
\end{fullTable} \end{fullTable}

View File

@@ -93,72 +93,6 @@
\colorlet{propertiescolor}{purple} \colorlet{propertiescolor}{purple}
% ┌ ┐
% │ General config │
% └ ┘
% Configure your author name here
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
\newcommand{\authorHeaders}{Janis Hutz}
% ┌ ┐
% │ Rendering │
% └ ┘
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
% - #1 is the name of the descriptor
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}\ }
% background command config (draws a small box around the content)
\newcommand{\backgroundPadding}{2pt}
\newcommand{\backgroundRounding}{1pt}
% ┌ ┐
% │ Numbering │
% └ ┘
% Set a preset, can be combined, separate or off.
% If set to custom, all type specific commands need to be set below.
\newcommand{\numberingpreset}{combined}
% Specify how elements are to be numbered. Can be (X is the current number of the element):
% - none (X)
% - section (section.X)
% - subsection (section.subsection.X)
% - subsubsection (section.subsection.subsubsection.X)
% - paragraph (section.subsection.subsubsection.paragraph.X)
\newcommand{\subsectionnumbering}{subsection}
% Set for a specific type. Can each be combined, separate, default or off:
% If set to anything but 'default', it will override the overarching style
% set by \numberingpreset
\newcommand{\definitionnumbering}{default}
\newcommand{\theoremnumbering}{default}
\newcommand{\lemmanumbering}{default}
\newcommand{\corollarynumbering}{default}
\newcommand{\axiomnumbering}{default}
\newcommand{\factnumbering}{default}
\newcommand{\propositionnumbering}{default}
\newcommand{\examplenumbering}{default}
\newcommand{\formulanumbering}{default}
\newcommand{\remarknumbering}{default}
\newcommand{\proofnumbering}{default}
\newcommand{\intuitionnumbering}{default}
\newcommand{\termnumbering}{default}
\newcommand{\notationnumbering}{default}
\newcommand{\tasknumbering}{default}
\newcommand{\usagenumbering}{default}
\newcommand{\recallnumbering}{default}
\newcommand{\propertiesnumbering}{default}
% ┌ ┐ % ┌ ┐
% │ Naming │ % │ Naming │
% └ ┘ % └ ┘
@@ -242,6 +176,72 @@
\newcommand{\propertiesShortNamingDE}{E} \newcommand{\propertiesShortNamingDE}{E}
% ┌ ┐
% │ Numbering │
% └ ┘
% Set a preset, can be combined, separate or off.
% If set to custom, all type specific commands need to be set below.
\newcommand{\numberingpreset}{combined}
% Specify how elements are to be numbered. Can be (X is the current number of the element):
% - none (X)
% - section (section.X)
% - subsection (section.subsection.X)
% - subsubsection (section.subsection.subsubsection.X)
% - paragraph (section.subsection.subsubsection.paragraph.X)
\newcommand{\subsectionnumbering}{subsection}
% Set for a specific type. Can each be combined, separate, default or off:
% If set to anything but 'default', it will override the overarching style
% set by \numberingpreset
\newcommand{\definitionnumbering}{default}
\newcommand{\theoremnumbering}{default}
\newcommand{\lemmanumbering}{default}
\newcommand{\corollarynumbering}{default}
\newcommand{\axiomnumbering}{default}
\newcommand{\factnumbering}{default}
\newcommand{\propositionnumbering}{default}
\newcommand{\examplenumbering}{default}
\newcommand{\formulanumbering}{default}
\newcommand{\remarknumbering}{default}
\newcommand{\proofnumbering}{default}
\newcommand{\intuitionnumbering}{default}
\newcommand{\termnumbering}{default}
\newcommand{\notationnumbering}{default}
\newcommand{\tasknumbering}{default}
\newcommand{\usagenumbering}{default}
\newcommand{\recallnumbering}{default}
\newcommand{\propertiesnumbering}{default}
% ┌ ┐
% │ General config │
% └ ┘
% Configure your author name here
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
\newcommand{\authorHeaders}{Janis Hutz}
% ┌ ┐
% │ Rendering │
% └ ┘
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
% - #1 is the name of the descriptor
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}\ }
% background command config (draws a small box around the content)
\newcommand{\backgroundPadding}{2pt}
\newcommand{\backgroundRounding}{1pt}
\newcounter{definitionnone} \newcounter{definitionnone}
\newcounter{definitionsection}[section] \newcounter{definitionsection}[section]
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}} \renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
@@ -688,6 +688,20 @@
} }
% Add glossaries functionality
\newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
}
\newcommand{\printGlossary}{
\glsaddall
\printnoidxglossaries
}
% ┌ ┐ % ┌ ┐
% │ Math │ % │ Math │
% └ ┘ % └ ┘
@@ -778,6 +792,7 @@
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}} \newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
\newcommand{\sequence}[1]{(#1_n)_{n \geq 1}} \newcommand{\sequence}[1]{(#1_n)_{n \geq 1}}
\newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k} \newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k}
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
\DeclareMathOperator\arctanh{arctanh} \DeclareMathOperator\arctanh{arctanh}
\DeclareMathOperator\arccosh{arccosh} \DeclareMathOperator\arccosh{arccosh}
@@ -829,94 +844,6 @@
} }
% ┌ ┐
% │ Index │
% └ ┘
% For using index package
\newcommand{\prepareIndex}{
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
}
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndexBI}[1]{\textbf\textit{{\index{\MakeLowercase{#1}} #1}}}
\newcommand{\addIndexItalic}[1]{\textit{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndex}[1]{\index{\MakeLowercase{#1}} #1}
% ┌ ┐
% │ Tables │
% └ ┘
\usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{
\begin{center}
\begin{tabular}{#1}
\toprule
#2 \\
\midrule
}{
\bottomrule
\end{tabular}
\end{center}
}
% Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{
\edef\tableCaption{#3}
\begin{table}[h!]
\begin{tables}{#1}{#2}
}{
\end{tables}
\caption{\tableCaption}
\end{table}
}
% Add glossaries functionality
\newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
}
\newcommand{\printGlossary}{
\glsaddall
\printnoidxglossaries
}
% ┌ ┐
% │ Translation │
% └ ┘
\newcommand{\translate}[2]{%
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}
% Translation aids (commonly used)
\newcommand{\trif}{\translate{if }{falls }}
\newcommand{\trIf}{\translate{If }{Falls }}
\newcommand{\trLet}{\translate{Let }{Sei }}
\newcommand{\trLets}{\translate{Let }{Seien }}
\newcommand{\trFor}{\translate{For }{Für }}
\newcommand{\trfor}{\translate{for }{für }}
\newcommand{\trand}{\translate{and }{und }}
\newcommand{\tror}{\translate{or }{oder }}
\newcommand{\trst}{\translate{s.t. }{s.d. }}
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
\newcommand{\trwith}{\translate{with }{mit }}
% ┌ ┐ % ┌ ┐
% │ Setup │ % │ Setup │
% └ ┘ % └ ┘
@@ -1010,6 +937,48 @@
} }
% ┌ ┐
% │ Translation │
% └ ┘
\newcommand{\translate}[2]{%
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}
% Translation aids (commonly used)
\newcommand{\trif}{\translate{if }{falls }}
\newcommand{\trIf}{\translate{If }{Falls }}
\newcommand{\trLet}{\translate{Let }{Sei }}
\newcommand{\trLets}{\translate{Let }{Seien }}
\newcommand{\trFor}{\translate{For }{Für }}
\newcommand{\trfor}{\translate{for }{für }}
\newcommand{\trand}{\translate{and }{und }}
\newcommand{\tror}{\translate{or }{oder }}
\newcommand{\trst}{\translate{s.t. }{s.d. }}
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
\newcommand{\trwith}{\translate{with }{mit }}
% ┌ ┐
% │ Index │
% └ ┘
% For using index package
\newcommand{\prepareIndex}{
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
}
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndexBI}[1]{\textbf\textit{{\index{\MakeLowercase{#1}} #1}}}
\newcommand{\addIndexItalic}[1]{\textit{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndex}[1]{\index{\MakeLowercase{#1}} #1}
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀ % ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀ % ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
@@ -1042,6 +1011,109 @@
\newcommand{\class}{\text{\tr{Cl}{Kl}}} \newcommand{\class}{\text{\tr{Cl}{Kl}}}
% ┌ ┐
% │ Tables │
% └ ┘
\usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{
\begin{center}
\begin{tabular}{#1}
\toprule
#2 \\
\midrule
}{
\bottomrule
\end{tabular}
\end{center}
}
% Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{
\edef\tableCaption{#3}
\begin{table}[h!]
\begin{tables}{#1}{#2}
}{
\end{tables}
\caption{\tableCaption}
\end{table}
}
% ┌ ┐
% │ Counter numbering │
% └ ┘
\newcommand{\preEnvHook}[1]{%
\stepLabelNumber{combined}%
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
\stepLabelNumber{combined}%
}{}%
}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
\stepLabelNumber{combined}%
}{}%
}%
}
% Decides on the numbering to use (combined or not)
\newcommand{\loadNumberingConfiguration}{%
\ifthenelse{\boolean{numberingDisabled}}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}{
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\subsectionnumbering}{none}}{
\renewcommand{\thetable}{\arabic{combinednone}}
\renewcommand{\thefigure}{\arabic{combinednone}}
}{%
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
}%
}{%
\ifthenelse{\equal{\numberingpreset}{separate}}{
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
}
}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}%
}%
}%
}
% Prints the preceding subsection numbers
\newcommand{\ssprinter}{\thesection}
\newcommand{\generateSubsection}{%
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
\renewcommand{\ssprinter}{\thesection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
\renewcommand{\ssprinter}{\thesubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
\renewcommand{\ssprinter}{\thesubsubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
\renewcommand{\ssprinter}{\theparagraph}
}{
\renewcommand{\ssprinter}{}
}%
}%
}%
}%
}
\loadNumberingConfiguration
\AtBeginEnvironment{table}{\preEnvHook{table}}
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
% ── Set the current number of a label ─────────────────────────────── % ── Set the current number of a label ───────────────────────────────
\newcommand{\setLabelNumber}[2]{% \newcommand{\setLabelNumber}[2]{%
\setcounter{#1none}{#2}% \setcounter{#1none}{#2}%
@@ -1149,88 +1221,6 @@
} }
% ┌ ┐
% │ Counter numbering │
% └ ┘
\newcommand{\preEnvHook}[1]{%
\stepLabelNumber{combined}%
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
\stepLabelNumber{combined}%
}{}%
}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
\stepLabelNumber{combined}%
}{}%
}%
}
% Decides on the numbering to use (combined or not)
\newcommand{\loadNumberingConfiguration}{%
\ifthenelse{\boolean{numberingDisabled}}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}{
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\subsectionnumbering}{none}}{
\renewcommand{\thetable}{\arabic{combinednone}}
\renewcommand{\thefigure}{\arabic{combinednone}}
}{%
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
}%
}{%
\ifthenelse{\equal{\numberingpreset}{separate}}{
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
}
}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}%
}%
}%
}
% Prints the preceding subsection numbers
\newcommand{\ssprinter}{\thesection}
\newcommand{\generateSubsection}{%
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
\renewcommand{\ssprinter}{\thesection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
\renewcommand{\ssprinter}{\thesubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
\renewcommand{\ssprinter}{\thesubsubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
\renewcommand{\ssprinter}{\theparagraph}
}{
\renewcommand{\ssprinter}{}
}%
}%
}%
}%
}
\loadNumberingConfiguration
\AtBeginEnvironment{table}{\preEnvHook{table}}
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
% ┌ ┐
% │ STYLE: Math │
% └ ┘
% Add shortcuts to commonly used commands
\newcommand{\vect}[1]{\overrightarrow{#1}}
\renewcommand{\hat}[1]{\widehat{#1}}
\renewcommand{\tilde}[1]{\widetilde{#1}}
\newcommand{\proven}{$\hspace{17cm}\square$}
\newcommand{\noverticalspacing}{ \newcommand{\noverticalspacing}{
\abovedisplayskip 1pt plus 2pt minus 1pt \abovedisplayskip 1pt plus 2pt minus 1pt
\belowdisplayskip 1pt plus 2pt minus 1pt \belowdisplayskip 1pt plus 2pt minus 1pt
@@ -1277,6 +1267,67 @@
} }
% ┌ ┐
% │ STYLE: Common tcolorboxes │
% └ ┘
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=recallcolor!75!black,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=intuitioncolor!5!white,colframe=intuitioncolor!75!black,colbacktitle=intuitioncolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=intuitioncolor!75!black,fill=intuitioncolor!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{intuitioncolor}{Intuition:}}
% Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=termcolor!5!white,colframe=termcolor!75!black,colbacktitle=termcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=termcolor!75!black,fill=termcolor!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=notationcolor!5!white,colframe=notationcolor!75!black,colbacktitle=notationcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=notationcolor!75!black,fill=notationcolor!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=usagecolor!5!white,colframe=usagecolor!75!black,colbacktitle=usagecolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=usagecolor!75!black,fill=usagecolor!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task
\newtcolorbox{task}[2][]{mainboxstyle,colback=taskcolor!5!white,colframe=taskcolor!75!black,colbacktitle=taskcolor!75!black,title={\large #2},overlay={\node[overlaystyle,draw=taskcolor!75!black,fill=taskcolor!75!black] at (frame.north east) {\large \translate{Task}{Aufgabe}};},#1}
% Proof
\newtcolorbox{proof}[2][]{mainboxstyle,colback=proofcolor!5!white,colframe=proofcolor!75!black,colbacktitle=proofcolor!75!black,title={\large #2},overlay={\node[overlaystyle,draw=proofcolor!75!black,fill=proofcolor!75!black] at (frame.north east) {\large \translate{Proof}{Beweis}};},#1}
% General
\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}
% Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
% ┌ ┐
% │ STYLE: Math │
% └ ┘
% Add shortcuts to commonly used commands
\newcommand{\vect}[1]{\overrightarrow{#1}}
\renewcommand{\hat}[1]{\widehat{#1}}
\renewcommand{\tilde}[1]{\widetilde{#1}}
\newcommand{\proven}{$\hspace{17cm}\square$}
% ── Inline environments ───────────────────────────────────────────── % ── Inline environments ─────────────────────────────────────────────
% TODO: ref label generation % TODO: ref label generation
\newcommand{\inline}[2][NONAME]{% \newcommand{\inline}[2][NONAME]{%
@@ -1330,56 +1381,6 @@
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}} \newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
% ┌ ┐
% │ STYLE: Common tcolorboxes │
% └ ┘
\newtcolorbox{recall}[2][]{mainboxstyle,colback=recallcolor!5!white,colframe=recallcolor!75!black,colbacktitle=recallcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=recallcolor!75!black,fill=recallcolor!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
\newtcolorbox{properties}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=propertiescolor!5!white,colframe=propertiescolor!75!black,colbacktitle=propertiescolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=propertiescolor!75!black,fill=propertiescolor!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=intuitioncolor!5!white,colframe=intuitioncolor!75!black,colbacktitle=intuitioncolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=intuitioncolor!75!black,fill=intuitioncolor!75!black] at (frame.north east) {\large Intuition};},#1}
\newcommand{\inlineintuition}{\bg{intuitioncolor}{Intuition:}}
% Terms and notation
\newtcolorbox{terms}[2][]{mainboxstyle,colback=termcolor!5!white,colframe=termcolor!75!black,colbacktitle=termcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=termcolor!75!black,fill=termcolor!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
\newtcolorbox{notation}[2][]{mainboxstyle,colback=notationcolor!5!white,colframe=notationcolor!75!black,colbacktitle=notationcolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=notationcolor!75!black,fill=notationcolor!75!black] at (frame.north east) {\large Notation};},#1}
\newtcolorbox{usage}[2][]{mainboxstyle,colback=usagecolor!5!white,colframe=usagecolor!75!black,colbacktitle=usagecolor!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=usagecolor!75!black,fill=usagecolor!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task
\newtcolorbox{task}[2][]{mainboxstyle,colback=taskcolor!5!white,colframe=taskcolor!75!black,colbacktitle=taskcolor!75!black,title={\large #2},overlay={\node[overlaystyle,draw=taskcolor!75!black,fill=taskcolor!75!black] at (frame.north east) {\large \translate{Task}{Aufgabe}};},#1}
% Proof
\newtcolorbox{proof}[2][]{mainboxstyle,colback=proofcolor!5!white,colframe=proofcolor!75!black,colbacktitle=proofcolor!75!black,title={\large #2},overlay={\node[overlaystyle,draw=proofcolor!75!black,fill=proofcolor!75!black] at (frame.north east) {\large \translate{Proof}{Beweis}};},#1}
% General
\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}
% Simple
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
% ┌ ┐ % ┌ ┐
% │ STYLE: Computer Science │ % │ STYLE: Computer Science │
% └ ┘ % └ ┘

View File

@@ -30,12 +30,12 @@
% Define new letter header % Define new letter header
\setkomavar{firsthead}{ \setkomavar{firsthead}{
\null\hfill \null\hfill
\parbox[t][\headheight][t]{4cm}{% \parbox[t][\headheight][t]{4cm}{%
\vspace*{2cm} \vspace*{2cm}
\usekomavar{fromname} \newline \usekomavar{fromname} \newline
\usekomavar{fromaddress} \newline \usekomavar{fromaddress} \newline
\usekomavar{fromplace} \usekomavar{fromplace}
} }
}% }%

View File

@@ -56,32 +56,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
} }
@@ -97,69 +97,69 @@
% ── 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
\edef\valtrue{true} \edef\valtrue{true}
\ifbool{cheatSheetLandscape}{ \ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns} \typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram} \usepackage{flowfram}
\allowdisplaybreaks \allowdisplaybreaks
\ffvadjustfalse \ffvadjustfalse
\setlength{\columnsep}{1cm} \setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}} \Ncolumn{\arabic{colCount}}
}{ }{
\typeout{[Setup] Using portrait} \typeout{[Setup] Using portrait}
\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}
} }
@@ -248,35 +248,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
} }
} }
} }
% -------------------- % % -------------------- %
@@ -284,15 +284,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}}
@@ -310,16 +310,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}}
@@ -354,14 +354,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}
} }
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes % General tcolorboxes
\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
@@ -418,7 +418,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}
@@ -572,9 +572,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}}
@@ -630,22 +630,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}
@@ -655,119 +655,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}{\arabic{table}} \renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}} \renewcommand{\thefigure}{\arabic{figure}}
\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}
@@ -776,27 +776,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -809,22 +809,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
} }
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -833,51 +833,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
@@ -893,39 +893,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}
% ──────────────────────────────────────────────────────────────────── % ────────────────────────────────────────────────────────────────────
@@ -1003,14 +1003,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}
} }
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1031,10 +1031,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}
% _____ _ _ % _____ _ _
% (_ _) ( ) (_ ) % (_ _) ( ) (_ )
@@ -1048,26 +1048,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}
} }
% ___ _ _____ _ _ % ___ _ _____ _ _
@@ -1080,14 +1080,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}]
} }
@@ -1098,14 +1098,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
} }
% ┌ ┐ % ┌ ┐
@@ -1120,8 +1120,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,
@@ -1135,23 +1135,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}
} }