Store to move back to normal tex files

This commit is contained in:
2026-02-19 16:52:35 +01:00
parent 201423b8a3
commit 811dc9f9eb
28 changed files with 673 additions and 954 deletions

View File

@@ -12,7 +12,7 @@
\newcommand{\countrycode}{CH}
% Set the default language
\newcommand{\currentLanguage}{en}
\renewcommand{\currentLanguage}{en}
% ┌ ┐
@@ -23,19 +23,19 @@
\newcommand{\shortDescriptorNameTemplate}[1]{\StrBefore[1]{#1}}
% Decide if the numbering should show a space preceding it.
\newcommand{\useSpaceBeforeNumbering}{true}
% \newcommand{\useSpaceBeforeNumbering}{true}
% TODO: Remove above if works without
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
% - #1 is the name of the descriptor (or the shortened version, as configured)
% - #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 corresponding color
% - #4 is the name passed (non-empty)
\newcommand{\shortDescriptorTemplate}[4]{\bg{#3}{#1#2} \textit{(#4)}}
\newcommand{\inlineDescriptorTemplate}[4]{\bg{#3}{#1#2} \textit{(#4)}}
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[4]{\bg{#1color}{\shortDescriptorNameTemplate{#1}#2} \textit{(#3)}\ }
\newcommand{\inlineDescriptorTemplate}[4]{\bg{#1color}{#1#2}: \textit{(#3)}\ }
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[3]{\bg{#3}{#1#2}}
\newcommand{\anonymousInlineDescriptorTemplate}[3]{\bg{#3}{#1#2}}
\newcommand{\anonymousShortDescriptorTemplate}[3]{\bg{#1color}{\shortDescriptorNameTemplate{#1}#2}\ }
\newcommand{\anonymousInlineDescriptorTemplate}[3]{\bg{#3color}{#1#2}\ }
% background command config (draws a small box around the content)
\newcommand{\backgroundPadding}{2pt}

View File

@@ -1,6 +1,12 @@
% ┌ ┐
% │ Colours │
% └ ┘
% The colour-saturation of the short / inline descriptors (default = 40)
\setcounter{descriptorShadeStrength}{40}
% The colour-saturation of the shade command (default = 20)
\setcounter{shadeStrength}{20}
% You may also use \definecolor{<name>}{rgb}{r, g, b} to define a fully custom color
% see https://www.overleaf.com/learn/latex/Using_colors_in_LaTeX#Creating_your_own_colors for more information
\colorlet{definitioncolor}{blue}

View File

@@ -1,7 +1,7 @@
% ┌ ┐
% │ Numbering │
% └ ┘
% Set a preset, can be combined, separate, custom or off.
% 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}

View File

@@ -25,5 +25,10 @@
\RequirePackage{gensymb}
\RequirePackage{pifont}
\RequirePackage{xstring}
\RequirePackage{etoolbox}
\newcounter{descriptorShadeStrength}
\newcounter{shadeStrength}
\newcommand{\currentLanguage}{en}
\setcounter{secnumdepth}{4}

View File

@@ -14,7 +14,7 @@
\newcommand{\Indent}{\hspace{\algorithmicindent}}
\newcommand{\tc}[]{\tco{#1}}
\newcommand{\tc}[1]{\tco{#1}}
\newcommand{\tct}[1]{\Theta\left(#1\right)}
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
\newcommand{\tcl}[1]{\Omega\left(#1\right)}

View File

@@ -1,7 +1,9 @@
% ┌ ┐
% │ Translation │
% └ ┘
\newcommand{\translate}[2]{\ifnum\value{lang}<2{#1}\else{#2}\fi}
\newcommand{\translate}[2]{%
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
% Translation aids (commonly used)

View File

@@ -10,7 +10,3 @@
%% LaTeX version 2008-05-04 or later.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{janishutz-helpers}[2026-02-10 v1.0.0]
\newcounter{descriptorShadeStrength}
\newcounter{shadeStrength}

View File

@@ -1,2 +0,0 @@
\RequirePackage[ngerman]{babel}
\renewcommand{\currentLanguage}{de}

5
src/opts.sty Normal file
View File

@@ -0,0 +1,5 @@
\DeclareOption{de}{
\RequirePackage[ngerman]{babel}
\renewcommand{\currentLanguage}{de}
}
\ProcessOptions

View File

@@ -2,37 +2,37 @@
% │ STYLE: Globals │
% └ ┘
% Global style configs for tcolorbox (to reduce bloat)
\AtBeginDocument{
\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
}
}
}
% \AtBeginDocument{
% \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
% }
% }
% }
% ── Fonts ───────────────────────────────────────────────────────────
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
@@ -72,7 +72,8 @@
\renewcommand{\quote}[1]{``\textit{#1}''}
% Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line,
\newcommand{\background}[3]{%
\tcbox[on line,
boxsep=\backgroundPadding,
arc=\backgroundRounding,
left=0pt,
@@ -82,26 +83,8 @@
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}}
% This command is used for the short and inline descriptors
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
% Add a color shade (similar to \fhlc, but nicer boxes)
\newcommand{\background}[3]{\tcbox[on line,
boxsep=\backgroundPadding,
arc=\backgroundRounding,
left=0pt,
right=0pt,
top=0pt,
bottom=0pt,
frame empty,
colback=#1!#2!white,
highlight math style={enhanced}
] {\textbf{#3}}}
] {\textbf{#3}}%
}
% Abstraction of background, where the brightness is set to 20%
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
@@ -114,8 +97,16 @@
\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]
\begin{tcolorbox}[
colback=black!5!white,
colbacktitle=#1!75!black,
coltitle=black,
enhanced,
attach boxed title to top center={yshift=-2mm},
title={\Large \tr{Contents}{Inhaltsverzeichnis}},
fonttitle=\bfseries,
breakable
]
\hspace{1cm}
\tableofcontents
\end{tcolorbox}

100
src/style/counters.sty Normal file
View File

@@ -0,0 +1,100 @@
% ── Label generator ─────────────────────────────────────────────────
\newcommand{\printNumberingConfigForDescriptor}[1]{\csname #1numbering\endcsname}
\newcommand{\printCounter}[1]{\csname the#1\endcsname}
\newcommand{\printLabel}[1]{%
\ifcsdef{#1numbering}{% Extra config present
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
\printCounter{#1\subsectionnumbering}%
}{
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{separate}}{
\printCounter{#1\subsectionnumbering}%
}{
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{
\printCounter{combined\subsectionnumbering}%
}{}
}
}
}{%
\labelPrintBackendRoutine{#1}%
}
}
\newcommand{\labelPrintBackendRoutine}[1]{
\ifthenelse{\equal{\numberingpreset}{combined}}{
\printCounter{combined\subsectionnumbering}%
}{
\ifthenelse{\equal{\numberingpreset}{separate}}{
\printCounter{#1\subsectionnumbering}%
}{}
}
}
% Inline environments (inline)
\newcommand{\printTranslationOptionEN}[1]{\csname #1NamingEN\endcsname}
\newcommand{\printTranslationOptionDE}[1]{\csname #1NamingDE\endcsname}
\newcommand{\inline}[2][__NONAME__]{%
\ifthenelse{\equal{__NONAME__}{#1}}{%
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}
}
\newcommand{\short}[2][__NONAME__]{%
\ifthenelse{\equal{__NONAME__}{#1}}{%
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}
}
% ── Set the current number of a label ───────────────────────────────
\newcommand{\setLabelNumber}[2]{%
\setcounter{#1none}{#2}%
\addtocounter{#1none}{-1}%
\setcounter{#1section}{#2}%
\addtocounter{#1section}{-1}%
\setcounter{#1subsection}{#2}%
\addtocounter{#1subsection}{-1}%
\setcounter{#1subsubsection}{#2}%
\addtocounter{#1subsubsection}{-1}%
\setcounter{#1paragraph}{#2}%
\addtocounter{#1paragraph}{-1}%
}
\newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1none}%
\stepcounter{#1section}%
\stepcounter{#1subsection}%
\stepcounter{#1subsubsection}%
\stepcounter{#1paragraph}%
}
% ┌ ┐
% │ Counter numbering │
% └ ┘
% TODO: Update
\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
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}
\AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\newsection}{
\newpage
\newsectionNoPB
}

View File

@@ -1,396 +0,0 @@
\RequirePackage{etoolbox}
% tcolorbox and other stylistic elements (i.e. inline versions of them) that have counters
\newcounter{lemma}[section]
\newcounter{definition}[section]
\newcounter{corollary}[section]
\newcounter{theorem}[section]
\newcounter{axiom}[section]
\newcounter{example}[section]
\newcounter{fact}[section]
\newcounter{proposition}[section]
\newcounter{formula}[section]
\newcounter{remark}[section]
\newcounter{all}[section]
\newcounter{lemmass}[subsection]
\newcounter{definitionss}[subsection]
\newcounter{corollaryss}[subsection]
\newcounter{theoremss}[subsection]
\newcounter{axiomss}[subsection]
\newcounter{exampless}[subsection]
\newcounter{factss}[subsection]
\newcounter{propositionss}[subsection]
\newcounter{formulass}[subsection]
\newcounter{remarkss}[subsection]
\newcounter{allss}[subsection]
\newcounter{lemmasss}[subsubsection]
\newcounter{definitionsss}[subsubsection]
\newcounter{corollarysss}[subsubsection]
\newcounter{theoremsss}[subsubsection]
\newcounter{axiomsss}[subsubsection]
\newcounter{examplesss}[subsubsection]
\newcounter{factsss}[subsubsection]
\newcounter{propositionsss}[subsubsection]
\newcounter{formulasss}[subsubsection]
\newcounter{remarksss}[subsubsection]
\newcounter{allsss}[subsubsection]
% ── 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}%
}
\newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}%
\stepcounter{#1ss}%
\stepcounter{#1sss}%
}
\newcommand{\printcounter}[1]{%
\csname the#1\endcsname
}
\newcommand{\suffix}{ss}
\newcommand{\sectionNumbering}{\thesection}
% ┌ ┐
% │ 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
}
\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
}
\newcommand{\setSubsectionNumbering}[1]{
\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
\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{\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}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
% ┌ ┐
% │ 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}
% ────────────────────────────────────────────────────────────────────
% ┌ ┐
% │ Enable or disable numbering │
% └ ┘
% Initialize with config file
\newcounter{numberingConfigStore}
\setcounter{numberingConfigStore}{\value{numberingConfig}}
% For later change
\newcommand{\setNumberingStyle}[1]{
\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
}
\newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering
}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Reset definition, lemma, etc counters, add a │
% │ new page │
% ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{
\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{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}
% Tables & Figures
\setcounter{table}{0}
\setcounter{figure}{0}
}
\newsectionNoPB % Initializes
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Tcolorboxes │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Definitions
\newtcolorbox{definition}[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 Definition\usenumberArabic{definition}};},#1}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Inline environments │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Inline environments (inline)
\newcommand{\inlineex}{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:}}
\newcommand{\inlinedef}{\bg{blue}{Definition\usenumberArabic{definition}:}}
\newcommand{\inlineformula}{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:}}
\newcommand{\inlinelemma}{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:}}
\newcommand{\inlinetheorem}{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:}}
\newcommand{\inlineaxiom}{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:}}
\newcommand{\inlinecorollary}{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:}}
\newcommand{\inlinefact}{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:}}
\newcommand{\inlineproposition}{\bg{Cyan}{Proposition\usenumberArabic{proposition}:}}
\newcommand{\inlineremark}{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:}}
\newcommand{\inlineproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced inline environments
\newcommand{\fancyex}[1]{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\fancydef}[1]{\bg{blue}{Definition\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\fancyformula}[1]{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\fancylemma}[1]{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\fancytheorem}[1]{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\fancyaxiom}[1]{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\fancycorollary}[1]{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\fancyfact}[1]{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\fancyproposition}[1]{\bg{Cyan}{Proposition\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\fancyremark}[1]{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\fancyproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}
% short environments (abbreviated)
\newcommand{\shortex}{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:}}
\newcommand{\shortdef}{\bg{blue}{D\usenumberArabic{definition}:}}
\newcommand{\short}{\bg{red}{F\usenumberArabic{formula}:}}
\newcommand{\shortlemma}{\bg{Aquamarine}{L\usenumberArabic{lemma}:}}
\newcommand{\shorttheorem}{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:}}
\newcommand{\shortaxiom}{\bg{JungleGreen}{A\usenumberArabic{axiom}:}}
\newcommand{\shortcorollary}{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:}}
\newcommand{\shortfact}{\bg{SeaGreen}{F\usenumberArabic{fact}:}}
\newcommand{\shortproposition}{\bg{Cyan}{P\usenumberArabic{proposition}:}}
\newcommand{\shortremark}{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:}}
\newcommand{\shortproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced short environments (abbreviated)
\newcommand{\compactex}[1]{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\compactdef}[1]{\bg{blue}{D\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\compactformula}[1]{\bg{red}{F\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\compactproposition}[1]{\bg{Cyan}{P\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\compactremark}[1]{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\compactproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}

View File

@@ -1,189 +0,0 @@
\RequirePackage{etoolbox}
% tcolorbox and other stylistic elements (i.e. inline versions of them) that have counters
\newcounter{lemmanone}
\newcounter{definitionnone}
\newcounter{corollarynone}
\newcounter{theoremnone}
\newcounter{axiomnone}
\newcounter{examplenone}
\newcounter{factnone}
\newcounter{propositionnone}
\newcounter{formulanone}
\newcounter{remarknone}
\newcounter{allnone}
\newcounter{lemmasection}[section]
\newcounter{definitionsection}[section]
\newcounter{corollarysection}[section]
\newcounter{theoremsection}[section]
\newcounter{axiomsection}[section]
\newcounter{examplesection}[section]
\newcounter{factsection}[section]
\newcounter{propositionsection}[section]
\newcounter{formulasection}[section]
\newcounter{remarksection}[section]
\newcounter{allsection}[section]
\newcounter{lemmasubsection}[subsection]
\newcounter{definitionsubsection}[subsection]
\newcounter{corollarysubsection}[subsection]
\newcounter{theoremsubsection}[subsection]
\newcounter{axiomsubsection}[subsection]
\newcounter{examplesubsection}[subsection]
\newcounter{factsubsection}[subsection]
\newcounter{propositionsubsection}[subsection]
\newcounter{formulasubsection}[subsection]
\newcounter{remarksubsection}[subsection]
\newcounter{allsubsection}[subsection]
\newcounter{lemmasubsubsection}[subsubsection]
\newcounter{definitionsubsubsection}[subsubsection]
\newcounter{corollarysubsubsection}[subsubsection]
\newcounter{theoremsubsubsection}[subsubsection]
\newcounter{axiomsubsubsection}[subsubsection]
\newcounter{examplesubsubsection}[subsubsection]
\newcounter{factsubsubsection}[subsubsection]
\newcounter{propositionsubsubsection}[subsubsection]
\newcounter{formulasubsubsection}[subsubsection]
\newcounter{remarksubsubsection}[subsubsection]
\newcounter{allsubsubsection}[subsubsection]
\newcounter{lemmaparagraph}[paragraph]
\newcounter{definitionparagraph}[paragraph]
\newcounter{corollaryparagraph}[paragraph]
\newcounter{theoremparagraph}[paragraph]
\newcounter{axiomparagraph}[paragraph]
\newcounter{exampleparagraph}[paragraph]
\newcounter{factparagraph}[paragraph]
\newcounter{propositionparagraph}[paragraph]
\newcounter{formulaparagraph}[paragraph]
\newcounter{remarkparagraph}[paragraph]
\newcounter{allparagraph}[paragraph]
% ── Set the current number of a label ───────────────────────────────
\newcommand{\setLabelNumber}[2]{%
\setcounter{#1none}{#2}%
\addtocounter{#1none}{-1}%
\setcounter{#1section}{#2}%
\addtocounter{#1section}{-1}%
\setcounter{#1subsection}{#2}%
\addtocounter{#1subsection}{-1}%
\setcounter{#1subsubsection}{#2}%
\addtocounter{#1subsubsection}{-1}%
\setcounter{#1paragraph}{#2}%
\addtocounter{#1paragraph}{-1}%
}
\newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1none}%
\stepcounter{#1section}%
\stepcounter{#1subsection}%
\stepcounter{#1subsubsection}%
\stepcounter{#1paragraph}%
}
% ┌ ┐
% │ 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
}
\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
}
\newcommand{\setSubsectionNumbering}[1]{
\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
\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{\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

View File

@@ -1,33 +0,0 @@
\newcommand{\printNumberingConfigForDescriptor}[2]{\csname #1numbering\endcsname}
\newcommand{\printLabelWithNumbering}[1]{%
\ifthenelse{\equal{\subsectionnumbering}{none}}{%
#1%
}{%
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
\thesection.#1%
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
\thesection.\thesubsection.#1%
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
\thesection.\thesubsection.\thesubsubsection#1%
}{%
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
\thesection.\thesubsection.\thesubsubsection.\theparagraph#1%
}{%
\PackageError{Subsection numbering configuration invalid. Can be one of [none, section, subsection, subsubsection, paragraph], but you passed #1}
subsectionnumbering error
}
}
}
}
}
}
\newcommand{\printVersionNumber}[1]{%
\ifthenelse{\equal{\numberingpreset}{combined}}{}{}
}
\newcommand{\printCounter}[1]{\csname the#1\endcsname}
\newcommand{\renderLabel}[1]{}

View File

@@ -1,53 +0,0 @@
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Reset definition, lemma, etc counters, add a │
% │ new page │
% ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{
\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{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}
% Tables & Figures
\setcounter{table}{0}
\setcounter{figure}{0}
}
\newsectionNoPB % Initializes

View File

@@ -1,104 +0,0 @@
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Tcolorboxes │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Definitions
\newtcolorbox{definition}[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 Definition\usenumberArabic{definition}};},#1}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% 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}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Inline environments │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Inline environments (inline)
\newcommand{\inlineex}{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:}}
\newcommand{\inlinedef}{\bg{blue}{Definition\usenumberArabic{definition}:}}
\newcommand{\inlineformula}{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:}}
\newcommand{\inlinelemma}{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:}}
\newcommand{\inlinetheorem}{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:}}
\newcommand{\inlineaxiom}{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:}}
\newcommand{\inlinecorollary}{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:}}
\newcommand{\inlinefact}{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:}}
\newcommand{\inlineproposition}{\bg{Cyan}{Proposition\usenumberArabic{proposition}:}}
\newcommand{\inlineremark}{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:}}
\newcommand{\inlineproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced inline environments
\newcommand{\fancyex}[1]{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\fancydef}[1]{\bg{blue}{Definition\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\fancyformula}[1]{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\fancylemma}[1]{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\fancytheorem}[1]{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\fancyaxiom}[1]{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\fancycorollary}[1]{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\fancyfact}[1]{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\fancyproposition}[1]{\bg{Cyan}{Proposition\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\fancyremark}[1]{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\fancyproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}
% short environments (abbreviated)
\newcommand{\shortex}{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:}}
\newcommand{\shortdef}{\bg{blue}{D\usenumberArabic{definition}:}}
\newcommand{\short}{\bg{red}{F\usenumberArabic{formula}:}}
\newcommand{\shortlemma}{\bg{Aquamarine}{L\usenumberArabic{lemma}:}}
\newcommand{\shorttheorem}{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:}}
\newcommand{\shortaxiom}{\bg{JungleGreen}{A\usenumberArabic{axiom}:}}
\newcommand{\shortcorollary}{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:}}
\newcommand{\shortfact}{\bg{SeaGreen}{F\usenumberArabic{fact}:}}
\newcommand{\shortproposition}{\bg{Cyan}{P\usenumberArabic{proposition}:}}
\newcommand{\shortremark}{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:}}
\newcommand{\shortproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced short environments (abbreviated)
\newcommand{\compactex}[1]{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\compactdef}[1]{\bg{blue}{D\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\compactformula}[1]{\bg{red}{F\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\compactproposition}[1]{\bg{Cyan}{P\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\compactremark}[1]{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\compactproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}