This commit is contained in:
@@ -27,7 +27,7 @@ jobs:
|
|||||||
- name: Upload compiled docs
|
- name: Upload compiled docs
|
||||||
uses: actions/git-auto-commit-action@v7
|
uses: actions/git-auto-commit-action@v7
|
||||||
with:
|
with:
|
||||||
commit_message: "[skip ci] Build docs on push"
|
commit_message: "ci: Build docs on push [skip ci]"
|
||||||
file_pattern: '*.pdf'
|
file_pattern: '*.pdf'
|
||||||
commit_user_name: LaTeX compiler [bot]
|
commit_user_name: LaTeX compiler [bot]
|
||||||
commit_user_email: actions@janishutz.com
|
commit_user_email: actions@janishutz.com
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Upload compiled helpers
|
- name: Upload compiled helpers
|
||||||
uses: actions/git-auto-commit-action@v7
|
uses: actions/git-auto-commit-action@v7
|
||||||
with:
|
with:
|
||||||
commit_message: "[skip ci] Build helpers on push"
|
commit_message: "ci: Build helpers on push [skip ci]"
|
||||||
commit_user_name: Helpers compiler [bot]
|
commit_user_name: Helpers compiler [bot]
|
||||||
commit_user_email: actions@janishutz.com
|
commit_user_email: actions@janishutz.com
|
||||||
commit_author: Helpers compiler [bot] <actions@janishutz.com>
|
commit_author: Helpers compiler [bot] <actions@janishutz.com>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
% └ ┘
|
% └ ┘
|
||||||
\newcommand{\atExamNamingEN}{At exam}
|
\newcommand{\atExamNamingEN}{At exam}
|
||||||
\newcommand{\atExamNamingDE}{An Prüfung}
|
\newcommand{\atExamNamingDE}{An Prüfung}
|
||||||
|
\newcommand{\howtotextEN}{How To:}
|
||||||
|
\newcommand{\howtotextDE}{How To:}
|
||||||
|
|
||||||
% Here you may specify how each descriptor is named
|
% Here you may specify how each descriptor is named
|
||||||
\newcommand{\definitionNamingEN}{Definition}
|
\newcommand{\definitionNamingEN}{Definition}
|
||||||
|
|||||||
+318
-312
@@ -96,11 +96,85 @@
|
|||||||
\colorlet{propertiescolor}{purple}
|
\colorlet{propertiescolor}{purple}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ General config │
|
||||||
|
% └ ┘
|
||||||
|
% Configure your author name here
|
||||||
|
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
||||||
|
\newcommand{\authorHeaders}{Janis Hutz}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Rendering │
|
||||||
|
% └ ┘
|
||||||
|
% This is used to render the optional name argument in the descriptors
|
||||||
|
% Updating this function only has an effect if you are using the
|
||||||
|
% unmodified templates below or have updated them, but still use this function
|
||||||
|
\newcommand{\descriptorNameDisplay}[1]{\textit{(#1)}}
|
||||||
|
|
||||||
|
% 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} \descriptorNameDisplay{#3}}
|
||||||
|
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2} \descriptorNameDisplay{#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}\ }
|
||||||
|
\newcommand{\tcbDescriptorTemplate}[2]{\namingTranslate{#1} #2}
|
||||||
|
|
||||||
|
% background command config (draws a small box around the content)
|
||||||
|
\newcommand{\backgroundPadding}{2pt}
|
||||||
|
\newcommand{\backgroundRounding}{1pt}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Numbering │
|
||||||
|
% └ ┘
|
||||||
|
% Set a preset, can be combined, separate or off.
|
||||||
|
% If set to custom, all type specific commands need to be set below.
|
||||||
|
\newcommand{\numberingpreset}{combined}
|
||||||
|
|
||||||
|
% Specify how elements are to be numbered. Can be (X is the current number of the element):
|
||||||
|
% - none (X)
|
||||||
|
% - section (section.X)
|
||||||
|
% - subsection (section.subsection.X)
|
||||||
|
% - subsubsection (section.subsection.subsubsection.X)
|
||||||
|
% - paragraph (section.subsection.subsubsection.paragraph.X)
|
||||||
|
\newcommand{\subsectionnumbering}{subsection}
|
||||||
|
|
||||||
|
|
||||||
|
% Set for a specific type. Can each be combined, separate, default or off:
|
||||||
|
% If set to anything but 'default', it will override the overarching style
|
||||||
|
% set by \numberingpreset
|
||||||
|
\newcommand{\definitionnumbering}{default}
|
||||||
|
\newcommand{\theoremnumbering}{default}
|
||||||
|
\newcommand{\lemmanumbering}{default}
|
||||||
|
\newcommand{\corollarynumbering}{default}
|
||||||
|
\newcommand{\axiomnumbering}{default}
|
||||||
|
\newcommand{\factnumbering}{default}
|
||||||
|
\newcommand{\propositionnumbering}{default}
|
||||||
|
\newcommand{\examplenumbering}{default}
|
||||||
|
\newcommand{\formulanumbering}{default}
|
||||||
|
\newcommand{\remarknumbering}{default}
|
||||||
|
\newcommand{\proofnumbering}{default}
|
||||||
|
\newcommand{\intuitionnumbering}{default}
|
||||||
|
\newcommand{\termnumbering}{default}
|
||||||
|
\newcommand{\notationnumbering}{default}
|
||||||
|
\newcommand{\tasknumbering}{default}
|
||||||
|
\newcommand{\usagenumbering}{default}
|
||||||
|
\newcommand{\recallnumbering}{default}
|
||||||
|
\newcommand{\propertiesnumbering}{default}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Naming │
|
% │ Naming │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
\newcommand{\atExamNamingEN}{At exam}
|
\newcommand{\atExamNamingEN}{At exam}
|
||||||
\newcommand{\atExamNamingDE}{An Prüfung}
|
\newcommand{\atExamNamingDE}{An Prüfung}
|
||||||
|
\newcommand{\howtotextEN}{How To:}
|
||||||
|
\newcommand{\howtotextDE}{How To:}
|
||||||
|
|
||||||
% Here you may specify how each descriptor is named
|
% Here you may specify how each descriptor is named
|
||||||
\newcommand{\definitionNamingEN}{Definition}
|
\newcommand{\definitionNamingEN}{Definition}
|
||||||
@@ -182,78 +256,6 @@
|
|||||||
\newcommand{\propertiesShortNamingDE}{E}
|
\newcommand{\propertiesShortNamingDE}{E}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Numbering │
|
|
||||||
% └ ┘
|
|
||||||
% Set a preset, can be combined, separate or off.
|
|
||||||
% If set to custom, all type specific commands need to be set below.
|
|
||||||
\newcommand{\numberingpreset}{combined}
|
|
||||||
|
|
||||||
% Specify how elements are to be numbered. Can be (X is the current number of the element):
|
|
||||||
% - none (X)
|
|
||||||
% - section (section.X)
|
|
||||||
% - subsection (section.subsection.X)
|
|
||||||
% - subsubsection (section.subsection.subsubsection.X)
|
|
||||||
% - paragraph (section.subsection.subsubsection.paragraph.X)
|
|
||||||
\newcommand{\subsectionnumbering}{subsection}
|
|
||||||
|
|
||||||
|
|
||||||
% Set for a specific type. Can each be combined, separate, default or off:
|
|
||||||
% If set to anything but 'default', it will override the overarching style
|
|
||||||
% set by \numberingpreset
|
|
||||||
\newcommand{\definitionnumbering}{default}
|
|
||||||
\newcommand{\theoremnumbering}{default}
|
|
||||||
\newcommand{\lemmanumbering}{default}
|
|
||||||
\newcommand{\corollarynumbering}{default}
|
|
||||||
\newcommand{\axiomnumbering}{default}
|
|
||||||
\newcommand{\factnumbering}{default}
|
|
||||||
\newcommand{\propositionnumbering}{default}
|
|
||||||
\newcommand{\examplenumbering}{default}
|
|
||||||
\newcommand{\formulanumbering}{default}
|
|
||||||
\newcommand{\remarknumbering}{default}
|
|
||||||
\newcommand{\proofnumbering}{default}
|
|
||||||
\newcommand{\intuitionnumbering}{default}
|
|
||||||
\newcommand{\termnumbering}{default}
|
|
||||||
\newcommand{\notationnumbering}{default}
|
|
||||||
\newcommand{\tasknumbering}{default}
|
|
||||||
\newcommand{\usagenumbering}{default}
|
|
||||||
\newcommand{\recallnumbering}{default}
|
|
||||||
\newcommand{\propertiesnumbering}{default}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ General config │
|
|
||||||
% └ ┘
|
|
||||||
% Configure your author name here
|
|
||||||
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
|
||||||
\newcommand{\authorHeaders}{Janis Hutz}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Rendering │
|
|
||||||
% └ ┘
|
|
||||||
% This is used to render the optional name argument in the descriptors
|
|
||||||
% Updating this function only has an effect if you are using the
|
|
||||||
% unmodified templates below or have updated them, but still use this function
|
|
||||||
\newcommand{\descriptorNameDisplay}[1]{\textit{(#1)}}
|
|
||||||
|
|
||||||
% 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} \descriptorNameDisplay{#3}}
|
|
||||||
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2} \descriptorNameDisplay{#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}\ }
|
|
||||||
\newcommand{\tcbDescriptorTemplate}[2]{\namingTranslate{#1} #2}
|
|
||||||
|
|
||||||
% background command config (draws a small box around the content)
|
|
||||||
\newcommand{\backgroundPadding}{2pt}
|
|
||||||
\newcommand{\backgroundRounding}{1pt}
|
|
||||||
|
|
||||||
|
|
||||||
\newcounter{definitionnone}
|
\newcounter{definitionnone}
|
||||||
\newcounter{definitionsection}[section]
|
\newcounter{definitionsection}[section]
|
||||||
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
||||||
@@ -705,6 +707,10 @@
|
|||||||
\par\smallskip
|
\par\smallskip
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand\howto[2]{%
|
||||||
|
\coloredbox{gray}{\tr{\howtotextEN}{\howtotextDE}\ #1}{#2}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
% ___ _ _____ _ _
|
% ___ _ _____ _ _
|
||||||
% ( _ \ _( ) (_ _) ( ) ( )
|
% ( _ \ _( ) (_ _) ( ) ( )
|
||||||
@@ -727,34 +733,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% Add glossaries functionality
|
|
||||||
|
|
||||||
\newcommand{\setupGlossary}{
|
|
||||||
\usepackage[nonumberlist, toc]{glossaries}
|
|
||||||
\usepackage[nottoc, numbib]{tocbibind}
|
|
||||||
\makenoidxglossaries
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\highlightglossaryref}[1]{\textbf{#1}}
|
|
||||||
\newcommand{\setGlossaryMarkup}{
|
|
||||||
\let\glsraw\gls
|
|
||||||
\let\glsplraw\glspl
|
|
||||||
\let\Glsraw\Gls
|
|
||||||
\let\Glsplraw\Glspl
|
|
||||||
\let\acrshortraw\acrshort
|
|
||||||
\expandafter\renewcommand{\gls}[1]{\highlightglossaryref{\glsraw{##1}}}
|
|
||||||
\expandafter\renewcommand{\glspl}[1]{\highlightglossaryref{\glsplraw{##1}}}
|
|
||||||
\expandafter\renewcommand{\Gls}[1]{\highlightglossaryref{\Glsraw{##1}}}
|
|
||||||
\expandafter\renewcommand{\Glspl}[1]{\highlightglossaryref{\Glsplraw{##1}}}
|
|
||||||
\expandafter\renewcommand{\acrshort}[1]{\highlightglossaryref{\acrshortraw{##1}}}
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\printGlossary}{
|
|
||||||
\glsaddall
|
|
||||||
\printnoidxglossaries
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Math │
|
% │ Math │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -896,6 +874,109 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ 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{\highlightglossaryref}[1]{\textbf{#1}}
|
||||||
|
\newcommand{\setGlossaryMarkup}{
|
||||||
|
\let\glsraw\gls
|
||||||
|
\let\glsplraw\glspl
|
||||||
|
\let\Glsraw\Gls
|
||||||
|
\let\Glsplraw\Glspl
|
||||||
|
\let\acrshortraw\acrshort
|
||||||
|
\expandafter\renewcommand{\gls}[1]{\highlightglossaryref{\glsraw{##1}}}
|
||||||
|
\expandafter\renewcommand{\glspl}[1]{\highlightglossaryref{\glsplraw{##1}}}
|
||||||
|
\expandafter\renewcommand{\Gls}[1]{\highlightglossaryref{\Glsraw{##1}}}
|
||||||
|
\expandafter\renewcommand{\Glspl}[1]{\highlightglossaryref{\Glsplraw{##1}}}
|
||||||
|
\expandafter\renewcommand{\acrshort}[1]{\highlightglossaryref{\acrshortraw{##1}}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\printGlossary}{
|
||||||
|
\glsaddall
|
||||||
|
\printnoidxglossaries
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Translation │
|
||||||
|
% └ ┘
|
||||||
|
\newcommand{\translate}[2]{%
|
||||||
|
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
|
||||||
|
}
|
||||||
|
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
||||||
|
\newcommand{\safetr}[2]{\protecting{\translate{#1}{#2}}}
|
||||||
|
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
|
||||||
|
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}
|
||||||
|
|
||||||
|
% Translation aids (commonly used)
|
||||||
|
\newcommand{\trif}{\translate{if }{falls }}
|
||||||
|
\newcommand{\trIf}{\translate{If }{Falls }}
|
||||||
|
\newcommand{\trLet}{\translate{Let }{Sei }}
|
||||||
|
\newcommand{\trLets}{\translate{Let }{Seien }}
|
||||||
|
\newcommand{\trFor}{\translate{For }{Für }}
|
||||||
|
\newcommand{\trfor}{\translate{for }{für }}
|
||||||
|
\newcommand{\trand}{\translate{and }{und }}
|
||||||
|
\newcommand{\tror}{\translate{or }{oder }}
|
||||||
|
\newcommand{\trst}{\translate{s.t. }{s.d. }}
|
||||||
|
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
|
||||||
|
\newcommand{\trwith}{\translate{with }{mit }}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Setup │
|
% │ Setup │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -989,49 +1070,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Translation │
|
|
||||||
% └ ┘
|
|
||||||
\newcommand{\translate}[2]{%
|
|
||||||
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
|
|
||||||
}
|
|
||||||
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
|
||||||
\newcommand{\safetr}[2]{\protecting{\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}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
|
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
|
||||||
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
||||||
@@ -1064,109 +1102,6 @@
|
|||||||
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Tables │
|
|
||||||
% └ ┘
|
|
||||||
|
|
||||||
\usepackage{booktabs}
|
|
||||||
\usepackage{tabulary}
|
|
||||||
|
|
||||||
% Create new table. #1 Layout, #2 title row
|
|
||||||
\newenvironment{tables}[2]{
|
|
||||||
\begin{center}
|
|
||||||
\begin{tabular}{#1}
|
|
||||||
\toprule
|
|
||||||
#2 \\
|
|
||||||
\midrule
|
|
||||||
}{
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\end{center}
|
|
||||||
}
|
|
||||||
|
|
||||||
% Create new table in table env. #1 layout, #2 title row, #3 caption
|
|
||||||
\newenvironment{fullTable}[3]{
|
|
||||||
\edef\tableCaption{#3}
|
|
||||||
\begin{table}[h!]
|
|
||||||
\begin{tables}{#1}{#2}
|
|
||||||
}{
|
|
||||||
\end{tables}
|
|
||||||
\caption{\tableCaption}
|
|
||||||
\end{table}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Counter numbering │
|
|
||||||
% └ ┘
|
|
||||||
\newcommand{\preEnvHook}[1]{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
|
||||||
\stepLabelNumber{combined}%
|
|
||||||
}{}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Decides on the numbering to use (combined or not)
|
|
||||||
\newcommand{\loadNumberingConfiguration}{%
|
|
||||||
\ifthenelse{\boolean{numberingDisabled}}{%
|
|
||||||
\renewcommand{\thetable}{\arabic{table}}
|
|
||||||
\renewcommand{\thefigure}{\arabic{figure}}
|
|
||||||
}{
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{none}}{
|
|
||||||
\renewcommand{\thetable}{\arabic{combinednone}}
|
|
||||||
\renewcommand{\thefigure}{\arabic{combinednone}}
|
|
||||||
}{%
|
|
||||||
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
|
||||||
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
|
||||||
}%
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\numberingpreset}{separate}}{
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
|
|
||||||
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
|
|
||||||
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
|
|
||||||
}
|
|
||||||
}{%
|
|
||||||
\renewcommand{\thetable}{\arabic{table}}
|
|
||||||
\renewcommand{\thefigure}{\arabic{figure}}
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
% Prints the preceding subsection numbers
|
|
||||||
\newcommand{\ssprinter}{\thesection}
|
|
||||||
\newcommand{\generateSubsection}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
|
||||||
\renewcommand{\ssprinter}{\thesection}
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
|
||||||
\renewcommand{\ssprinter}{\thesubsection}
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
|
||||||
\renewcommand{\ssprinter}{\thesubsubsection}
|
|
||||||
}{%
|
|
||||||
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
|
||||||
\renewcommand{\ssprinter}{\theparagraph}
|
|
||||||
}{
|
|
||||||
\renewcommand{\ssprinter}{}
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
\loadNumberingConfiguration
|
|
||||||
|
|
||||||
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
|
||||||
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
|
||||||
|
|
||||||
|
|
||||||
% ── Set the current number of a label ───────────────────────────────
|
% ── Set the current number of a label ───────────────────────────────
|
||||||
\newcommand{\setLabelNumber}[2]{%
|
\newcommand{\setLabelNumber}[2]{%
|
||||||
\setcounter{#1none}{#2}%
|
\setcounter{#1none}{#2}%
|
||||||
@@ -1280,6 +1215,88 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Counter numbering │
|
||||||
|
% └ ┘
|
||||||
|
\newcommand{\preEnvHook}[1]{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
|
||||||
|
\stepLabelNumber{combined}%
|
||||||
|
}{}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Decides on the numbering to use (combined or not)
|
||||||
|
\newcommand{\loadNumberingConfiguration}{%
|
||||||
|
\ifthenelse{\boolean{numberingDisabled}}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}{
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{combined}}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{
|
||||||
|
\renewcommand{\thetable}{\arabic{combinednone}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{combinednone}}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
|
||||||
|
}%
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\numberingpreset}{separate}}{
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
|
||||||
|
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
|
||||||
|
}
|
||||||
|
}{%
|
||||||
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
% Prints the preceding subsection numbers
|
||||||
|
\newcommand{\ssprinter}{\thesection}
|
||||||
|
\newcommand{\generateSubsection}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
|
||||||
|
\renewcommand{\ssprinter}{\thesubsubsection}
|
||||||
|
}{%
|
||||||
|
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
|
||||||
|
\renewcommand{\ssprinter}{\theparagraph}
|
||||||
|
}{
|
||||||
|
\renewcommand{\ssprinter}{}
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
\loadNumberingConfiguration
|
||||||
|
|
||||||
|
\AtBeginEnvironment{table}{\preEnvHook{table}}
|
||||||
|
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ STYLE: Math │
|
||||||
|
% └ ┘
|
||||||
|
|
||||||
|
% Add shortcuts to commonly used commands
|
||||||
|
\newcommand{\vect}[1]{\overrightarrow{#1}}
|
||||||
|
\renewcommand{\hat}[1]{\widehat{#1}}
|
||||||
|
\renewcommand{\tilde}[1]{\widetilde{#1}}
|
||||||
|
\newcommand{\proven}{$\hspace{17cm}\square$}
|
||||||
|
|
||||||
|
|
||||||
\newcommand{\noverticalspacing}{
|
\newcommand{\noverticalspacing}{
|
||||||
\titlespacing*{\section}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 2pt minus 2pt}
|
\titlespacing*{\section}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 2pt minus 2pt}
|
||||||
\titlespacing*{\subsection}{0pt}{1pt plus 2pt minus 1pt}{1pt plus 2pt minus 1pt}
|
\titlespacing*{\subsection}{0pt}{1pt plus 2pt minus 1pt}{1pt plus 2pt minus 1pt}
|
||||||
@@ -1346,6 +1363,61 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ── Inline environments ─────────────────────────────────────────────
|
||||||
|
% TODO: ref label generation
|
||||||
|
\newcommand{\inline}[2][NONAME]{%
|
||||||
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
|
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
|
}{%
|
||||||
|
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledInline}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\inline[#1]{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\unnumberedInline}[2][NONAME]{%
|
||||||
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
|
\anonymousInlineDescriptorTemplate{#2}{}%
|
||||||
|
}{%
|
||||||
|
\inlineDescriptorTemplate{#2}{}{#1}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\short}[2][NONAME]{%
|
||||||
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
|
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
||||||
|
}{%
|
||||||
|
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\labeledShort}[3][NONAME]{%
|
||||||
|
\edef{\tempLabel}{#3}
|
||||||
|
\label{\tempLabel}
|
||||||
|
\short[#1]{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\unnumberedShort}[2][NONAME]{%
|
||||||
|
\ifthenelse{\equal{NONAME}{#1}}{%
|
||||||
|
\anonymousShortDescriptorTemplate{#2}{}%
|
||||||
|
}{%
|
||||||
|
\shortDescriptorTemplate{#2}{}{#1}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
|
||||||
|
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
|
||||||
|
\newcommand{\inlinenotation}[1][NONAME]{\unnumberedInline[#1]{notation}}
|
||||||
|
|
||||||
|
\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
|
||||||
|
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
|
||||||
|
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Common tcolorboxes │
|
% │ STYLE: Common tcolorboxes │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1409,72 +1481,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ 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]{%
|
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
|
||||||
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
|
|
||||||
}{%
|
|
||||||
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\labeledInline}[3][NONAME]{%
|
|
||||||
\edef{\tempLabel}{#3}
|
|
||||||
\label{\tempLabel}
|
|
||||||
\inline[#1]{#2}
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\unnumberedInline}[2][NONAME]{%
|
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
|
||||||
\anonymousInlineDescriptorTemplate{#2}{}%
|
|
||||||
}{%
|
|
||||||
\inlineDescriptorTemplate{#2}{}{#1}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\short}[2][NONAME]{%
|
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
|
||||||
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
|
|
||||||
}{%
|
|
||||||
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\labeledShort}[3][NONAME]{%
|
|
||||||
\edef{\tempLabel}{#3}
|
|
||||||
\label{\tempLabel}
|
|
||||||
\short[#1]{#2}
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\unnumberedShort}[2][NONAME]{%
|
|
||||||
\ifthenelse{\equal{NONAME}{#1}}{%
|
|
||||||
\anonymousShortDescriptorTemplate{#2}{}%
|
|
||||||
}{%
|
|
||||||
\shortDescriptorTemplate{#2}{}{#1}%
|
|
||||||
}%
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
|
|
||||||
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
|
|
||||||
\newcommand{\inlinenotation}[1][NONAME]{\unnumberedInline[#1]{notation}}
|
|
||||||
|
|
||||||
\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
|
|
||||||
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
|
|
||||||
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Computer Science │
|
% │ STYLE: Computer Science │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
|
|||||||
@@ -107,3 +107,7 @@
|
|||||||
}%
|
}%
|
||||||
\par\smallskip
|
\par\smallskip
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand\howto[2]{%
|
||||||
|
\coloredbox{gray}{\tr{\howtotextEN}{\howtotextDE}\ #1}{#2}%
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user