From 9856f13f76f9d4e5b73c126b9fe4db27a2d44a44 Mon Sep 17 00:00:00 2001 From: "Helpers compiler [bot]" Date: Mon, 23 Feb 2026 08:04:17 +0000 Subject: [PATCH] [skip ci] Build helpers on push --- .latexindent.yaml | 82 -- dist/full.tex | 746 +++++++++--------- dist/letter.tex | 14 +- dist/minimal.tex | 270 +++---- dist/most.tex | 692 ++++++++-------- dist/recommended.tex | 712 ++++++++--------- docs/docs.tex | 10 +- docs/parts/intro.tex | 2 +- docs/parts/migration.tex | 38 +- docs/parts/reference/cs.tex | 40 +- docs/parts/reference/intro.tex | 10 +- docs/parts/reference/loading.tex | 88 +-- docs/parts/reference/math.tex | 52 +- docs/parts/reference/style/descriptors.tex | 40 +- docs/parts/reference/style/intro.tex | 10 +- docs/parts/reference/style/spacing.tex | 34 +- .../reference/style/tcolorbox/counter.tex | 20 +- .../reference/style/tcolorbox/default.tex | 16 +- .../parts/reference/style/tcolorbox/other.tex | 4 +- docs/parts/reference/tables-index.tex | 6 +- janishutz-helpers.tex | 573 +++++++------- letter.tex | 14 +- old/janishutz-helpers-v1.tex | 746 +++++++++--------- 23 files changed, 2069 insertions(+), 2150 deletions(-) delete mode 100644 .latexindent.yaml diff --git a/.latexindent.yaml b/.latexindent.yaml deleted file mode 100644 index 9aac033..0000000 --- a/.latexindent.yaml +++ /dev/null @@ -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: (?1% - \ifnum\value{numberSubsections}=1% - \stepcounter{allss}% - \else - \ifnum\value{numberSubsections}=2% - \stepcounter{allsss}% - \else% - \stepcounter{all}% - \fi - \fi - \fi + \ifnum\value{numberingConfig}>1% + \ifnum\value{numberSubsections}=1% + \stepcounter{allss}% + \else + \ifnum\value{numberSubsections}=2% + \stepcounter{allsss}% + \else% + \stepcounter{all}% + \fi + \fi + \fi } \AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \newcommand{\applyTableAndFigureNumbering}{ - % Tables & Figures - \ifnum\value{numberingConfig}=0 - \renewcommand{\thetable}{\arabic{table}} - \renewcommand{\thefigure}{\arabic{figure}} - \else - \ifnum\value{numberingConfig}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} - \else - \ifnum\value{numberSubsections}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} - \else - \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} - \fi - \fi - \fi - \fi + % Tables & Figures + \ifnum\value{numberingConfig}=0 + \renewcommand{\thetable}{\arabic{table}} + \renewcommand{\thefigure}{\arabic{figure}} + \else + \ifnum\value{numberingConfig}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} + \else + \ifnum\value{numberSubsections}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} + \else + \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} + \fi + \fi + \fi + \fi } \newcommand{\setSubsectionNumbering}[1]{ - \setcounter{numberSubsections}{#1} - \applySubsectionNumbering + \setcounter{numberSubsections}{#1} + \applySubsectionNumbering } \newcommand{\applySubsectionNumbering}{ - \ifnum\value{numberSubsections}=1 - \renewcommand{\sectionNumbering}{\thesubsection} - \renewcommand{\suffix}{ss} - \typeout{Numbering as section.subsection.number} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\sectionNumbering}{\thesubsubsection} - \renewcommand{\suffix}{sss} - \typeout{Numbering as section.subsection.subsubsection.number} - \else - \renewcommand{\sectionNumbering}{\thesection} - \renewcommand{\suffix}{} - \typeout{Numbering as section.number} - \fi - \fi - \applyTableAndFigureNumbering + \ifnum\value{numberSubsections}=1 + \renewcommand{\sectionNumbering}{\thesubsection} + \renewcommand{\suffix}{ss} + \typeout{Numbering as section.subsection.number} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\sectionNumbering}{\thesubsubsection} + \renewcommand{\suffix}{sss} + \typeout{Numbering as section.subsection.subsubsection.number} + \else + \renewcommand{\sectionNumbering}{\thesection} + \renewcommand{\suffix}{} + \typeout{Numbering as section.number} + \fi + \fi + \applyTableAndFigureNumbering - \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} - \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} - \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} - \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} - \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} - \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} - \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} - \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} - \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} - \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} - \renewcommand{\theall}{\sectionNumbering.\arabic{all}} + \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} + \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} + \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} + \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} + \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} + \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} + \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} + \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} + \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} + \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} + \renewcommand{\theall}{\sectionNumbering.\arabic{all}} - \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} - \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} - \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} - \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} - \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} - \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} - \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} - \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} - \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} - \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} - \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} + \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} + \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} + \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} + \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} + \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} + \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} + \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} + \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} + \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} + \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} - \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} - \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} - \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} - \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} - \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} - \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} - \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} - \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} - \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} - \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} + \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} + \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} + \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} + \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} + \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} + \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} + \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} + \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} + \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} + \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} + \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} } \applySubsectionNumbering % ── Label generation ──────────────────────────────────────────────── \newcommand{\labelSectionGeneration}{% - \ifnum\value{numberSubsections}=1 - \arabic{section}-\arabic{subsection}% - \else - \ifnum\value{numberSubsections}=2 - \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% - \else - \arabic{section}% - \fi - \fi} + \ifnum\value{numberSubsections}=1 + \arabic{section}-\arabic{subsection}% + \else + \ifnum\value{numberSubsections}=2 + \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% + \else + \arabic{section}% + \fi + \fi} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} @@ -776,27 +776,27 @@ % │ Number the counters appropriately │ % └ ┘ \newcommand{\usenumberArabic}[1]{% - \ifnum\value{numberingConfig}=1 - \labelIt{#1} - \printcounter{#1\suffix}% - \else - \ifnum\value{numberingConfig}=2 - \ifthenelse{\equal{#1}{definitions}}{% - \labelIt{definition} - \printcounter{definition\suffix}% - }{% - \labelIt{all} - \printcounter{all\suffix}% - }% - \else - \ifnum\value{numberingConfig}=3 - \labelIt{all} - \printcounter{all\suffix}% - \else - \relax% - \fi - \fi - \fi} + \ifnum\value{numberingConfig}=1 + \labelIt{#1} + \printcounter{#1\suffix}% + \else + \ifnum\value{numberingConfig}=2 + \ifthenelse{\equal{#1}{definitions}}{% + \labelIt{definition} + \printcounter{definition\suffix}% + }{% + \labelIt{all} + \printcounter{all\suffix}% + }% + \else + \ifnum\value{numberingConfig}=3 + \labelIt{all} + \printcounter{all\suffix}% + \else + \relax% + \fi + \fi + \fi} % ──────────────────────────────────────────────────────────────────── @@ -809,22 +809,22 @@ % For later change \newcommand{\setNumberingStyle}[1]{ - \typeout{Setting NumberingStyle to #1} - \setcounter{numberingConfig}{#1} - \ifthenelse{\equal{#1}{0}}{}{ - \setcounter{numberingConfigStore}{#1} - } - \applyTableAndFigureNumbering + \typeout{Setting NumberingStyle to #1} + \setcounter{numberingConfig}{#1} + \ifthenelse{\equal{#1}{0}}{}{ + \setcounter{numberingConfigStore}{#1} + } + \applyTableAndFigureNumbering } % Enable / disable numbering \newcommand{\numberingOff}{ - \setcounter{numberingConfig}{0} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{0} + \applyTableAndFigureNumbering } \newcommand{\numberingOn}{ - \setcounter{numberingConfig}{\value{numberingConfigStore}} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{\value{numberingConfigStore}} + \applyTableAndFigureNumbering } % ──────────────────────────────────────────────────────────────────── @@ -833,51 +833,51 @@ % │ new page │ % ╰────────────────────────────────────────────────╯ \newcommand{\newsection}{ - \newpage - \newsectionNoPB + \newpage + \newsectionNoPB } % ── Reset definitions, lemma, etc counters, do not add new page ───── \newcommand{\newsectionNoPB}{ - \setcounter{lemma}{0} - \setcounter{definition}{0} - \setcounter{corollary}{0} - \setcounter{theorem}{0} - \setcounter{axiom}{0} - \setcounter{example}{0} - \setcounter{fact}{0} - \setcounter{proposition}{0} - \setcounter{formula}{0} - \setcounter{remark}{0} - \setcounter{all}{0} + \setcounter{lemma}{0} + \setcounter{definition}{0} + \setcounter{corollary}{0} + \setcounter{theorem}{0} + \setcounter{axiom}{0} + \setcounter{example}{0} + \setcounter{fact}{0} + \setcounter{proposition}{0} + \setcounter{formula}{0} + \setcounter{remark}{0} + \setcounter{all}{0} - \setcounter{lemmass}{0} - \setcounter{definitionss}{0} - \setcounter{corollaryss}{0} - \setcounter{theoremss}{0} - \setcounter{axiomss}{0} - \setcounter{exampless}{0} - \setcounter{factss}{0} - \setcounter{propositionss}{0} - \setcounter{formulass}{0} - \setcounter{remarkss}{0} - \setcounter{allss}{0} + \setcounter{lemmass}{0} + \setcounter{definitionss}{0} + \setcounter{corollaryss}{0} + \setcounter{theoremss}{0} + \setcounter{axiomss}{0} + \setcounter{exampless}{0} + \setcounter{factss}{0} + \setcounter{propositionss}{0} + \setcounter{formulass}{0} + \setcounter{remarkss}{0} + \setcounter{allss}{0} - \setcounter{lemmasss}{0} - \setcounter{definitionsss}{0} - \setcounter{corollarysss}{0} - \setcounter{theoremsss}{0} - \setcounter{axiomsss}{0} - \setcounter{examplesss}{0} - \setcounter{factsss}{0} - \setcounter{propositionsss}{0} - \setcounter{formulasss}{0} - \setcounter{remarksss}{0} - \setcounter{allsss}{0} + \setcounter{lemmasss}{0} + \setcounter{definitionsss}{0} + \setcounter{corollarysss}{0} + \setcounter{theoremsss}{0} + \setcounter{axiomsss}{0} + \setcounter{examplesss}{0} + \setcounter{factsss}{0} + \setcounter{propositionsss}{0} + \setcounter{formulasss}{0} + \setcounter{remarksss}{0} + \setcounter{allsss}{0} - % Tables & Figures - \setcounter{table}{0} - \setcounter{figure}{0} + % Tables & Figures + \setcounter{table}{0} + \setcounter{figure}{0} } \newsectionNoPB % Initializes @@ -893,39 +893,39 @@ % Theorems \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 \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 \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 \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 \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 \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 \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 \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 \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} \newenvironment{algo}[1]{ - \begin{algorithm} - \begin{spacing}{1.2} - \caption{\textsc{#1}} - \begin{algorithmic}[1] - }{ - \end{algorithmic} - \end{spacing} - \end{algorithm} + \begin{algorithm} + \begin{spacing}{1.2} + \caption{\textsc{#1}} + \begin{algorithmic}[1] + }{ + \end{algorithmic} + \end{spacing} + \end{algorithm} } % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . @@ -1031,10 +1031,10 @@ % 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}, - 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}, - 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 \newenvironment{tables}[2]{ - \begin{center} - \begin{tabular}{#1} - \toprule - #2 \\ - \midrule - }{ - \bottomrule - \end{tabular} - \end{center} + \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} + \edef\tableCaption{#3} + \begin{table}[h!] + \begin{tables}{#1}{#2} + }{ + \end{tables} + \caption{\tableCaption} + \end{table} } % ___ _ _____ _ _ @@ -1080,14 +1080,14 @@ % Configs if you want to use BibTeX. Not included in any default configs. \newcommand{\setupBibtex}[1]{ - \usepackage{biblatex} - \usepackage[nottoc, numbib]{tocbibind} - \addbibresource{#1} + \usepackage{biblatex} + \usepackage[nottoc, numbib]{tocbibind} + \addbibresource{#1} } \newcommand{\printbib}{ - \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} - \printbibliography[title=\translate{Sources}{Quellen}] + \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} + \printbibliography[title=\translate{Sources}{Quellen}] } @@ -1098,14 +1098,14 @@ % Add glossaries functionality \newcommand{\setupGlossary}{ - \usepackage[nonumberlist, toc]{glossaries} - \usepackage[nottoc, numbib]{tocbibind} - \makenoidxglossaries + \usepackage[nonumberlist, toc]{glossaries} + \usepackage[nottoc, numbib]{tocbibind} + \makenoidxglossaries } \newcommand{\printGlossary}{ - \glsaddall - \printnoidxglossaries + \glsaddall + \printnoidxglossaries } % ┌ ┐ @@ -1120,8 +1120,8 @@ % Args: Language, Code \newenvironment{code}[1]{ - \VerbatimEnvironment - \begin{minted}[ + \VerbatimEnvironment + \begin{minted}[ autogobble, breaklines, breakindentnchars=2, @@ -1135,23 +1135,23 @@ % Args: Language, file relative to root file \newcommand{\inputcode}[2]{ - \inputminted[ - autogobble, - breaklines, - breakindentnchars=2, - frame=lines, - framesep=2mm, - mathescape, - baselinestretch=1.1, - linenos - ]{#1}{#2} + \inputminted[ + autogobble, + breaklines, + breakindentnchars=2, + frame=lines, + framesep=2mm, + mathescape, + baselinestretch=1.1, + linenos + ]{#1}{#2} } % Args: Language, Base directory (with trailing slash), file (no slash at start) \newcommand{\inputcodewithfilename}[3]{ - \begin{figure}[h!] - \texttt{File: \detokenize{#3}} - \rmvspace - \inputcode{#1}{#2#3} - \end{figure} + \begin{figure}[h!] + \texttt{File: \detokenize{#3}} + \rmvspace + \inputcode{#1}{#2#3} + \end{figure} } diff --git a/dist/letter.tex b/dist/letter.tex index 681290b..c3ea91f 100644 --- a/dist/letter.tex +++ b/dist/letter.tex @@ -21,12 +21,12 @@ % Define new letter header \setkomavar{firsthead}{ - \null\hfill - \parbox[t][\headheight][t]{4cm}{% - \vspace*{2cm} + \null\hfill + \parbox[t][\headheight][t]{4cm}{% + \vspace*{2cm} - \usekomavar{fromname} \newline - \usekomavar{fromaddress} \newline - \usekomavar{fromplace} - } + \usekomavar{fromname} \newline + \usekomavar{fromaddress} \newline + \usekomavar{fromplace} + } }% diff --git a/dist/minimal.tex b/dist/minimal.tex index fe6d17e..7f7bcba 100644 --- a/dist/minimal.tex +++ b/dist/minimal.tex @@ -56,32 +56,32 @@ \newcounter{lang} \newcommand{\setLang}[1]{ - \edef\lang{#1} - \edef\en{en} - \edef\de{de} - \ifx\lang\en - \typeout{[Lang Switcher] Loading English} - \setcounter{lang}{1} - \else - \ifx\lang\de - \typeout{[Lang Switcher] Loading German} - \setcounter{lang}{2} - \usepackage[ngerman]{babel} - \else - \typeout{[Lang Switcher] No such language!} - \fi - \fi + \edef\lang{#1} + \edef\en{en} + \edef\de{de} + \ifx\lang\en + \typeout{[Lang Switcher] Loading English} + \setcounter{lang}{1} + \else + \ifx\lang\de + \typeout{[Lang Switcher] Loading German} + \setcounter{lang}{2} + \usepackage[ngerman]{babel} + \else + \typeout{[Lang Switcher] No such language!} + \fi + \fi } % Deprecated, as not useful \newcommand{\loadLang}{ - \ifnum\value{lang}<2{ - \typeout{[Lang Loader] Loaded English} - }\else { - \typeout{[Lang Loader] Loaded German} - \setcounter{lang}{2} - } - \fi + \ifnum\value{lang}<2{ + \typeout{[Lang Loader] Loaded English} + }\else { + \typeout{[Lang Loader] Loaded German} + \setcounter{lang}{2} + } + \fi } @@ -97,69 +97,69 @@ % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ - \typeout{[Setup] Setting up...} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - \fancypagestyle{plain}{% - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - } - \typeout{[Setup] Complete} + \typeout{[Setup] Setting up...} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + \fancypagestyle{plain}{% + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + } + \typeout{[Setup] Complete} } % Start document command (required) \newcommand{\startDocument}{ - \maketitle - \startDocumentNoTitle + \maketitle + \startDocumentNoTitle } % Or this one, if you don't want a title \newcommand{\startDocumentNoTitle}{ - \pagestyle{fancy} - \thispagestyle{fancy} + \pagestyle{fancy} + \thispagestyle{fancy} } % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \typeout{[Setup] Using barebones setup} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \typeout{[Setup] Using barebones setup} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} } % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \typeout{[Setup] Using CheatSheet setup} - \loadLang - \edef\valtrue{true} - \ifbool{cheatSheetLandscape}{ - \typeout{[Setup] Using landscape with \arabic{colCount} columns} - \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + \typeout{[Setup] Using CheatSheet setup} + \loadLang + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} - \usepackage{flowfram} - \allowdisplaybreaks - \ffvadjustfalse - \setlength{\columnsep}{1cm} - \Ncolumn{\arabic{colCount}} - }{ - \typeout{[Setup] Using portrait} - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} - } - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } + \title{\Huge \textbf{#1}} + \author{\authorTitle} } @@ -248,35 +248,35 @@ % Global style configs for tcolorbox (to reduce bloat) \newcommand{\usetcolorboxes}{ - \tcbset{ - mainboxstyle/.style={ - arc=3mm, - colback=red!5!white, - colframe=red!75!black, - colbacktitle=red!75!black, - fonttitle=\bfseries, - enhanced, - attach boxed title to top left={yshift=-2mm,xshift=5mm}, - breakable, - top=0.4cm, - } - } - \tikzset{ - overlaystyle/.style={ - draw=red!75!black, - thick, - fill=red!75!black, - left, - anchor=east, - text=white, - rounded corners=1mm, - font=\bfseries, - xshift=-5mm, - yshift=1mm, - inner xsep=3mm, - inner ysep=1.5mm - } - } + \tcbset{ + mainboxstyle/.style={ + arc=3mm, + colback=red!5!white, + colframe=red!75!black, + colbacktitle=red!75!black, + fonttitle=\bfseries, + enhanced, + attach boxed title to top left={yshift=-2mm,xshift=5mm}, + breakable, + top=0.4cm, + } + } + \tikzset{ + overlaystyle/.style={ + draw=red!75!black, + thick, + fill=red!75!black, + left, + anchor=east, + text=white, + rounded corners=1mm, + font=\bfseries, + xshift=-5mm, + yshift=1mm, + inner xsep=3mm, + inner ysep=1.5mm + } + } } % -------------------- % @@ -284,15 +284,15 @@ % -------------------- % \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFontType}[1]{ - \ifthenelse{\equal{#1}{mono}}{ - \renewcommand{\familydefault}{\ttdefault} - }{ - \ifthenelse{\equal{#1}{serif}}{ - \renewcommand{\familydefault}{\rmdefault} - }{ - \renewcommand{\familydefault}{\sfdefault} - } - } + \ifthenelse{\equal{#1}{mono}}{ + \renewcommand{\familydefault}{\ttdefault} + }{ + \ifthenelse{\equal{#1}{serif}}{ + \renewcommand{\familydefault}{\rmdefault} + }{ + \renewcommand{\familydefault}{\sfdefault} + } + } } \newcommand{\hrmvspace}{\vspace{-0.25pc}} @@ -310,16 +310,16 @@ % Add a color shade (similar to \fhlc, but nicer boxes) \newcommand{\background}[3]{\tcbox[on line, - boxsep=2pt, - left=0pt, - right=0pt, - top=0pt, - bottom=0pt, - colframe=white, - frame empty, - colback=#1!#2!white, - highlight math style={enhanced} - ] {\textbf{#3}}} + boxsep=2pt, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt, + colframe=white, + frame empty, + colback=#1!#2!white, + highlight math style={enhanced} + ] {\textbf{#3}}} % Abstraction of background, where the brightness is set to 20% \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} @@ -354,14 +354,14 @@ % Print a table of contents as a tcolorbox \newcommand{\printtoc}[1]{ - \renewcommand{\cfttoctitlefont}{} - \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} - \renewcommand{\contentsname}{} - \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] - \hspace{1cm} - \tableofcontents - \end{tcolorbox} + \renewcommand{\cfttoctitlefont}{} + \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} + \renewcommand{\contentsname}{} + \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] + \hspace{1cm} + \tableofcontents + \end{tcolorbox} } %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ @@ -372,40 +372,40 @@ % General tcolorboxes \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}, - 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}, - 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}, - 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}, - 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}, - 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}, - 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:}} % Terms and notation \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}, - 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}, - 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 @@ -418,7 +418,7 @@ % 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} + 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} diff --git a/dist/most.tex b/dist/most.tex index 5f7936f..5cbaee5 100644 --- a/dist/most.tex +++ b/dist/most.tex @@ -56,32 +56,32 @@ \newcounter{lang} \newcommand{\setLang}[1]{ - \edef\lang{#1} - \edef\en{en} - \edef\de{de} - \ifx\lang\en - \typeout{[Lang Switcher] Loading English} - \setcounter{lang}{1} - \else - \ifx\lang\de - \typeout{[Lang Switcher] Loading German} - \setcounter{lang}{2} - \usepackage[ngerman]{babel} - \else - \typeout{[Lang Switcher] No such language!} - \fi - \fi + \edef\lang{#1} + \edef\en{en} + \edef\de{de} + \ifx\lang\en + \typeout{[Lang Switcher] Loading English} + \setcounter{lang}{1} + \else + \ifx\lang\de + \typeout{[Lang Switcher] Loading German} + \setcounter{lang}{2} + \usepackage[ngerman]{babel} + \else + \typeout{[Lang Switcher] No such language!} + \fi + \fi } % Deprecated, as not useful \newcommand{\loadLang}{ - \ifnum\value{lang}<2{ - \typeout{[Lang Loader] Loaded English} - }\else { - \typeout{[Lang Loader] Loaded German} - \setcounter{lang}{2} - } - \fi + \ifnum\value{lang}<2{ + \typeout{[Lang Loader] Loaded English} + }\else { + \typeout{[Lang Loader] Loaded German} + \setcounter{lang}{2} + } + \fi } @@ -97,69 +97,69 @@ % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ - \typeout{[Setup] Setting up...} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - \fancypagestyle{plain}{% - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - } - \typeout{[Setup] Complete} + \typeout{[Setup] Setting up...} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + \fancypagestyle{plain}{% + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + } + \typeout{[Setup] Complete} } % Start document command (required) \newcommand{\startDocument}{ - \maketitle - \startDocumentNoTitle + \maketitle + \startDocumentNoTitle } % Or this one, if you don't want a title \newcommand{\startDocumentNoTitle}{ - \pagestyle{fancy} - \thispagestyle{fancy} + \pagestyle{fancy} + \thispagestyle{fancy} } % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \typeout{[Setup] Using barebones setup} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \typeout{[Setup] Using barebones setup} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} } % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \typeout{[Setup] Using CheatSheet setup} - \loadLang - \edef\valtrue{true} - \ifbool{cheatSheetLandscape}{ - \typeout{[Setup] Using landscape with \arabic{colCount} columns} - \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + \typeout{[Setup] Using CheatSheet setup} + \loadLang + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} - \usepackage{flowfram} - \allowdisplaybreaks - \ffvadjustfalse - \setlength{\columnsep}{1cm} - \Ncolumn{\arabic{colCount}} - }{ - \typeout{[Setup] Using portrait} - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} - } - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } + \title{\Huge \textbf{#1}} + \author{\authorTitle} } @@ -248,35 +248,35 @@ % Global style configs for tcolorbox (to reduce bloat) \newcommand{\usetcolorboxes}{ - \tcbset{ - mainboxstyle/.style={ - arc=3mm, - colback=red!5!white, - colframe=red!75!black, - colbacktitle=red!75!black, - fonttitle=\bfseries, - enhanced, - attach boxed title to top left={yshift=-2mm,xshift=5mm}, - breakable, - top=0.4cm, - } - } - \tikzset{ - overlaystyle/.style={ - draw=red!75!black, - thick, - fill=red!75!black, - left, - anchor=east, - text=white, - rounded corners=1mm, - font=\bfseries, - xshift=-5mm, - yshift=1mm, - inner xsep=3mm, - inner ysep=1.5mm - } - } + \tcbset{ + mainboxstyle/.style={ + arc=3mm, + colback=red!5!white, + colframe=red!75!black, + colbacktitle=red!75!black, + fonttitle=\bfseries, + enhanced, + attach boxed title to top left={yshift=-2mm,xshift=5mm}, + breakable, + top=0.4cm, + } + } + \tikzset{ + overlaystyle/.style={ + draw=red!75!black, + thick, + fill=red!75!black, + left, + anchor=east, + text=white, + rounded corners=1mm, + font=\bfseries, + xshift=-5mm, + yshift=1mm, + inner xsep=3mm, + inner ysep=1.5mm + } + } } % -------------------- % @@ -284,15 +284,15 @@ % -------------------- % \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFontType}[1]{ - \ifthenelse{\equal{#1}{mono}}{ - \renewcommand{\familydefault}{\ttdefault} - }{ - \ifthenelse{\equal{#1}{serif}}{ - \renewcommand{\familydefault}{\rmdefault} - }{ - \renewcommand{\familydefault}{\sfdefault} - } - } + \ifthenelse{\equal{#1}{mono}}{ + \renewcommand{\familydefault}{\ttdefault} + }{ + \ifthenelse{\equal{#1}{serif}}{ + \renewcommand{\familydefault}{\rmdefault} + }{ + \renewcommand{\familydefault}{\sfdefault} + } + } } \newcommand{\hrmvspace}{\vspace{-0.25pc}} @@ -310,16 +310,16 @@ % Add a color shade (similar to \fhlc, but nicer boxes) \newcommand{\background}[3]{\tcbox[on line, - boxsep=2pt, - left=0pt, - right=0pt, - top=0pt, - bottom=0pt, - colframe=white, - frame empty, - colback=#1!#2!white, - highlight math style={enhanced} - ] {\textbf{#3}}} + boxsep=2pt, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt, + colframe=white, + frame empty, + colback=#1!#2!white, + highlight math style={enhanced} + ] {\textbf{#3}}} % Abstraction of background, where the brightness is set to 20% \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} @@ -354,14 +354,14 @@ % Print a table of contents as a tcolorbox \newcommand{\printtoc}[1]{ - \renewcommand{\cfttoctitlefont}{} - \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} - \renewcommand{\contentsname}{} - \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] - \hspace{1cm} - \tableofcontents - \end{tcolorbox} + \renewcommand{\cfttoctitlefont}{} + \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} + \renewcommand{\contentsname}{} + \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] + \hspace{1cm} + \tableofcontents + \end{tcolorbox} } %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ @@ -372,40 +372,40 @@ % General tcolorboxes \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}, - 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}, - 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}, - 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}, - 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}, - 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}, - 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:}} % Terms and notation \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}, - 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}, - 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 @@ -418,7 +418,7 @@ % 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} + 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} @@ -572,9 +572,9 @@ % For using index package \newcommand{\prepareIndex}{ - \usepackage[T1]{fontenc} - \usepackage{imakeidx} - \makeindex + \usepackage[T1]{fontenc} + \usepackage{imakeidx} + \makeindex } \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} @@ -630,22 +630,22 @@ % Set the current number of a label \newcommand{\setLabelNumber}[2]{% - \setcounter{#1}{#2}% - \addtocounter{#1}{-1}% - \setcounter{#1ss}{#2}% - \addtocounter{#1ss}{-1}% - \setcounter{#1sss}{#2}% - \addtocounter{#1sss}{-1}% + \setcounter{#1}{#2}% + \addtocounter{#1}{-1}% + \setcounter{#1ss}{#2}% + \addtocounter{#1ss}{-1}% + \setcounter{#1sss}{#2}% + \addtocounter{#1sss}{-1}% } \newcommand{\stepLabelNumber}[1]{% - \stepcounter{#1}% - \stepcounter{#1ss}% - \stepcounter{#1sss}% + \stepcounter{#1}% + \stepcounter{#1ss}% + \stepcounter{#1sss}% } \newcommand{\printcounter}[1]{% - \csname the#1\endcsname + \csname the#1\endcsname } \newcommand{\suffix}{ss} @@ -655,119 +655,119 @@ % │ Counter numbering │ % └ ┘ \newcommand{\preTableAndFigHook}[1]{% - \ifnum\value{numberingConfig}>1% - \ifnum\value{numberSubsections}=1% - \stepcounter{allss}% - \else - \ifnum\value{numberSubsections}=2% - \stepcounter{allsss}% - \else% - \stepcounter{all}% - \fi - \fi - \fi + \ifnum\value{numberingConfig}>1% + \ifnum\value{numberSubsections}=1% + \stepcounter{allss}% + \else + \ifnum\value{numberSubsections}=2% + \stepcounter{allsss}% + \else% + \stepcounter{all}% + \fi + \fi + \fi } \AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \newcommand{\applyTableAndFigureNumbering}{ - % Tables & Figures - \ifnum\value{numberingConfig}=0 - \renewcommand{\thetable}{\arabic{table}} - \renewcommand{\thefigure}{\arabic{figure}} - \else - \ifnum\value{numberingConfig}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} - \else - \ifnum\value{numberSubsections}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} - \else - \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} - \fi - \fi - \fi - \fi + % Tables & Figures + \ifnum\value{numberingConfig}=0 + \renewcommand{\thetable}{\arabic{table}} + \renewcommand{\thefigure}{\arabic{figure}} + \else + \ifnum\value{numberingConfig}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} + \else + \ifnum\value{numberSubsections}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} + \else + \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} + \fi + \fi + \fi + \fi } \newcommand{\setSubsectionNumbering}[1]{ - \setcounter{numberSubsections}{#1} - \applySubsectionNumbering + \setcounter{numberSubsections}{#1} + \applySubsectionNumbering } \newcommand{\applySubsectionNumbering}{ - \ifnum\value{numberSubsections}=1 - \renewcommand{\sectionNumbering}{\thesubsection} - \renewcommand{\suffix}{ss} - \typeout{Numbering as section.subsection.number} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\sectionNumbering}{\thesubsubsection} - \renewcommand{\suffix}{sss} - \typeout{Numbering as section.subsection.subsubsection.number} - \else - \renewcommand{\sectionNumbering}{\thesection} - \renewcommand{\suffix}{} - \typeout{Numbering as section.number} - \fi - \fi - \applyTableAndFigureNumbering + \ifnum\value{numberSubsections}=1 + \renewcommand{\sectionNumbering}{\thesubsection} + \renewcommand{\suffix}{ss} + \typeout{Numbering as section.subsection.number} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\sectionNumbering}{\thesubsubsection} + \renewcommand{\suffix}{sss} + \typeout{Numbering as section.subsection.subsubsection.number} + \else + \renewcommand{\sectionNumbering}{\thesection} + \renewcommand{\suffix}{} + \typeout{Numbering as section.number} + \fi + \fi + \applyTableAndFigureNumbering - \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} - \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} - \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} - \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} - \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} - \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} - \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} - \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} - \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} - \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} - \renewcommand{\theall}{\sectionNumbering.\arabic{all}} + \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} + \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} + \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} + \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} + \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} + \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} + \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} + \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} + \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} + \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} + \renewcommand{\theall}{\sectionNumbering.\arabic{all}} - \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} - \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} - \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} - \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} - \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} - \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} - \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} - \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} - \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} - \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} - \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} + \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} + \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} + \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} + \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} + \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} + \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} + \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} + \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} + \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} + \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} - \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} - \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} - \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} - \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} - \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} - \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} - \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} - \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} - \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} - \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} + \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} + \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} + \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} + \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} + \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} + \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} + \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} + \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} + \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} + \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} + \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} } \applySubsectionNumbering % ── Label generation ──────────────────────────────────────────────── \newcommand{\labelSectionGeneration}{% - \ifnum\value{numberSubsections}=1 - \arabic{section}-\arabic{subsection}% - \else - \ifnum\value{numberSubsections}=2 - \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% - \else - \arabic{section}% - \fi - \fi} + \ifnum\value{numberSubsections}=1 + \arabic{section}-\arabic{subsection}% + \else + \ifnum\value{numberSubsections}=2 + \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% + \else + \arabic{section}% + \fi + \fi} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} @@ -776,27 +776,27 @@ % │ Number the counters appropriately │ % └ ┘ \newcommand{\usenumberArabic}[1]{% - \ifnum\value{numberingConfig}=1 - \labelIt{#1} - \printcounter{#1\suffix}% - \else - \ifnum\value{numberingConfig}=2 - \ifthenelse{\equal{#1}{definitions}}{% - \labelIt{definition} - \printcounter{definition\suffix}% - }{% - \labelIt{all} - \printcounter{all\suffix}% - }% - \else - \ifnum\value{numberingConfig}=3 - \labelIt{all} - \printcounter{all\suffix}% - \else - \relax% - \fi - \fi - \fi} + \ifnum\value{numberingConfig}=1 + \labelIt{#1} + \printcounter{#1\suffix}% + \else + \ifnum\value{numberingConfig}=2 + \ifthenelse{\equal{#1}{definitions}}{% + \labelIt{definition} + \printcounter{definition\suffix}% + }{% + \labelIt{all} + \printcounter{all\suffix}% + }% + \else + \ifnum\value{numberingConfig}=3 + \labelIt{all} + \printcounter{all\suffix}% + \else + \relax% + \fi + \fi + \fi} % ──────────────────────────────────────────────────────────────────── @@ -809,22 +809,22 @@ % For later change \newcommand{\setNumberingStyle}[1]{ - \typeout{Setting NumberingStyle to #1} - \setcounter{numberingConfig}{#1} - \ifthenelse{\equal{#1}{0}}{}{ - \setcounter{numberingConfigStore}{#1} - } - \applyTableAndFigureNumbering + \typeout{Setting NumberingStyle to #1} + \setcounter{numberingConfig}{#1} + \ifthenelse{\equal{#1}{0}}{}{ + \setcounter{numberingConfigStore}{#1} + } + \applyTableAndFigureNumbering } % Enable / disable numbering \newcommand{\numberingOff}{ - \setcounter{numberingConfig}{0} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{0} + \applyTableAndFigureNumbering } \newcommand{\numberingOn}{ - \setcounter{numberingConfig}{\value{numberingConfigStore}} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{\value{numberingConfigStore}} + \applyTableAndFigureNumbering } % ──────────────────────────────────────────────────────────────────── @@ -833,51 +833,51 @@ % │ new page │ % ╰────────────────────────────────────────────────╯ \newcommand{\newsection}{ - \newpage - \newsectionNoPB + \newpage + \newsectionNoPB } % ── Reset definitions, lemma, etc counters, do not add new page ───── \newcommand{\newsectionNoPB}{ - \setcounter{lemma}{0} - \setcounter{definition}{0} - \setcounter{corollary}{0} - \setcounter{theorem}{0} - \setcounter{axiom}{0} - \setcounter{example}{0} - \setcounter{fact}{0} - \setcounter{proposition}{0} - \setcounter{formula}{0} - \setcounter{remark}{0} - \setcounter{all}{0} + \setcounter{lemma}{0} + \setcounter{definition}{0} + \setcounter{corollary}{0} + \setcounter{theorem}{0} + \setcounter{axiom}{0} + \setcounter{example}{0} + \setcounter{fact}{0} + \setcounter{proposition}{0} + \setcounter{formula}{0} + \setcounter{remark}{0} + \setcounter{all}{0} - \setcounter{lemmass}{0} - \setcounter{definitionss}{0} - \setcounter{corollaryss}{0} - \setcounter{theoremss}{0} - \setcounter{axiomss}{0} - \setcounter{exampless}{0} - \setcounter{factss}{0} - \setcounter{propositionss}{0} - \setcounter{formulass}{0} - \setcounter{remarkss}{0} - \setcounter{allss}{0} + \setcounter{lemmass}{0} + \setcounter{definitionss}{0} + \setcounter{corollaryss}{0} + \setcounter{theoremss}{0} + \setcounter{axiomss}{0} + \setcounter{exampless}{0} + \setcounter{factss}{0} + \setcounter{propositionss}{0} + \setcounter{formulass}{0} + \setcounter{remarkss}{0} + \setcounter{allss}{0} - \setcounter{lemmasss}{0} - \setcounter{definitionsss}{0} - \setcounter{corollarysss}{0} - \setcounter{theoremsss}{0} - \setcounter{axiomsss}{0} - \setcounter{examplesss}{0} - \setcounter{factsss}{0} - \setcounter{propositionsss}{0} - \setcounter{formulasss}{0} - \setcounter{remarksss}{0} - \setcounter{allsss}{0} + \setcounter{lemmasss}{0} + \setcounter{definitionsss}{0} + \setcounter{corollarysss}{0} + \setcounter{theoremsss}{0} + \setcounter{axiomsss}{0} + \setcounter{examplesss}{0} + \setcounter{factsss}{0} + \setcounter{propositionsss}{0} + \setcounter{formulasss}{0} + \setcounter{remarksss}{0} + \setcounter{allsss}{0} - % Tables & Figures - \setcounter{table}{0} - \setcounter{figure}{0} + % Tables & Figures + \setcounter{table}{0} + \setcounter{figure}{0} } \newsectionNoPB % Initializes @@ -893,39 +893,39 @@ % Theorems \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 \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 \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 \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 \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 \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 \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 \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 \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} \newenvironment{algo}[1]{ - \begin{algorithm} - \begin{spacing}{1.2} - \caption{\textsc{#1}} - \begin{algorithmic}[1] - }{ - \end{algorithmic} - \end{spacing} - \end{algorithm} + \begin{algorithm} + \begin{spacing}{1.2} + \caption{\textsc{#1}} + \begin{algorithmic}[1] + }{ + \end{algorithmic} + \end{spacing} + \end{algorithm} } % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . @@ -1031,10 +1031,10 @@ % 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}, - 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}, - 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 \newenvironment{tables}[2]{ - \begin{center} - \begin{tabular}{#1} - \toprule - #2 \\ - \midrule - }{ - \bottomrule - \end{tabular} - \end{center} + \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} + \edef\tableCaption{#3} + \begin{table}[h!] + \begin{tables}{#1}{#2} + }{ + \end{tables} + \caption{\tableCaption} + \end{table} } diff --git a/dist/recommended.tex b/dist/recommended.tex index e5cddae..abb5688 100644 --- a/dist/recommended.tex +++ b/dist/recommended.tex @@ -56,32 +56,32 @@ \newcounter{lang} \newcommand{\setLang}[1]{ - \edef\lang{#1} - \edef\en{en} - \edef\de{de} - \ifx\lang\en - \typeout{[Lang Switcher] Loading English} - \setcounter{lang}{1} - \else - \ifx\lang\de - \typeout{[Lang Switcher] Loading German} - \setcounter{lang}{2} - \usepackage[ngerman]{babel} - \else - \typeout{[Lang Switcher] No such language!} - \fi - \fi + \edef\lang{#1} + \edef\en{en} + \edef\de{de} + \ifx\lang\en + \typeout{[Lang Switcher] Loading English} + \setcounter{lang}{1} + \else + \ifx\lang\de + \typeout{[Lang Switcher] Loading German} + \setcounter{lang}{2} + \usepackage[ngerman]{babel} + \else + \typeout{[Lang Switcher] No such language!} + \fi + \fi } % Deprecated, as not useful \newcommand{\loadLang}{ - \ifnum\value{lang}<2{ - \typeout{[Lang Loader] Loaded English} - }\else { - \typeout{[Lang Loader] Loaded German} - \setcounter{lang}{2} - } - \fi + \ifnum\value{lang}<2{ + \typeout{[Lang Loader] Loaded English} + }\else { + \typeout{[Lang Loader] Loaded German} + \setcounter{lang}{2} + } + \fi } @@ -97,69 +97,69 @@ % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ - \typeout{[Setup] Setting up...} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - \fancypagestyle{plain}{% - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - } - \typeout{[Setup] Complete} + \typeout{[Setup] Setting up...} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + \fancypagestyle{plain}{% + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + } + \typeout{[Setup] Complete} } % Start document command (required) \newcommand{\startDocument}{ - \maketitle - \startDocumentNoTitle + \maketitle + \startDocumentNoTitle } % Or this one, if you don't want a title \newcommand{\startDocumentNoTitle}{ - \pagestyle{fancy} - \thispagestyle{fancy} + \pagestyle{fancy} + \thispagestyle{fancy} } % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \typeout{[Setup] Using barebones setup} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \typeout{[Setup] Using barebones setup} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} } % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \typeout{[Setup] Using CheatSheet setup} - \loadLang - \edef\valtrue{true} - \ifbool{cheatSheetLandscape}{ - \typeout{[Setup] Using landscape with \arabic{colCount} columns} - \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + \typeout{[Setup] Using CheatSheet setup} + \loadLang + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} - \usepackage{flowfram} - \allowdisplaybreaks - \ffvadjustfalse - \setlength{\columnsep}{1cm} - \Ncolumn{\arabic{colCount}} - }{ - \typeout{[Setup] Using portrait} - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} - } - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } + \title{\Huge \textbf{#1}} + \author{\authorTitle} } @@ -248,35 +248,35 @@ % Global style configs for tcolorbox (to reduce bloat) \newcommand{\usetcolorboxes}{ - \tcbset{ - mainboxstyle/.style={ - arc=3mm, - colback=red!5!white, - colframe=red!75!black, - colbacktitle=red!75!black, - fonttitle=\bfseries, - enhanced, - attach boxed title to top left={yshift=-2mm,xshift=5mm}, - breakable, - top=0.4cm, - } - } - \tikzset{ - overlaystyle/.style={ - draw=red!75!black, - thick, - fill=red!75!black, - left, - anchor=east, - text=white, - rounded corners=1mm, - font=\bfseries, - xshift=-5mm, - yshift=1mm, - inner xsep=3mm, - inner ysep=1.5mm - } - } + \tcbset{ + mainboxstyle/.style={ + arc=3mm, + colback=red!5!white, + colframe=red!75!black, + colbacktitle=red!75!black, + fonttitle=\bfseries, + enhanced, + attach boxed title to top left={yshift=-2mm,xshift=5mm}, + breakable, + top=0.4cm, + } + } + \tikzset{ + overlaystyle/.style={ + draw=red!75!black, + thick, + fill=red!75!black, + left, + anchor=east, + text=white, + rounded corners=1mm, + font=\bfseries, + xshift=-5mm, + yshift=1mm, + inner xsep=3mm, + inner ysep=1.5mm + } + } } % -------------------- % @@ -284,15 +284,15 @@ % -------------------- % \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFontType}[1]{ - \ifthenelse{\equal{#1}{mono}}{ - \renewcommand{\familydefault}{\ttdefault} - }{ - \ifthenelse{\equal{#1}{serif}}{ - \renewcommand{\familydefault}{\rmdefault} - }{ - \renewcommand{\familydefault}{\sfdefault} - } - } + \ifthenelse{\equal{#1}{mono}}{ + \renewcommand{\familydefault}{\ttdefault} + }{ + \ifthenelse{\equal{#1}{serif}}{ + \renewcommand{\familydefault}{\rmdefault} + }{ + \renewcommand{\familydefault}{\sfdefault} + } + } } \newcommand{\hrmvspace}{\vspace{-0.25pc}} @@ -310,16 +310,16 @@ % Add a color shade (similar to \fhlc, but nicer boxes) \newcommand{\background}[3]{\tcbox[on line, - boxsep=2pt, - left=0pt, - right=0pt, - top=0pt, - bottom=0pt, - colframe=white, - frame empty, - colback=#1!#2!white, - highlight math style={enhanced} - ] {\textbf{#3}}} + boxsep=2pt, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt, + colframe=white, + frame empty, + colback=#1!#2!white, + highlight math style={enhanced} + ] {\textbf{#3}}} % Abstraction of background, where the brightness is set to 20% \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} @@ -354,14 +354,14 @@ % Print a table of contents as a tcolorbox \newcommand{\printtoc}[1]{ - \renewcommand{\cfttoctitlefont}{} - \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} - \renewcommand{\contentsname}{} - \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] - \hspace{1cm} - \tableofcontents - \end{tcolorbox} + \renewcommand{\cfttoctitlefont}{} + \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} + \renewcommand{\contentsname}{} + \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] + \hspace{1cm} + \tableofcontents + \end{tcolorbox} } %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ @@ -372,40 +372,40 @@ % General tcolorboxes \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}, - 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}, - 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}, - 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}, - 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}, - 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}, - 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:}} % Terms and notation \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}, - 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}, - 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 @@ -418,7 +418,7 @@ % 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} + 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} @@ -572,9 +572,9 @@ % For using index package \newcommand{\prepareIndex}{ - \usepackage[T1]{fontenc} - \usepackage{imakeidx} - \makeindex + \usepackage[T1]{fontenc} + \usepackage{imakeidx} + \makeindex } \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} @@ -630,22 +630,22 @@ % Set the current number of a label \newcommand{\setLabelNumber}[2]{% - \setcounter{#1}{#2}% - \addtocounter{#1}{-1}% - \setcounter{#1ss}{#2}% - \addtocounter{#1ss}{-1}% - \setcounter{#1sss}{#2}% - \addtocounter{#1sss}{-1}% + \setcounter{#1}{#2}% + \addtocounter{#1}{-1}% + \setcounter{#1ss}{#2}% + \addtocounter{#1ss}{-1}% + \setcounter{#1sss}{#2}% + \addtocounter{#1sss}{-1}% } \newcommand{\stepLabelNumber}[1]{% - \stepcounter{#1}% - \stepcounter{#1ss}% - \stepcounter{#1sss}% + \stepcounter{#1}% + \stepcounter{#1ss}% + \stepcounter{#1sss}% } \newcommand{\printcounter}[1]{% - \csname the#1\endcsname + \csname the#1\endcsname } \newcommand{\suffix}{ss} @@ -655,119 +655,119 @@ % │ Counter numbering │ % └ ┘ \newcommand{\preTableAndFigHook}[1]{% - \ifnum\value{numberingConfig}>1% - \ifnum\value{numberSubsections}=1% - \stepcounter{allss}% - \else - \ifnum\value{numberSubsections}=2% - \stepcounter{allsss}% - \else% - \stepcounter{all}% - \fi - \fi - \fi + \ifnum\value{numberingConfig}>1% + \ifnum\value{numberSubsections}=1% + \stepcounter{allss}% + \else + \ifnum\value{numberSubsections}=2% + \stepcounter{allsss}% + \else% + \stepcounter{all}% + \fi + \fi + \fi } \AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \newcommand{\applyTableAndFigureNumbering}{ - % Tables & Figures - \ifnum\value{numberingConfig}=0 - \renewcommand{\thetable}{\arabic{table}} - \renewcommand{\thefigure}{\arabic{figure}} - \else - \ifnum\value{numberingConfig}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} - \else - \ifnum\value{numberSubsections}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} - \else - \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} - \fi - \fi - \fi - \fi + % Tables & Figures + \ifnum\value{numberingConfig}=0 + \renewcommand{\thetable}{\arabic{table}} + \renewcommand{\thefigure}{\arabic{figure}} + \else + \ifnum\value{numberingConfig}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} + \else + \ifnum\value{numberSubsections}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} + \else + \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} + \fi + \fi + \fi + \fi } \newcommand{\setSubsectionNumbering}[1]{ - \setcounter{numberSubsections}{#1} - \applySubsectionNumbering + \setcounter{numberSubsections}{#1} + \applySubsectionNumbering } \newcommand{\applySubsectionNumbering}{ - \ifnum\value{numberSubsections}=1 - \renewcommand{\sectionNumbering}{\thesubsection} - \renewcommand{\suffix}{ss} - \typeout{Numbering as section.subsection.number} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\sectionNumbering}{\thesubsubsection} - \renewcommand{\suffix}{sss} - \typeout{Numbering as section.subsection.subsubsection.number} - \else - \renewcommand{\sectionNumbering}{\thesection} - \renewcommand{\suffix}{} - \typeout{Numbering as section.number} - \fi - \fi - \applyTableAndFigureNumbering + \ifnum\value{numberSubsections}=1 + \renewcommand{\sectionNumbering}{\thesubsection} + \renewcommand{\suffix}{ss} + \typeout{Numbering as section.subsection.number} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\sectionNumbering}{\thesubsubsection} + \renewcommand{\suffix}{sss} + \typeout{Numbering as section.subsection.subsubsection.number} + \else + \renewcommand{\sectionNumbering}{\thesection} + \renewcommand{\suffix}{} + \typeout{Numbering as section.number} + \fi + \fi + \applyTableAndFigureNumbering - \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} - \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} - \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} - \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} - \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} - \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} - \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} - \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} - \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} - \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} - \renewcommand{\theall}{\sectionNumbering.\arabic{all}} + \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} + \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} + \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} + \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} + \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} + \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} + \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} + \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} + \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} + \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} + \renewcommand{\theall}{\sectionNumbering.\arabic{all}} - \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} - \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} - \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} - \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} - \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} - \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} - \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} - \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} - \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} - \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} - \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} + \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} + \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} + \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} + \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} + \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} + \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} + \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} + \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} + \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} + \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} - \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} - \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} - \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} - \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} - \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} - \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} - \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} - \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} - \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} - \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} + \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} + \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} + \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} + \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} + \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} + \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} + \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} + \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} + \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} + \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} + \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} } \applySubsectionNumbering % ── Label generation ──────────────────────────────────────────────── \newcommand{\labelSectionGeneration}{% - \ifnum\value{numberSubsections}=1 - \arabic{section}-\arabic{subsection}% - \else - \ifnum\value{numberSubsections}=2 - \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% - \else - \arabic{section}% - \fi - \fi} + \ifnum\value{numberSubsections}=1 + \arabic{section}-\arabic{subsection}% + \else + \ifnum\value{numberSubsections}=2 + \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% + \else + \arabic{section}% + \fi + \fi} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} @@ -776,27 +776,27 @@ % │ Number the counters appropriately │ % └ ┘ \newcommand{\usenumberArabic}[1]{% - \ifnum\value{numberingConfig}=1 - \labelIt{#1} - \printcounter{#1\suffix}% - \else - \ifnum\value{numberingConfig}=2 - \ifthenelse{\equal{#1}{definitions}}{% - \labelIt{definition} - \printcounter{definition\suffix}% - }{% - \labelIt{all} - \printcounter{all\suffix}% - }% - \else - \ifnum\value{numberingConfig}=3 - \labelIt{all} - \printcounter{all\suffix}% - \else - \relax% - \fi - \fi - \fi} + \ifnum\value{numberingConfig}=1 + \labelIt{#1} + \printcounter{#1\suffix}% + \else + \ifnum\value{numberingConfig}=2 + \ifthenelse{\equal{#1}{definitions}}{% + \labelIt{definition} + \printcounter{definition\suffix}% + }{% + \labelIt{all} + \printcounter{all\suffix}% + }% + \else + \ifnum\value{numberingConfig}=3 + \labelIt{all} + \printcounter{all\suffix}% + \else + \relax% + \fi + \fi + \fi} % ──────────────────────────────────────────────────────────────────── @@ -809,22 +809,22 @@ % For later change \newcommand{\setNumberingStyle}[1]{ - \typeout{Setting NumberingStyle to #1} - \setcounter{numberingConfig}{#1} - \ifthenelse{\equal{#1}{0}}{}{ - \setcounter{numberingConfigStore}{#1} - } - \applyTableAndFigureNumbering + \typeout{Setting NumberingStyle to #1} + \setcounter{numberingConfig}{#1} + \ifthenelse{\equal{#1}{0}}{}{ + \setcounter{numberingConfigStore}{#1} + } + \applyTableAndFigureNumbering } % Enable / disable numbering \newcommand{\numberingOff}{ - \setcounter{numberingConfig}{0} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{0} + \applyTableAndFigureNumbering } \newcommand{\numberingOn}{ - \setcounter{numberingConfig}{\value{numberingConfigStore}} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{\value{numberingConfigStore}} + \applyTableAndFigureNumbering } % ──────────────────────────────────────────────────────────────────── @@ -833,51 +833,51 @@ % │ new page │ % ╰────────────────────────────────────────────────╯ \newcommand{\newsection}{ - \newpage - \newsectionNoPB + \newpage + \newsectionNoPB } % ── Reset definitions, lemma, etc counters, do not add new page ───── \newcommand{\newsectionNoPB}{ - \setcounter{lemma}{0} - \setcounter{definition}{0} - \setcounter{corollary}{0} - \setcounter{theorem}{0} - \setcounter{axiom}{0} - \setcounter{example}{0} - \setcounter{fact}{0} - \setcounter{proposition}{0} - \setcounter{formula}{0} - \setcounter{remark}{0} - \setcounter{all}{0} + \setcounter{lemma}{0} + \setcounter{definition}{0} + \setcounter{corollary}{0} + \setcounter{theorem}{0} + \setcounter{axiom}{0} + \setcounter{example}{0} + \setcounter{fact}{0} + \setcounter{proposition}{0} + \setcounter{formula}{0} + \setcounter{remark}{0} + \setcounter{all}{0} - \setcounter{lemmass}{0} - \setcounter{definitionss}{0} - \setcounter{corollaryss}{0} - \setcounter{theoremss}{0} - \setcounter{axiomss}{0} - \setcounter{exampless}{0} - \setcounter{factss}{0} - \setcounter{propositionss}{0} - \setcounter{formulass}{0} - \setcounter{remarkss}{0} - \setcounter{allss}{0} + \setcounter{lemmass}{0} + \setcounter{definitionss}{0} + \setcounter{corollaryss}{0} + \setcounter{theoremss}{0} + \setcounter{axiomss}{0} + \setcounter{exampless}{0} + \setcounter{factss}{0} + \setcounter{propositionss}{0} + \setcounter{formulass}{0} + \setcounter{remarkss}{0} + \setcounter{allss}{0} - \setcounter{lemmasss}{0} - \setcounter{definitionsss}{0} - \setcounter{corollarysss}{0} - \setcounter{theoremsss}{0} - \setcounter{axiomsss}{0} - \setcounter{examplesss}{0} - \setcounter{factsss}{0} - \setcounter{propositionsss}{0} - \setcounter{formulasss}{0} - \setcounter{remarksss}{0} - \setcounter{allsss}{0} + \setcounter{lemmasss}{0} + \setcounter{definitionsss}{0} + \setcounter{corollarysss}{0} + \setcounter{theoremsss}{0} + \setcounter{axiomsss}{0} + \setcounter{examplesss}{0} + \setcounter{factsss}{0} + \setcounter{propositionsss}{0} + \setcounter{formulasss}{0} + \setcounter{remarksss}{0} + \setcounter{allsss}{0} - % Tables & Figures - \setcounter{table}{0} - \setcounter{figure}{0} + % Tables & Figures + \setcounter{table}{0} + \setcounter{figure}{0} } \newsectionNoPB % Initializes @@ -893,39 +893,39 @@ % Theorems \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 \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 \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 \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 \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 \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 \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 \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 \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} \newenvironment{algo}[1]{ - \begin{algorithm} - \begin{spacing}{1.2} - \caption{\textsc{#1}} - \begin{algorithmic}[1] - }{ - \end{algorithmic} - \end{spacing} - \end{algorithm} + \begin{algorithm} + \begin{spacing}{1.2} + \caption{\textsc{#1}} + \begin{algorithmic}[1] + }{ + \end{algorithmic} + \end{spacing} + \end{algorithm} } % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . @@ -1031,10 +1031,10 @@ % 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}, - 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}, - 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 \newenvironment{tables}[2]{ - \begin{center} - \begin{tabular}{#1} - \toprule - #2 \\ - \midrule - }{ - \bottomrule - \end{tabular} - \end{center} + \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} + \edef\tableCaption{#3} + \begin{table}[h!] + \begin{tables}{#1}{#2} + }{ + \end{tables} + \caption{\tableCaption} + \end{table} } % ___ _ _____ _ _ @@ -1080,14 +1080,14 @@ % Configs if you want to use BibTeX. Not included in any default configs. \newcommand{\setupBibtex}[1]{ - \usepackage{biblatex} - \usepackage[nottoc, numbib]{tocbibind} - \addbibresource{#1} + \usepackage{biblatex} + \usepackage[nottoc, numbib]{tocbibind} + \addbibresource{#1} } \newcommand{\printbib}{ - \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} - \printbibliography[title=\translate{Sources}{Quellen}] + \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} + \printbibliography[title=\translate{Sources}{Quellen}] } @@ -1098,12 +1098,12 @@ % Add glossaries functionality \newcommand{\setupGlossary}{ - \usepackage[nonumberlist, toc]{glossaries} - \usepackage[nottoc, numbib]{tocbibind} - \makenoidxglossaries + \usepackage[nonumberlist, toc]{glossaries} + \usepackage[nottoc, numbib]{tocbibind} + \makenoidxglossaries } \newcommand{\printGlossary}{ - \glsaddall - \printnoidxglossaries + \glsaddall + \printnoidxglossaries } diff --git a/docs/docs.tex b/docs/docs.tex index fefedef..7f18ad3 100644 --- a/docs/docs.tex +++ b/docs/docs.tex @@ -13,17 +13,17 @@ \vspace{2cm} \begin{center} - \includegraphics[width=0.5\linewidth]{../assets/logo.jpg} + \includegraphics[width=0.5\linewidth]{../assets/logo.jpg} \end{center} \vspace{5cm} \begin{center} - \begin{Large} - \textsc{Usage guide for Version 2.0.0} - \end{Large} + \begin{Large} + \textsc{Usage guide for Version 2.0.0} + \end{Large} - \hlurl{https://git.janishutz.com/janishutz/latex} + \hlurl{https://git.janishutz.com/janishutz/latex} \end{center} diff --git a/docs/parts/intro.tex b/docs/parts/intro.tex index b181f7e..5fe5074 100644 --- a/docs/parts/intro.tex +++ b/docs/parts/intro.tex @@ -3,7 +3,7 @@ This set of \LaTeX files is designed to give you a good looking, pre-configured \LaTeX setup, which helps you get started much more quickly. There are quite a lot of configuration options, but it is likely that more are to come in the future. -If you have any suggestions as to what should be added, don't hesitate to open a \hlhref{https://support.janishutz.com?a=add}{support ticket}\ +If you have any suggestions as to what should be added, don't hesitate to open a \hlhref{https://support.janishutz.com?a=add}{support ticket}\ or contacting me via email to \texttt{development@janishutz.com}. If you are fairly new to \LaTeX, then you may find \texttt{Detextify} (or the iOS app \texttt{DeTeXt}) very handy. diff --git a/docs/parts/migration.tex b/docs/parts/migration.tex index 585eec2..4ac484a 100644 --- a/docs/parts/migration.tex +++ b/docs/parts/migration.tex @@ -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{/old/janishutz-helpers-v1.tex} \begin{enumerate} - \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 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|\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, - 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 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. - 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|\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} - \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 \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc - \item \verb|\divides| has been renamed \verb|\divider| - \item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively + \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 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|\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, + 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 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. + 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|\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} + \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 \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc + \item \verb|\divides| has been renamed \verb|\divider| + \item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively \end{enumerate} diff --git a/docs/parts/reference/cs.tex b/docs/parts/reference/cs.tex index 3d225e6..3d4e901 100644 --- a/docs/parts/reference/cs.tex +++ b/docs/parts/reference/cs.tex @@ -2,16 +2,16 @@ \subsection{CS-Commands} These commands have to be executed inside math environment \begin{itemize} - \item \verb|\tct| Time complexity in $\tct{}$-notation (average case) - \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|\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|\words|\{\textit{string}\} Prints $\words{test}$ - \item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$ - \item \verb|\word| Prints $\word$ - \item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$ - \item \verb|\alphabetbool| Prints $\alphabetbool$ + \item \verb|\tct| Time complexity in $\tct{}$-notation (average case) + \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|\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|\words|\{\textit{string}\} Prints $\words{test}$ + \item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$ + \item \verb|\word| Prints $\word$ + \item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$ + \item \verb|\alphabetbool| Prints $\alphabetbool$ \end{itemize} \subsubsection{Algorithms} @@ -24,9 +24,9 @@ These commands have to be executed inside math environment \end{minted} \begin{algo}{functionName(A)} - \Procedure{functionName}{$(A)$} - \State\Return "Hello World" - \EndProcedure + \Procedure{functionName}{$(A)$} + \State\Return "Hello World" + \EndProcedure \end{algo} @@ -48,19 +48,19 @@ This is nothing different than a wrapper for a minted environment with a box dra Example (in python): \begin{code}{python} - def hello_world(): - print("hello world!") + def hello_world(): + print("hello world!") \end{code} \paragraph{Code in separate files} It is also possible to load code from a source file using the provided commands: \begin{itemize} - \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. - \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 - and \textit{shown-path} is the displayed part. + \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. + \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 + and \textit{shown-path} is the displayed part. \end{itemize} \inlineexample \begin{minted}{latex} diff --git a/docs/parts/reference/intro.tex b/docs/parts/reference/intro.tex index 0d02ae9..560869f 100644 --- a/docs/parts/reference/intro.tex +++ b/docs/parts/reference/intro.tex @@ -2,10 +2,10 @@ \section{Full Command Reference} \subsection{Variables} \begin{itemize} - \item \textit{string}: Any normal text - \item \textit{boolean}: \texttt{true} or \texttt{false} - \item \textit{math}: Any math input - \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{string}: Any normal text + \item \textit{boolean}: \texttt{true} or \texttt{false} + \item \textit{math}: Any math input + \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 \end{itemize} diff --git a/docs/parts/reference/loading.tex b/docs/parts/reference/loading.tex index fbeb125..8194cf3 100644 --- a/docs/parts/reference/loading.tex +++ b/docs/parts/reference/loading.tex @@ -1,56 +1,56 @@ \subsection{Per-File config} \label{sec:perFileConf} \begin{itemize} - \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{\NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE) - \item \verb|\renewcommand{\NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN) - \item \verb|\setnumberingpreset|\{\textit{string}\} - Change the numbering preset of definitions, lemmas, etc for this document. - Value can be \texttt{off}, \texttt{separate}, \texttt{combined}. - \item \verb|\renewcommand{numbering}|\{\textit{string}\} - 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}. - 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 - 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. - The value can be set to any of the below - \begin{itemize}[noitemsep] - \item none = $<$section$>$.$<$number$>$ - \item section = $<$section$>$.$<$number$>$ - \item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$ - \item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$ - \item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$ - \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 - \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|\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. - 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}. - 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. + \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{\NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE) + \item \verb|\renewcommand{\NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN) + \item \verb|\setnumberingpreset|\{\textit{string}\} + Change the numbering preset of definitions, lemmas, etc for this document. + Value can be \texttt{off}, \texttt{separate}, \texttt{combined}. + \item \verb|\renewcommand{numbering}|\{\textit{string}\} + 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}. + 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 + 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. + The value can be set to any of the below + \begin{itemize}[noitemsep] + \item none = $<$section$>$.$<$number$>$ + \item section = $<$section$>$.$<$number$>$ + \item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$ + \item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$ + \item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$ + \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 + \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|\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. + 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}. + 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} \subsubsection{Letters} \begin{itemize} - \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{\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{\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{\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 \end{itemize} \newpage \subsection{Setup, Loading \& Translation} \begin{itemize} - \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. - 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}. - \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|\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|\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|\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. + 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}. + \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|\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|\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) \end{itemize} diff --git a/docs/parts/reference/math.tex b/docs/parts/reference/math.tex index eaed251..f92040d 100644 --- a/docs/parts/reference/math.tex +++ b/docs/parts/reference/math.tex @@ -2,31 +2,31 @@ \subsection{Math-Commands} All these have to be executed in the math environment. \begin{itemize} - \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|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$ - \item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$. - \item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$. - \item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$. - \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|\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|\lcm| Least common multiple, $\lcm$ - \item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$ - \item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$ - \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|\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|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$ - \item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$ - \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|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$ - \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|\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|. + \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|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$ + \item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$. + \item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$. + \item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$. + \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|\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|\lcm| Least common multiple, $\lcm$ + \item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$ + \item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$ + \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|\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|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$ + \item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$ + \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|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$ + \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|\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|. \end{itemize} diff --git a/docs/parts/reference/style/descriptors.tex b/docs/parts/reference/style/descriptors.tex index a01e3b5..a67695f 100644 --- a/docs/parts/reference/style/descriptors.tex +++ b/docs/parts/reference/style/descriptors.tex @@ -9,30 +9,30 @@ Alternatively, you can use \verb|\inline[desc]{definition}|. \paragraph{Inline} \begin{tables}{ll}{Command & Output} - \verb|\inlineexample| & \inlineexample \\ - \verb|\inlinedefinition| & \inlinedefinition \\ - \verb|\inlinetheorem| & \inlinetheorem \\ - \verb|\inlinelemma| & \inlinelemma \\ - \verb|\inlinecorollary| & \inlinecorollary \\ - \verb|\inlineproposition| & \inlineproposition \\ - \verb|\inlinefact| & \inlinefact \\ - \verb|\inlineaxiom| & \inlineaxiom \\ - \verb|\inlineremark| & \inlineremark \\ - \verb|\inlineproof| & \inlineproof \\ + \verb|\inlineexample| & \inlineexample \\ + \verb|\inlinedefinition| & \inlinedefinition \\ + \verb|\inlinetheorem| & \inlinetheorem \\ + \verb|\inlinelemma| & \inlinelemma \\ + \verb|\inlinecorollary| & \inlinecorollary \\ + \verb|\inlineproposition| & \inlineproposition \\ + \verb|\inlinefact| & \inlinefact \\ + \verb|\inlineaxiom| & \inlineaxiom \\ + \verb|\inlineremark| & \inlineremark \\ + \verb|\inlineproof| & \inlineproof \\ \end{tables} \paragraph{Shortened} \begin{tables}{ll}{Command & Output} - \verb|\shortexample| & \shortexample \\ - \verb|\shortdefinition| & \shortdefinition \\ - \verb|\shorttheorem| & \shorttheorem \\ - \verb|\shortlemma| & \shortlemma \\ - \verb|\shortcorollary| & \shortcorollary \\ - \verb|\shortproposition| & \shortproposition \\ - \verb|\shortfact| & \shortfact \\ - \verb|\shortaxiom| & \shortaxiom \\ - \verb|\shortremark| & \shortremark \\ - \verb|\shortproof| & \shortproof \\ + \verb|\shortexample| & \shortexample \\ + \verb|\shortdefinition| & \shortdefinition \\ + \verb|\shorttheorem| & \shorttheorem \\ + \verb|\shortlemma| & \shortlemma \\ + \verb|\shortcorollary| & \shortcorollary \\ + \verb|\shortproposition| & \shortproposition \\ + \verb|\shortfact| & \shortfact \\ + \verb|\shortaxiom| & \shortaxiom \\ + \verb|\shortremark| & \shortremark \\ + \verb|\shortproof| & \shortproof \\ \end{tables} \newpage diff --git a/docs/parts/reference/style/intro.tex b/docs/parts/reference/style/intro.tex index 8425d00..b177714 100644 --- a/docs/parts/reference/style/intro.tex +++ b/docs/parts/reference/style/intro.tex @@ -1,9 +1,9 @@ \newpage \subsection{Style} \begin{itemize} - \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|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text} - \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|\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|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text} + \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 \end{itemize} diff --git a/docs/parts/reference/style/spacing.tex b/docs/parts/reference/style/spacing.tex index fd4dba4..0229536 100644 --- a/docs/parts/reference/style/spacing.tex +++ b/docs/parts/reference/style/spacing.tex @@ -2,24 +2,24 @@ 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 \begin{itemize} - \item \verb|\smallhspace| Prints a 2mm hspace - \item \verb|\mediumhspace| Prints a 5mm 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|\smallhspace| Prints a 2mm hspace + \item \verb|\mediumhspace| Prints a 5mm 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 \end{itemize} Vertical spacing config for the entire document. By default, the \LaTeX\ defaults are used. \begin{itemize} - \item \verb|\noverticalspacing| - \item \verb|\smallverticalspacing| - \item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults) - \item \verb|\largeverticalspacing| + \item \verb|\noverticalspacing| + \item \verb|\smallverticalspacing| + \item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults) + \item \verb|\largeverticalspacing| \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. See \hlhref{https://www.overleaf.com/learn/latex/\%5Cabovedisplayskip_and_related_commands}{here}\ for more details and \hlhref{https://latex-tutorial.com/latex-space/}{here for a good guide on spacing}. -To control paragraph spacing, see \hlhref{https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf}{here}\ +To control paragraph spacing, see \hlhref{https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf}{here}\ and \hlhref{https://www.overleaf.com/learn/latex/Articles/How_to_change_paragraph_spacing_in_LaTeX}{here}. Do make sure to put the \texttt{usepackage} \textit{before} loading the helpers. Alternatively, you can use \verb|\PassOptionsToPackage{options}{package}| @@ -34,11 +34,11 @@ Below a demonstration on the effects of the different settings: 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) \[ - \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!) @@ -47,11 +47,11 @@ Text following the equation (no paragraph break!) 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) \[ - \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!) @@ -60,11 +60,11 @@ Text following the equation (no paragraph break!) 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) \[ - \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!) @@ -73,10 +73,10 @@ Text following the equation (no paragraph break!) 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) \[ - \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!) diff --git a/docs/parts/reference/style/tcolorbox/counter.tex b/docs/parts/reference/style/tcolorbox/counter.tex index 9655378..6837c7f 100644 --- a/docs/parts/reference/style/tcolorbox/counter.tex +++ b/docs/parts/reference/style/tcolorbox/counter.tex @@ -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. \begin{definition}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{definition}[]{Title here} \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} \begin{theorem}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{theorem}[]{Title here} \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} \begin{lemma}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{lemma}[]{Title here} \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} \begin{corollary}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{corollary}[]{Title here} \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} \begin{proposition}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{proposition}[]{Title here} \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} \begin{fact}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{fact}[]{Title here} \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} \begin{axiom}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{axiom}[]{Title here} \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} \begin{example}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{example}[]{Title here} \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} \begin{remark}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{remark}[]{Title here} \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} \begin{formula}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{formula}[]{Title here} \end{formula} diff --git a/docs/parts/reference/style/tcolorbox/default.tex b/docs/parts/reference/style/tcolorbox/default.tex index 32eab31..9b3c24d 100644 --- a/docs/parts/reference/style/tcolorbox/default.tex +++ b/docs/parts/reference/style/tcolorbox/default.tex @@ -4,7 +4,7 @@ These tcolorboxes can be created using the code displayed inside them. \begin{terms}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{terms}[]{Title here} \end{terms} @@ -12,7 +12,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{terms} \begin{notation}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{notation}[]{Title here} \end{notation} @@ -20,7 +20,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{notation} \begin{recall}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{recall}[]{Title here} \end{recall} @@ -28,7 +28,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{recall} \begin{usage}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{usage}[]{Title here} \end{usage} @@ -36,7 +36,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{usage} \begin{properties}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{properties}[]{Title here} \end{properties} @@ -44,7 +44,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{properties} \begin{restrictions}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{restrictions}[]{Title here} \end{restrictions} @@ -52,7 +52,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{restrictions} \begin{limitations}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{limitations}[]{Title here} \end{limitations} @@ -60,7 +60,7 @@ These tcolorboxes can be created using the code displayed inside them. \end{limitations} \begin{intuition}[]{Title here} - \begin{minted}{latex} + \begin{minted}{latex} \begin{intuition}[]{Title here} \end{intuition} diff --git a/docs/parts/reference/style/tcolorbox/other.tex b/docs/parts/reference/style/tcolorbox/other.tex index 0ce3010..9e32437 100644 --- a/docs/parts/reference/style/tcolorbox/other.tex +++ b/docs/parts/reference/style/tcolorbox/other.tex @@ -2,9 +2,9 @@ This tcolorbox has all the styles applied, but allows configuring the colour and both title boxes \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} \end{general} diff --git a/docs/parts/reference/tables-index.tex b/docs/parts/reference/tables-index.tex index 4ccbcfe..a8431ce 100644 --- a/docs/parts/reference/tables-index.tex +++ b/docs/parts/reference/tables-index.tex @@ -1,6 +1,6 @@ \newpage \subsection{Tables} -You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments. +You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments. \textit{New as of October 28 2025:} Tables and figures are now also numbered according to your settings @@ -12,7 +12,7 @@ You can set up nice looking tables using the \texttt{booktab} and \texttt{tabula This outputs as \begin{tables}{ll}{Left & Right} - Left content & Right Content \\ + Left content & Right Content \\ \end{tables} 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 \begin{fullTable}{ll}{Left & Right}{This is a caption} - Left content & Right Content\\ + Left content & Right Content\\ \end{fullTable} diff --git a/janishutz-helpers.tex b/janishutz-helpers.tex index 25996ca..b9f7618 100644 --- a/janishutz-helpers.tex +++ b/janishutz-helpers.tex @@ -93,72 +93,6 @@ \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 │ % └ ┘ @@ -242,6 +176,72 @@ \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{definitionsection}[section] \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 │ % └ ┘ @@ -778,6 +792,7 @@ \newcommand{\limsupni}{\limsup_{n \rightarrow \infty}} \newcommand{\sequence}[1]{(#1_n)_{n \geq 1}} \newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k} +\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}} \DeclareMathOperator\arctanh{arctanh} \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 │ % └ ┘ @@ -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}}} +% ┌ ┐ +% │ 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 ─────────────────────────────── \newcommand{\setLabelNumber}[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}{ \abovedisplayskip 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 ───────────────────────────────────────────── % TODO: ref label generation \newcommand{\inline}[2][NONAME]{% @@ -1330,56 +1381,6 @@ \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 │ % └ ┘ diff --git a/letter.tex b/letter.tex index 15c9a21..c387b12 100644 --- a/letter.tex +++ b/letter.tex @@ -30,12 +30,12 @@ % Define new letter header \setkomavar{firsthead}{ - \null\hfill - \parbox[t][\headheight][t]{4cm}{% - \vspace*{2cm} + \null\hfill + \parbox[t][\headheight][t]{4cm}{% + \vspace*{2cm} - \usekomavar{fromname} \newline - \usekomavar{fromaddress} \newline - \usekomavar{fromplace} - } + \usekomavar{fromname} \newline + \usekomavar{fromaddress} \newline + \usekomavar{fromplace} + } }% diff --git a/old/janishutz-helpers-v1.tex b/old/janishutz-helpers-v1.tex index 7e0048e..2e1156f 100644 --- a/old/janishutz-helpers-v1.tex +++ b/old/janishutz-helpers-v1.tex @@ -56,32 +56,32 @@ \newcounter{lang} \newcommand{\setLang}[1]{ - \edef\lang{#1} - \edef\en{en} - \edef\de{de} - \ifx\lang\en - \typeout{[Lang Switcher] Loading English} - \setcounter{lang}{1} - \else - \ifx\lang\de - \typeout{[Lang Switcher] Loading German} - \setcounter{lang}{2} - \usepackage[ngerman]{babel} - \else - \typeout{[Lang Switcher] No such language!} - \fi - \fi + \edef\lang{#1} + \edef\en{en} + \edef\de{de} + \ifx\lang\en + \typeout{[Lang Switcher] Loading English} + \setcounter{lang}{1} + \else + \ifx\lang\de + \typeout{[Lang Switcher] Loading German} + \setcounter{lang}{2} + \usepackage[ngerman]{babel} + \else + \typeout{[Lang Switcher] No such language!} + \fi + \fi } % Deprecated, as not useful \newcommand{\loadLang}{ - \ifnum\value{lang}<2{ - \typeout{[Lang Loader] Loaded English} - }\else { - \typeout{[Lang Loader] Loaded German} - \setcounter{lang}{2} - } - \fi + \ifnum\value{lang}<2{ + \typeout{[Lang Loader] Loaded English} + }\else { + \typeout{[Lang Loader] Loaded German} + \setcounter{lang}{2} + } + \fi } @@ -97,69 +97,69 @@ % ── Setup ─────────────────────────────────────────────────────────── % Set up the latex document, configure author, title (as first argument), as well as headers and footers \newcommand{\setup}[1]{ - \typeout{[Setup] Setting up...} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - \fancypagestyle{plain}{% - \fancyhead{} - \fancyhead[L]{#1} - \fancyhead[R]{\authorHeaders} - \fancyfoot{} - \fancyfoot[L]{\today} - \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} - } - \typeout{[Setup] Complete} + \typeout{[Setup] Setting up...} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + \fancypagestyle{plain}{% + \fancyhead{} + \fancyhead[L]{#1} + \fancyhead[R]{\authorHeaders} + \fancyfoot{} + \fancyfoot[L]{\today} + \fancyfoot[R]{\thepage\ /\ \pageref{LastPage}} + } + \typeout{[Setup] Complete} } % Start document command (required) \newcommand{\startDocument}{ - \maketitle - \startDocumentNoTitle + \maketitle + \startDocumentNoTitle } % Or this one, if you don't want a title \newcommand{\startDocumentNoTitle}{ - \pagestyle{fancy} - \thispagestyle{fancy} + \pagestyle{fancy} + \thispagestyle{fancy} } % Set up the latex document, only configuring the author, title and page size \newcommand{\setupBarebones}[1]{ - \typeout{[Setup] Using barebones setup} - \loadLang - \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \typeout{[Setup] Using barebones setup} + \loadLang + \usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry} + \title{\Huge \textbf{#1}} + \author{\authorTitle} } % Set up the latex document for exam summaries (Extra wide body, small margins, no header) \newcommand{\setupCheatSheet}[1]{ - \typeout{[Setup] Using CheatSheet setup} - \loadLang - \edef\valtrue{true} - \ifbool{cheatSheetLandscape}{ - \typeout{[Setup] Using landscape with \arabic{colCount} columns} - \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} + \typeout{[Setup] Using CheatSheet setup} + \loadLang + \edef\valtrue{true} + \ifbool{cheatSheetLandscape}{ + \typeout{[Setup] Using landscape with \arabic{colCount} columns} + \usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry} - \usepackage{flowfram} - \allowdisplaybreaks - \ffvadjustfalse - \setlength{\columnsep}{1cm} - \Ncolumn{\arabic{colCount}} - }{ - \typeout{[Setup] Using portrait} - \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} - } - \title{\Huge \textbf{#1}} - \author{\authorTitle} + \usepackage{flowfram} + \allowdisplaybreaks + \ffvadjustfalse + \setlength{\columnsep}{1cm} + \Ncolumn{\arabic{colCount}} + }{ + \typeout{[Setup] Using portrait} + \usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry} + } + \title{\Huge \textbf{#1}} + \author{\authorTitle} } @@ -248,35 +248,35 @@ % Global style configs for tcolorbox (to reduce bloat) \newcommand{\usetcolorboxes}{ - \tcbset{ - mainboxstyle/.style={ - arc=3mm, - colback=red!5!white, - colframe=red!75!black, - colbacktitle=red!75!black, - fonttitle=\bfseries, - enhanced, - attach boxed title to top left={yshift=-2mm,xshift=5mm}, - breakable, - top=0.4cm, - } - } - \tikzset{ - overlaystyle/.style={ - draw=red!75!black, - thick, - fill=red!75!black, - left, - anchor=east, - text=white, - rounded corners=1mm, - font=\bfseries, - xshift=-5mm, - yshift=1mm, - inner xsep=3mm, - inner ysep=1.5mm - } - } + \tcbset{ + mainboxstyle/.style={ + arc=3mm, + colback=red!5!white, + colframe=red!75!black, + colbacktitle=red!75!black, + fonttitle=\bfseries, + enhanced, + attach boxed title to top left={yshift=-2mm,xshift=5mm}, + breakable, + top=0.4cm, + } + } + \tikzset{ + overlaystyle/.style={ + draw=red!75!black, + thick, + fill=red!75!black, + left, + anchor=east, + text=white, + rounded corners=1mm, + font=\bfseries, + xshift=-5mm, + yshift=1mm, + inner xsep=3mm, + inner ysep=1.5mm + } + } } % -------------------- % @@ -284,15 +284,15 @@ % -------------------- % \newcommand{\setFont}[1]{\fontfamily{#1}\selectfont} \newcommand{\setFontType}[1]{ - \ifthenelse{\equal{#1}{mono}}{ - \renewcommand{\familydefault}{\ttdefault} - }{ - \ifthenelse{\equal{#1}{serif}}{ - \renewcommand{\familydefault}{\rmdefault} - }{ - \renewcommand{\familydefault}{\sfdefault} - } - } + \ifthenelse{\equal{#1}{mono}}{ + \renewcommand{\familydefault}{\ttdefault} + }{ + \ifthenelse{\equal{#1}{serif}}{ + \renewcommand{\familydefault}{\rmdefault} + }{ + \renewcommand{\familydefault}{\sfdefault} + } + } } \newcommand{\hrmvspace}{\vspace{-0.25pc}} @@ -310,16 +310,16 @@ % Add a color shade (similar to \fhlc, but nicer boxes) \newcommand{\background}[3]{\tcbox[on line, - boxsep=2pt, - left=0pt, - right=0pt, - top=0pt, - bottom=0pt, - colframe=white, - frame empty, - colback=#1!#2!white, - highlight math style={enhanced} - ] {\textbf{#3}}} + boxsep=2pt, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt, + colframe=white, + frame empty, + colback=#1!#2!white, + highlight math style={enhanced} + ] {\textbf{#3}}} % Abstraction of background, where the brightness is set to 20% \newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}} @@ -354,14 +354,14 @@ % Print a table of contents as a tcolorbox \newcommand{\printtoc}[1]{ - \renewcommand{\cfttoctitlefont}{} - \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} - \renewcommand{\contentsname}{} - \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] - \hspace{1cm} - \tableofcontents - \end{tcolorbox} + \renewcommand{\cfttoctitlefont}{} + \renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}} + \renewcommand{\contentsname}{} + \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] + \hspace{1cm} + \tableofcontents + \end{tcolorbox} } %▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ @@ -372,40 +372,40 @@ % General tcolorboxes \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}, - 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}, - 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}, - 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}, - 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}, - 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}, - 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:}} % Terms and notation \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}, - 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}, - 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 @@ -418,7 +418,7 @@ % 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} + 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} @@ -572,9 +572,9 @@ % For using index package \newcommand{\prepareIndex}{ - \usepackage[T1]{fontenc} - \usepackage{imakeidx} - \makeindex + \usepackage[T1]{fontenc} + \usepackage{imakeidx} + \makeindex } \newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}} @@ -630,22 +630,22 @@ % Set the current number of a label \newcommand{\setLabelNumber}[2]{% - \setcounter{#1}{#2}% - \addtocounter{#1}{-1}% - \setcounter{#1ss}{#2}% - \addtocounter{#1ss}{-1}% - \setcounter{#1sss}{#2}% - \addtocounter{#1sss}{-1}% + \setcounter{#1}{#2}% + \addtocounter{#1}{-1}% + \setcounter{#1ss}{#2}% + \addtocounter{#1ss}{-1}% + \setcounter{#1sss}{#2}% + \addtocounter{#1sss}{-1}% } \newcommand{\stepLabelNumber}[1]{% - \stepcounter{#1}% - \stepcounter{#1ss}% - \stepcounter{#1sss}% + \stepcounter{#1}% + \stepcounter{#1ss}% + \stepcounter{#1sss}% } \newcommand{\printcounter}[1]{% - \csname the#1\endcsname + \csname the#1\endcsname } \newcommand{\suffix}{ss} @@ -655,119 +655,119 @@ % │ Counter numbering │ % └ ┘ \newcommand{\preTableAndFigHook}[1]{% - \ifnum\value{numberingConfig}>1% - \ifnum\value{numberSubsections}=1% - \stepcounter{allss}% - \else - \ifnum\value{numberSubsections}=2% - \stepcounter{allsss}% - \else% - \stepcounter{all}% - \fi - \fi - \fi + \ifnum\value{numberingConfig}>1% + \ifnum\value{numberSubsections}=1% + \stepcounter{allss}% + \else + \ifnum\value{numberSubsections}=2% + \stepcounter{allsss}% + \else% + \stepcounter{all}% + \fi + \fi + \fi } \AtBeginEnvironment{table}{\preTableAndFigHook{table}} \AtBeginEnvironment{figure}{\preTableAndFigHook{figure}} \newcommand{\applyTableAndFigureNumbering}{ - % Tables & Figures - \ifnum\value{numberingConfig}=0 - \renewcommand{\thetable}{\arabic{table}} - \renewcommand{\thefigure}{\arabic{figure}} - \else - \ifnum\value{numberingConfig}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} - \else - \ifnum\value{numberSubsections}=1 - \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} - \else - \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} - \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} - \fi - \fi - \fi - \fi + % Tables & Figures + \ifnum\value{numberingConfig}=0 + \renewcommand{\thetable}{\arabic{table}} + \renewcommand{\thefigure}{\arabic{figure}} + \else + \ifnum\value{numberingConfig}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{table}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}} + \else + \ifnum\value{numberSubsections}=1 + \renewcommand{\thetable}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}} + \else + \renewcommand{\thetable}{\sectionNumbering.\arabic{all}} + \renewcommand{\thefigure}{\sectionNumbering.\arabic{all}} + \fi + \fi + \fi + \fi } \newcommand{\setSubsectionNumbering}[1]{ - \setcounter{numberSubsections}{#1} - \applySubsectionNumbering + \setcounter{numberSubsections}{#1} + \applySubsectionNumbering } \newcommand{\applySubsectionNumbering}{ - \ifnum\value{numberSubsections}=1 - \renewcommand{\sectionNumbering}{\thesubsection} - \renewcommand{\suffix}{ss} - \typeout{Numbering as section.subsection.number} - \else - \ifnum\value{numberSubsections}=2 - \renewcommand{\sectionNumbering}{\thesubsubsection} - \renewcommand{\suffix}{sss} - \typeout{Numbering as section.subsection.subsubsection.number} - \else - \renewcommand{\sectionNumbering}{\thesection} - \renewcommand{\suffix}{} - \typeout{Numbering as section.number} - \fi - \fi - \applyTableAndFigureNumbering + \ifnum\value{numberSubsections}=1 + \renewcommand{\sectionNumbering}{\thesubsection} + \renewcommand{\suffix}{ss} + \typeout{Numbering as section.subsection.number} + \else + \ifnum\value{numberSubsections}=2 + \renewcommand{\sectionNumbering}{\thesubsubsection} + \renewcommand{\suffix}{sss} + \typeout{Numbering as section.subsection.subsubsection.number} + \else + \renewcommand{\sectionNumbering}{\thesection} + \renewcommand{\suffix}{} + \typeout{Numbering as section.number} + \fi + \fi + \applyTableAndFigureNumbering - \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} - \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} - \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} - \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} - \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} - \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} - \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} - \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} - \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} - \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} - \renewcommand{\theall}{\sectionNumbering.\arabic{all}} + \renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}} + \renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}} + \renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}} + \renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}} + \renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}} + \renewcommand{\theexample}{\sectionNumbering.\arabic{example}} + \renewcommand{\thefact}{\sectionNumbering.\arabic{fact}} + \renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}} + \renewcommand{\theformula}{\sectionNumbering.\arabic{formula}} + \renewcommand{\theremark}{\sectionNumbering.\arabic{remark}} + \renewcommand{\theall}{\sectionNumbering.\arabic{all}} - \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} - \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} - \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} - \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} - \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} - \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} - \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} - \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} - \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} - \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} - \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} + \renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}} + \renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}} + \renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}} + \renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}} + \renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}} + \renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}} + \renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}} + \renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}} + \renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}} + \renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}} + \renewcommand{\theallss}{\sectionNumbering.\arabic{allss}} - \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} - \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} - \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} - \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} - \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} - \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} - \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} - \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} - \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} - \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} - \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} + \renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}} + \renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}} + \renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}} + \renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}} + \renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}} + \renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}} + \renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}} + \renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}} + \renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}} + \renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}} + \renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}} } \applySubsectionNumbering % ── Label generation ──────────────────────────────────────────────── \newcommand{\labelSectionGeneration}{% - \ifnum\value{numberSubsections}=1 - \arabic{section}-\arabic{subsection}% - \else - \ifnum\value{numberSubsections}=2 - \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% - \else - \arabic{section}% - \fi - \fi} + \ifnum\value{numberSubsections}=1 + \arabic{section}-\arabic{subsection}% + \else + \ifnum\value{numberSubsections}=2 + \arabic{section}-\arabic{subsection}-\arabic{subsubsection}% + \else + \arabic{section}% + \fi + \fi} \newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}} \newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2} @@ -776,27 +776,27 @@ % │ Number the counters appropriately │ % └ ┘ \newcommand{\usenumberArabic}[1]{% - \ifnum\value{numberingConfig}=1 - \labelIt{#1} - \printcounter{#1\suffix}% - \else - \ifnum\value{numberingConfig}=2 - \ifthenelse{\equal{#1}{definitions}}{% - \labelIt{definition} - \printcounter{definition\suffix}% - }{% - \labelIt{all} - \printcounter{all\suffix}% - }% - \else - \ifnum\value{numberingConfig}=3 - \labelIt{all} - \printcounter{all\suffix}% - \else - \relax% - \fi - \fi - \fi} + \ifnum\value{numberingConfig}=1 + \labelIt{#1} + \printcounter{#1\suffix}% + \else + \ifnum\value{numberingConfig}=2 + \ifthenelse{\equal{#1}{definitions}}{% + \labelIt{definition} + \printcounter{definition\suffix}% + }{% + \labelIt{all} + \printcounter{all\suffix}% + }% + \else + \ifnum\value{numberingConfig}=3 + \labelIt{all} + \printcounter{all\suffix}% + \else + \relax% + \fi + \fi + \fi} % ──────────────────────────────────────────────────────────────────── @@ -809,22 +809,22 @@ % For later change \newcommand{\setNumberingStyle}[1]{ - \typeout{Setting NumberingStyle to #1} - \setcounter{numberingConfig}{#1} - \ifthenelse{\equal{#1}{0}}{}{ - \setcounter{numberingConfigStore}{#1} - } - \applyTableAndFigureNumbering + \typeout{Setting NumberingStyle to #1} + \setcounter{numberingConfig}{#1} + \ifthenelse{\equal{#1}{0}}{}{ + \setcounter{numberingConfigStore}{#1} + } + \applyTableAndFigureNumbering } % Enable / disable numbering \newcommand{\numberingOff}{ - \setcounter{numberingConfig}{0} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{0} + \applyTableAndFigureNumbering } \newcommand{\numberingOn}{ - \setcounter{numberingConfig}{\value{numberingConfigStore}} - \applyTableAndFigureNumbering + \setcounter{numberingConfig}{\value{numberingConfigStore}} + \applyTableAndFigureNumbering } % ──────────────────────────────────────────────────────────────────── @@ -833,51 +833,51 @@ % │ new page │ % ╰────────────────────────────────────────────────╯ \newcommand{\newsection}{ - \newpage - \newsectionNoPB + \newpage + \newsectionNoPB } % ── Reset definitions, lemma, etc counters, do not add new page ───── \newcommand{\newsectionNoPB}{ - \setcounter{lemma}{0} - \setcounter{definition}{0} - \setcounter{corollary}{0} - \setcounter{theorem}{0} - \setcounter{axiom}{0} - \setcounter{example}{0} - \setcounter{fact}{0} - \setcounter{proposition}{0} - \setcounter{formula}{0} - \setcounter{remark}{0} - \setcounter{all}{0} + \setcounter{lemma}{0} + \setcounter{definition}{0} + \setcounter{corollary}{0} + \setcounter{theorem}{0} + \setcounter{axiom}{0} + \setcounter{example}{0} + \setcounter{fact}{0} + \setcounter{proposition}{0} + \setcounter{formula}{0} + \setcounter{remark}{0} + \setcounter{all}{0} - \setcounter{lemmass}{0} - \setcounter{definitionss}{0} - \setcounter{corollaryss}{0} - \setcounter{theoremss}{0} - \setcounter{axiomss}{0} - \setcounter{exampless}{0} - \setcounter{factss}{0} - \setcounter{propositionss}{0} - \setcounter{formulass}{0} - \setcounter{remarkss}{0} - \setcounter{allss}{0} + \setcounter{lemmass}{0} + \setcounter{definitionss}{0} + \setcounter{corollaryss}{0} + \setcounter{theoremss}{0} + \setcounter{axiomss}{0} + \setcounter{exampless}{0} + \setcounter{factss}{0} + \setcounter{propositionss}{0} + \setcounter{formulass}{0} + \setcounter{remarkss}{0} + \setcounter{allss}{0} - \setcounter{lemmasss}{0} - \setcounter{definitionsss}{0} - \setcounter{corollarysss}{0} - \setcounter{theoremsss}{0} - \setcounter{axiomsss}{0} - \setcounter{examplesss}{0} - \setcounter{factsss}{0} - \setcounter{propositionsss}{0} - \setcounter{formulasss}{0} - \setcounter{remarksss}{0} - \setcounter{allsss}{0} + \setcounter{lemmasss}{0} + \setcounter{definitionsss}{0} + \setcounter{corollarysss}{0} + \setcounter{theoremsss}{0} + \setcounter{axiomsss}{0} + \setcounter{examplesss}{0} + \setcounter{factsss}{0} + \setcounter{propositionsss}{0} + \setcounter{formulasss}{0} + \setcounter{remarksss}{0} + \setcounter{allsss}{0} - % Tables & Figures - \setcounter{table}{0} - \setcounter{figure}{0} + % Tables & Figures + \setcounter{table}{0} + \setcounter{figure}{0} } \newsectionNoPB % Initializes @@ -893,39 +893,39 @@ % Theorems \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 \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 \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 \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 \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 \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 \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 \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 \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} \newenvironment{algo}[1]{ - \begin{algorithm} - \begin{spacing}{1.2} - \caption{\textsc{#1}} - \begin{algorithmic}[1] - }{ - \end{algorithmic} - \end{spacing} - \end{algorithm} + \begin{algorithm} + \begin{spacing}{1.2} + \caption{\textsc{#1}} + \begin{algorithmic}[1] + }{ + \end{algorithmic} + \end{spacing} + \end{algorithm} } % • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ . @@ -1031,10 +1031,10 @@ % 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}, - 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}, - 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 \newenvironment{tables}[2]{ - \begin{center} - \begin{tabular}{#1} - \toprule - #2 \\ - \midrule - }{ - \bottomrule - \end{tabular} - \end{center} + \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} + \edef\tableCaption{#3} + \begin{table}[h!] + \begin{tables}{#1}{#2} + }{ + \end{tables} + \caption{\tableCaption} + \end{table} } % ___ _ _____ _ _ @@ -1080,14 +1080,14 @@ % Configs if you want to use BibTeX. Not included in any default configs. \newcommand{\setupBibtex}[1]{ - \usepackage{biblatex} - \usepackage[nottoc, numbib]{tocbibind} - \addbibresource{#1} + \usepackage{biblatex} + \usepackage[nottoc, numbib]{tocbibind} + \addbibresource{#1} } \newcommand{\printbib}{ - \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} - \printbibliography[title=\translate{Sources}{Quellen}] + \addcontentsline{toc}{section}{\translate{Sources}{Quellen}} + \printbibliography[title=\translate{Sources}{Quellen}] } @@ -1098,14 +1098,14 @@ % Add glossaries functionality \newcommand{\setupGlossary}{ - \usepackage[nonumberlist, toc]{glossaries} - \usepackage[nottoc, numbib]{tocbibind} - \makenoidxglossaries + \usepackage[nonumberlist, toc]{glossaries} + \usepackage[nottoc, numbib]{tocbibind} + \makenoidxglossaries } \newcommand{\printGlossary}{ - \glsaddall - \printnoidxglossaries + \glsaddall + \printnoidxglossaries } % ┌ ┐ @@ -1120,8 +1120,8 @@ % Args: Language, Code \newenvironment{code}[1]{ - \VerbatimEnvironment - \begin{minted}[ + \VerbatimEnvironment + \begin{minted}[ autogobble, breaklines, breakindentnchars=2, @@ -1135,23 +1135,23 @@ % Args: Language, file relative to root file \newcommand{\inputcode}[2]{ - \inputminted[ - autogobble, - breaklines, - breakindentnchars=2, - frame=lines, - framesep=2mm, - mathescape, - baselinestretch=1.1, - linenos - ]{#1}{#2} + \inputminted[ + autogobble, + breaklines, + breakindentnchars=2, + frame=lines, + framesep=2mm, + mathescape, + baselinestretch=1.1, + linenos + ]{#1}{#2} } % Args: Language, Base directory (with trailing slash), file (no slash at start) \newcommand{\inputcodewithfilename}[3]{ - \begin{figure}[h!] - \texttt{File: \detokenize{#3}} - \rmvspace - \inputcode{#1}{#2#3} - \end{figure} + \begin{figure}[h!] + \texttt{File: \detokenize{#3}} + \rmvspace + \inputcode{#1}{#2#3} + \end{figure} }