[skip ci] Build helpers on push
This commit is contained in:
@@ -93,72 +93,6 @@
|
|||||||
\colorlet{propertiescolor}{purple}
|
\colorlet{propertiescolor}{purple}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ 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}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Naming │
|
% │ Naming │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -242,6 +176,72 @@
|
|||||||
\newcommand{\propertiesShortNamingDE}{E}
|
\newcommand{\propertiesShortNamingDE}{E}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Numbering │
|
||||||
|
% └ ┘
|
||||||
|
% Set a preset, can be combined, separate or off.
|
||||||
|
% If set to custom, all type specific commands need to be set below.
|
||||||
|
\newcommand{\numberingpreset}{combined}
|
||||||
|
|
||||||
|
% Specify how elements are to be numbered. Can be (X is the current number of the element):
|
||||||
|
% - none (X)
|
||||||
|
% - section (section.X)
|
||||||
|
% - subsection (section.subsection.X)
|
||||||
|
% - subsubsection (section.subsection.subsubsection.X)
|
||||||
|
% - paragraph (section.subsection.subsubsection.paragraph.X)
|
||||||
|
\newcommand{\subsectionnumbering}{subsection}
|
||||||
|
|
||||||
|
|
||||||
|
% Set for a specific type. Can each be combined, separate, default or off:
|
||||||
|
% If set to anything but 'default', it will override the overarching style
|
||||||
|
% set by \numberingpreset
|
||||||
|
\newcommand{\definitionnumbering}{default}
|
||||||
|
\newcommand{\theoremnumbering}{default}
|
||||||
|
\newcommand{\lemmanumbering}{default}
|
||||||
|
\newcommand{\corollarynumbering}{default}
|
||||||
|
\newcommand{\axiomnumbering}{default}
|
||||||
|
\newcommand{\factnumbering}{default}
|
||||||
|
\newcommand{\propositionnumbering}{default}
|
||||||
|
\newcommand{\examplenumbering}{default}
|
||||||
|
\newcommand{\formulanumbering}{default}
|
||||||
|
\newcommand{\remarknumbering}{default}
|
||||||
|
\newcommand{\proofnumbering}{default}
|
||||||
|
\newcommand{\intuitionnumbering}{default}
|
||||||
|
\newcommand{\termnumbering}{default}
|
||||||
|
\newcommand{\notationnumbering}{default}
|
||||||
|
\newcommand{\tasknumbering}{default}
|
||||||
|
\newcommand{\usagenumbering}{default}
|
||||||
|
\newcommand{\recallnumbering}{default}
|
||||||
|
\newcommand{\propertiesnumbering}{default}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ General config │
|
||||||
|
% └ ┘
|
||||||
|
% Configure your author name here
|
||||||
|
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
||||||
|
\newcommand{\authorHeaders}{Janis Hutz}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Rendering │
|
||||||
|
% └ ┘
|
||||||
|
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
|
||||||
|
% - #1 is the name of the descriptor
|
||||||
|
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
|
||||||
|
% - #3 is the name passed (non-empty asserted)
|
||||||
|
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
|
||||||
|
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
|
||||||
|
|
||||||
|
% These are used if no name is provided and argument #4 from above is the missing argument
|
||||||
|
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }
|
||||||
|
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}\ }
|
||||||
|
|
||||||
|
% background command config (draws a small box around the content)
|
||||||
|
\newcommand{\backgroundPadding}{2pt}
|
||||||
|
\newcommand{\backgroundRounding}{1pt}
|
||||||
|
|
||||||
|
|
||||||
\newcounter{definitionnone}
|
\newcounter{definitionnone}
|
||||||
\newcounter{definitionsection}[section]
|
\newcounter{definitionsection}[section]
|
||||||
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
|
||||||
@@ -667,218 +667,41 @@
|
|||||||
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
|
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ___ _ _____ _ _
|
||||||
% │ 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...}
|
% (____/(_)_ __/ (_) \____)_) (_)
|
||||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
|
||||||
\title{\Huge \textbf{#1}}
|
% Configs if you want to use BibTeX
|
||||||
\author{\authorTitle}
|
|
||||||
\makeatletter
|
\newcommand{\setupBibtex}[1]{
|
||||||
\makeatother
|
\usepackage{biblatex}
|
||||||
\fancyhead{}
|
\usepackage[nottoc, numbib]{tocbibind}
|
||||||
\fancyhead[L]{#1}
|
\addbibresource{#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}}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
% Set up the latex document, only configuring the author, title and page size
|
\newcommand{\printbib}{
|
||||||
\newcommand{\setupBarebones}[1]{
|
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
|
||||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
\printbibliography[title=\translate{Sources}{Quellen}]
|
||||||
\title{\Huge \textbf{#1}}
|
|
||||||
\author{\authorTitle}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
% Add glossaries functionality
|
||||||
\newcommand{\setupCheatSheet}[2][true]{
|
|
||||||
\ifthenelse{\equal{#1}{true}}{
|
\newcommand{\setupGlossary}{
|
||||||
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm,landscape]{geometry}
|
\usepackage[nonumberlist, toc]{glossaries}
|
||||||
\usepackage{flowfram}
|
\usepackage[nottoc, numbib]{tocbibind}
|
||||||
\ffvadjustfalse
|
\makenoidxglossaries
|
||||||
\setlength{\columnsep}{1cm}
|
|
||||||
\Ncolumn{3}
|
|
||||||
}{
|
|
||||||
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
|
|
||||||
}
|
|
||||||
\title{\Huge \textbf{#2}}
|
|
||||||
\author{\authorTitle}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\printGlossary}{
|
||||||
% ┌ ┐
|
\glsaddall
|
||||||
% │ Document start │
|
\printnoidxglossaries
|
||||||
% └ ┘
|
|
||||||
% Start document command (required)
|
|
||||||
\newcommand{\startDocument}{
|
|
||||||
% TODO: Cheat sheet needs different setup?
|
|
||||||
\maketitle
|
|
||||||
\pagestyle{fancy}
|
|
||||||
\thispagestyle{fancy}
|
|
||||||
|
|
||||||
\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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ Minted │
|
|
||||||
% └ ┘
|
|
||||||
\usepackage{minted}
|
|
||||||
\usepackage{fancyvrb}
|
|
||||||
|
|
||||||
% Args: Language, Code
|
|
||||||
\newenvironment{code}[1]{
|
|
||||||
\VerbatimEnvironment
|
|
||||||
\begin{minted}[
|
|
||||||
autogobble,
|
|
||||||
breaklines,
|
|
||||||
breakindentnchars=2,
|
|
||||||
frame=lines,
|
|
||||||
framesep=2mm,
|
|
||||||
mathescape,
|
|
||||||
baselinestretch=1.1,
|
|
||||||
linenos
|
|
||||||
]{#1}}
|
|
||||||
{\end{minted}}
|
|
||||||
|
|
||||||
% 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}
|
|
||||||
}
|
|
||||||
|
|
||||||
% 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}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ 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}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
|
|
||||||
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
|
||||||
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
|
||||||
|
|
||||||
% Extra imports
|
|
||||||
\usepackage{stmaryrd}
|
|
||||||
\usepackage{algorithm}
|
|
||||||
\usepackage{algpseudocodex}
|
|
||||||
\usepackage{setspace}
|
|
||||||
\usepackage{verbatim}
|
|
||||||
\usepackage{turnstile}
|
|
||||||
\usepackage{forloop}
|
|
||||||
|
|
||||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
|
||||||
|
|
||||||
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
|
||||||
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
|
||||||
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
|
||||||
\newcommand{\wordbool}{(\Sigma_{\text{bool}})^*}
|
|
||||||
\newcommand{\words}[1]{(\Sigma_{\text{#1}})^*}
|
|
||||||
\newcommand{\word}{\Sigma^*}
|
|
||||||
\newcommand{\wordm}[1]{\Sigma_{\text{#1}}^*}
|
|
||||||
\newcommand{\alphabets}[1]{\Sigma_{\text{#1}}}
|
|
||||||
\newcommand{\alphabetbool}{\Sigma_{\text{bool}}}
|
|
||||||
\newcommand{\tR}{\text{R}}
|
|
||||||
\newcommand{\tC}{\text{C}}
|
|
||||||
\newcommand{\tN}{\text{N}}
|
|
||||||
\newcommand{\bigvdash}[2]{\sststile{#1}{#2}}
|
|
||||||
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Math │
|
% │ Math │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -975,6 +798,218 @@
|
|||||||
\DeclareMathOperator\arcsinh{arcsinh}
|
\DeclareMathOperator\arcsinh{arcsinh}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Minted │
|
||||||
|
% └ ┘
|
||||||
|
\usepackage{minted}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
|
||||||
|
% Args: Language, Code
|
||||||
|
\newenvironment{code}[1]{
|
||||||
|
\VerbatimEnvironment
|
||||||
|
\begin{minted}[
|
||||||
|
autogobble,
|
||||||
|
breaklines,
|
||||||
|
breakindentnchars=2,
|
||||||
|
frame=lines,
|
||||||
|
framesep=2mm,
|
||||||
|
mathescape,
|
||||||
|
baselinestretch=1.1,
|
||||||
|
linenos
|
||||||
|
]{#1}}
|
||||||
|
{\end{minted}}
|
||||||
|
|
||||||
|
% 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}
|
||||||
|
}
|
||||||
|
|
||||||
|
% 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}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ 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...}
|
||||||
|
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||||
|
\title{\Huge \textbf{#1}}
|
||||||
|
\author{\authorTitle}
|
||||||
|
\makeatletter
|
||||||
|
\makeatother
|
||||||
|
\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}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Set up the latex document, only configuring the author, title and page size
|
||||||
|
\newcommand{\setupBarebones}[1]{
|
||||||
|
\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}[2][true]{
|
||||||
|
\ifthenelse{\equal{#1}{true}}{
|
||||||
|
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm,landscape]{geometry}
|
||||||
|
\usepackage{flowfram}
|
||||||
|
\ffvadjustfalse
|
||||||
|
\setlength{\columnsep}{1cm}
|
||||||
|
\Ncolumn{3}
|
||||||
|
}{
|
||||||
|
\usepackage[a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
|
||||||
|
}
|
||||||
|
\title{\Huge \textbf{#2}}
|
||||||
|
\author{\authorTitle}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ Document start │
|
||||||
|
% └ ┘
|
||||||
|
% Start document command (required)
|
||||||
|
\newcommand{\startDocument}{
|
||||||
|
% TODO: Cheat sheet needs different setup?
|
||||||
|
\maketitle
|
||||||
|
\pagestyle{fancy}
|
||||||
|
\thispagestyle{fancy}
|
||||||
|
|
||||||
|
\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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ┌ ┐
|
||||||
|
% │ 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}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
|
||||||
|
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
||||||
|
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
||||||
|
|
||||||
|
% Extra imports
|
||||||
|
\usepackage{stmaryrd}
|
||||||
|
\usepackage{algorithm}
|
||||||
|
\usepackage{algpseudocodex}
|
||||||
|
\usepackage{setspace}
|
||||||
|
\usepackage{verbatim}
|
||||||
|
\usepackage{turnstile}
|
||||||
|
\usepackage{forloop}
|
||||||
|
|
||||||
|
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||||
|
|
||||||
|
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
||||||
|
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
|
||||||
|
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
|
||||||
|
\newcommand{\wordbool}{(\Sigma_{\text{bool}})^*}
|
||||||
|
\newcommand{\words}[1]{(\Sigma_{\text{#1}})^*}
|
||||||
|
\newcommand{\word}{\Sigma^*}
|
||||||
|
\newcommand{\wordm}[1]{\Sigma_{\text{#1}}^*}
|
||||||
|
\newcommand{\alphabets}[1]{\Sigma_{\text{#1}}}
|
||||||
|
\newcommand{\alphabetbool}{\Sigma_{\text{bool}}}
|
||||||
|
\newcommand{\tR}{\text{R}}
|
||||||
|
\newcommand{\tC}{\text{C}}
|
||||||
|
\newcommand{\tN}{\text{N}}
|
||||||
|
\newcommand{\bigvdash}[2]{\sststile{#1}{#2}}
|
||||||
|
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Tables │
|
% │ Tables │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1007,41 +1042,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
% Add glossaries functionality
|
|
||||||
|
|
||||||
\newcommand{\setupGlossary}{
|
|
||||||
\usepackage[nonumberlist, toc]{glossaries}
|
|
||||||
\usepackage[nottoc, numbib]{tocbibind}
|
|
||||||
\makenoidxglossaries
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\printGlossary}{
|
|
||||||
\glsaddall
|
|
||||||
\printnoidxglossaries
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ___ _ _____ _ _
|
|
||||||
% ( _ \ _( ) (_ _) ( ) ( )
|
|
||||||
% | (_) )_) |_ | | __ \ \/ /
|
|
||||||
% | _ (| | _ \ | | / __ \ ) (
|
|
||||||
% | (_) ) | |_) ) | | ( ___// /\ \
|
|
||||||
% (____/(_)_ __/ (_) \____)_) (_)
|
|
||||||
|
|
||||||
% Configs if you want to use BibTeX
|
|
||||||
|
|
||||||
\newcommand{\setupBibtex}[1]{
|
|
||||||
\usepackage{biblatex}
|
|
||||||
\usepackage[nottoc, numbib]{tocbibind}
|
|
||||||
\addbibresource{#1}
|
|
||||||
}
|
|
||||||
|
|
||||||
\newcommand{\printbib}{
|
|
||||||
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
|
|
||||||
\printbibliography[title=\translate{Sources}{Quellen}]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ Counter numbering │
|
% │ Counter numbering │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1220,6 +1220,52 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\noverticalspacing}{
|
||||||
|
\abovedisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\belowdisplayskip 1pt plus 2pt minus 1pt
|
||||||
|
\abovedisplayshortskip -10pt
|
||||||
|
\belowdisplayshortskip 1pt plus 2pt minus 1pt
|
||||||
|
\floatsep 1pt plus 2pt minus 1pt
|
||||||
|
\intextsep 1pt plus 2pt minus 1pt
|
||||||
|
\textfloatsep 1pt plus 2pt minus 1pt
|
||||||
|
\abovecaptionskip 2pt
|
||||||
|
\setlist{noitemsep,topsep=1pt,partopsep=0pt}
|
||||||
|
}
|
||||||
|
\newcommand{\smallverticalspacing}{
|
||||||
|
\abovedisplayskip 4pt plus 3pt minus 2pt
|
||||||
|
\belowdisplayskip 5pt plus 5pt minus 2pt
|
||||||
|
\abovedisplayshortskip -5pt
|
||||||
|
\belowdisplayshortskip 3pt plus 4pt minus 2pt
|
||||||
|
\floatsep 4pt plus 3pt minus 2pt
|
||||||
|
\intextsep 4pt plus 3pt minus 2pt
|
||||||
|
\textfloatsep 4pt plus 3pt minus 2pt
|
||||||
|
\abovecaptionskip 4pt
|
||||||
|
\setlist{itemsep=2pt,topsep=2pt,partopsep=1pt}
|
||||||
|
}
|
||||||
|
\newcommand{\mediumverticalspacing}{
|
||||||
|
\abovedisplayskip 7pt plus 4pt minus 3pt
|
||||||
|
\belowdisplayskip 9pt plus 6pt minus 3pt
|
||||||
|
\abovedisplayshortskip 0pt
|
||||||
|
\belowdisplayshortskip 5pt plus 4pt minus 2pt
|
||||||
|
\floatsep 7pt plus 4pt minus 3pt
|
||||||
|
\intextsep 7pt plus 4pt minus 3pt
|
||||||
|
\textfloatsep 7pt plus 4pt minus 3pt
|
||||||
|
\abovecaptionskip 7pt
|
||||||
|
\setlist{itemsep=4pt,topsep=4pt,partopsep=2pt}
|
||||||
|
}
|
||||||
|
\newcommand{\largeverticalspacing}{
|
||||||
|
\abovedisplayskip 13pt plus 5pt minus 4pt
|
||||||
|
\belowdisplayskip 15pt plus 9pt minus 6pt
|
||||||
|
\abovedisplayshortskip 5pt plus 2pt minus 3pt
|
||||||
|
\belowdisplayshortskip 7pt plus 5pt minus 2pt
|
||||||
|
\floatsep 12pt plus 5pt minus 4pt
|
||||||
|
\intextsep 12pt plus 5pt minus 4pt
|
||||||
|
\textfloatsep 12pt plus 5pt minus 4pt
|
||||||
|
\abovecaptionskip 10pt
|
||||||
|
\setlist{itemsep=6pt,topsep=6pt,partopsep=2pt}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Common tcolorboxes │
|
% │ STYLE: Common tcolorboxes │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1270,25 +1316,6 @@
|
|||||||
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
|
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
|
||||||
% │ STYLE: Computer Science │
|
|
||||||
% └ ┘
|
|
||||||
\usepackage{forest}
|
|
||||||
\tikzset{algpxIndentLine/.style={draw=lightgray}}
|
|
||||||
\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}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
% ┌ ┐
|
% ┌ ┐
|
||||||
% │ STYLE: Math │
|
% │ STYLE: Math │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
@@ -1355,49 +1382,22 @@
|
|||||||
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
|
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
|
||||||
|
|
||||||
|
|
||||||
\newcommand{\noverticalspacing}{
|
% ┌ ┐
|
||||||
\abovedisplayskip 1pt plus 2pt minus 1pt
|
% │ STYLE: Computer Science │
|
||||||
\belowdisplayskip 1pt plus 2pt minus 1pt
|
% └ ┘
|
||||||
\abovedisplayshortskip -10pt
|
\usepackage{forest}
|
||||||
\belowdisplayshortskip 1pt plus 2pt minus 1pt
|
\tikzset{algpxIndentLine/.style={draw=lightgray}}
|
||||||
\floatsep 1pt plus 2pt minus 1pt
|
\algrenewcommand{\alglinenumber}[1]{#1}
|
||||||
\intextsep 1pt plus 2pt minus 1pt
|
|
||||||
\textfloatsep 1pt plus 2pt minus 1pt
|
\newenvironment{algo}[1]{
|
||||||
\abovecaptionskip 2pt
|
\begin{algorithm}
|
||||||
\setlist{noitemsep,topsep=1pt,partopsep=0pt}
|
\begin{spacing}{1.2}
|
||||||
}
|
\caption{\textsc{#1}}
|
||||||
\newcommand{\smallverticalspacing}{
|
\begin{algorithmic}[1]
|
||||||
\abovedisplayskip 4pt plus 3pt minus 2pt
|
}{
|
||||||
\belowdisplayskip 5pt plus 5pt minus 2pt
|
\end{algorithmic}
|
||||||
\abovedisplayshortskip -5pt
|
\end{spacing}
|
||||||
\belowdisplayshortskip 3pt plus 4pt minus 2pt
|
\end{algorithm}
|
||||||
\floatsep 4pt plus 3pt minus 2pt
|
|
||||||
\intextsep 4pt plus 3pt minus 2pt
|
|
||||||
\textfloatsep 4pt plus 3pt minus 2pt
|
|
||||||
\abovecaptionskip 4pt
|
|
||||||
\setlist{itemsep=2pt,topsep=2pt,partopsep=1pt}
|
|
||||||
}
|
|
||||||
\newcommand{\mediumverticalspacing}{
|
|
||||||
\abovedisplayskip 7pt plus 4pt minus 3pt
|
|
||||||
\belowdisplayskip 9pt plus 6pt minus 3pt
|
|
||||||
\abovedisplayshortskip 0pt
|
|
||||||
\belowdisplayshortskip 5pt plus 4pt minus 2pt
|
|
||||||
\floatsep 7pt plus 4pt minus 3pt
|
|
||||||
\intextsep 7pt plus 4pt minus 3pt
|
|
||||||
\textfloatsep 7pt plus 4pt minus 3pt
|
|
||||||
\abovecaptionskip 7pt
|
|
||||||
\setlist{itemsep=4pt,topsep=4pt,partopsep=2pt}
|
|
||||||
}
|
|
||||||
\newcommand{\largeverticalspacing}{
|
|
||||||
\abovedisplayskip 13pt plus 5pt minus 4pt
|
|
||||||
\belowdisplayskip 15pt plus 9pt minus 6pt
|
|
||||||
\abovedisplayshortskip 5pt plus 2pt minus 3pt
|
|
||||||
\belowdisplayshortskip 7pt plus 5pt minus 2pt
|
|
||||||
\floatsep 12pt plus 5pt minus 4pt
|
|
||||||
\intextsep 12pt plus 5pt minus 4pt
|
|
||||||
\textfloatsep 12pt plus 5pt minus 4pt
|
|
||||||
\abovecaptionskip 10pt
|
|
||||||
\setlist{itemsep=6pt,topsep=6pt,partopsep=2pt}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user