Start reworking helpers
This commit is contained in:
23
src/config/colors.sty
Normal file
23
src/config/colors.sty
Normal file
@@ -0,0 +1,23 @@
|
||||
% ┌ ┐
|
||||
% │ Colours │
|
||||
% └ ┘
|
||||
% 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}
|
||||
\colorlet{theoremcolor}{ForestGreen}
|
||||
\colorlet{lemmacolor}{Aquamarine}
|
||||
\colorlet{corollarycolor}{teal}
|
||||
\colorlet{axiomcolor}{JungleGreen}
|
||||
\colorlet{factcolor}{SeaGreen}
|
||||
\colorlet{propositioncolor}{Cyan}
|
||||
\colorlet{examplecolor}{gray}
|
||||
\colorlet{formulacolor}{red}
|
||||
\colorlet{remarkcolor}{green}
|
||||
\colorlet{proofcolor}{magenta}
|
||||
\colorlet{intuitioncolor}{Emerald}
|
||||
\colorlet{termcolor}{orange}
|
||||
\colorlet{notationcolor}{Peach}
|
||||
\colorlet{taskcolor}{gray}
|
||||
\colorlet{usagecolor}{LimeGreen}
|
||||
\colorlet{recallcolor}{yellow}
|
||||
\colorlet{propertiescolor}{purple}
|
||||
39
src/config/main.sty
Normal file
39
src/config/main.sty
Normal file
@@ -0,0 +1,39 @@
|
||||
% ┌ ┐
|
||||
% │ General config │
|
||||
% └ ┘
|
||||
% Configure your author name here
|
||||
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
|
||||
\newcommand{\authorHeaders}{Janis Hutz}
|
||||
|
||||
% Configure your address here
|
||||
\newcommand{\name}{Janis Hutz}
|
||||
\newcommand{\street}{Street}
|
||||
\newcommand{\city}{City}
|
||||
\newcommand{\countrycode}{CH}
|
||||
|
||||
|
||||
% ┌ ┐
|
||||
% │ Rendering │
|
||||
% └ ┘
|
||||
% Short descriptors are generated from the naming defined in naming.sty
|
||||
% You may here configure how they are generated. #1 is the full name.
|
||||
\newcommand{\shortDescriptorNameTemplate}[1]{\StrBefore[1]{#1}}
|
||||
|
||||
% Decide if the numbering should show a space preceding it.
|
||||
\newcommand{\useSpaceBeforeNumbering}{true}
|
||||
|
||||
% 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)
|
||||
% - #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)}}
|
||||
|
||||
% 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}}
|
||||
|
||||
% background command config (draws a small box around the content)
|
||||
\newcommand{\backgroundPadding}{2pt}
|
||||
\newcommand{\backgroundRounding}{0.1pt}
|
||||
41
src/config/naming.sty
Normal file
41
src/config/naming.sty
Normal file
@@ -0,0 +1,41 @@
|
||||
% ┌ ┐
|
||||
% │ Naming │
|
||||
% └ ┘
|
||||
% Here you may specify how each descriptor is named
|
||||
\newcommand{\definitionNamingEN}{Definition}
|
||||
\newcommand{\theoremNamingEN}{Theorem}
|
||||
\newcommand{\lemmaNamingEN}{Lemma}
|
||||
\newcommand{\corollaryNamingEN}{Corollary}
|
||||
\newcommand{\axiomNamingEN}{Axiom}
|
||||
\newcommand{\factNamingEN}{Fact}
|
||||
\newcommand{\propositionNamingEN}{Proposition}
|
||||
\newcommand{\exampleNamingEN}{Example}
|
||||
\newcommand{\formulaNamingEN}{Formula}
|
||||
\newcommand{\remarkNamingEN}{Remark}
|
||||
\newcommand{\proofNamingEN}{Proof}
|
||||
\newcommand{\intuitionNamingEN}{Intuition}
|
||||
\newcommand{\termNamingEN}{Term}
|
||||
\newcommand{\notationNamingEN}{Notation}
|
||||
\newcommand{\taskNamingEN}{Task}
|
||||
\newcommand{\usageNamingEN}{Usage}
|
||||
\newcommand{\recallNamingEN}{Recall}
|
||||
\newcommand{\propertiesNamingEN}{Properties}
|
||||
|
||||
\newcommand{\definitionNamingDE}{Definition}
|
||||
\newcommand{\theoremNamingDE}{Theorem}
|
||||
\newcommand{\lemmaNamingDE}{Lemma}
|
||||
\newcommand{\corollaryNamingDE}{Korollar}
|
||||
\newcommand{\axiomNamingDE}{Axiom}
|
||||
\newcommand{\factNamingDE}{Fakt}
|
||||
\newcommand{\propositionNamingDE}{Satz}
|
||||
\newcommand{\exampleNamingDE}{Beispiel}
|
||||
\newcommand{\formulaNamingDE}{Formel}
|
||||
\newcommand{\remarkNamingDE}{Bemerkung}
|
||||
\newcommand{\proofNamingDE}{Beweis}
|
||||
\newcommand{\intuitionNamingDE}{Intuition}
|
||||
\newcommand{\termNamingDE}{Begriff}
|
||||
\newcommand{\notationNamingDE}{Notation}
|
||||
\newcommand{\taskNamingDE}{Aufgabe}
|
||||
\newcommand{\usageNamingDE}{Nutzung}
|
||||
\newcommand{\recallNamingDE}{Repetition}
|
||||
\newcommand{\propertiesNamingDE}{Eigenschaften}
|
||||
37
src/config/numbering.sty
Normal file
37
src/config/numbering.sty
Normal file
@@ -0,0 +1,37 @@
|
||||
% ┌ ┐
|
||||
% │ Numbering │
|
||||
% └ ┘
|
||||
% Set a preset, can be combined, separate, separatedef (all combined but definitions), custom 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)
|
||||
% - subsubsubsection (section.subsection.subsubsection.subsubsubsection.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}
|
||||
47
src/core.sty
Normal file
47
src/core.sty
Normal file
@@ -0,0 +1,47 @@
|
||||
% Package imports
|
||||
\RequirePackage[table, dvipsnames]{xcolor}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{subcaption}
|
||||
\RequirePackage[export]{adjustbox}
|
||||
\RequirePackage[most]{tcolorbox}
|
||||
\RequirePackage{cancel}
|
||||
\RequirePackage{dsfont}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{mathrsfs}
|
||||
\RequirePackage{lipsum}
|
||||
\RequirePackage{ulem}
|
||||
\RequirePackage{soul}
|
||||
\RequirePackage{parskip}
|
||||
\RequirePackage{fancyhdr}
|
||||
\RequirePackage{lastpage}
|
||||
\RequirePackage{tocloft}
|
||||
\RequirePackage{wasysym}
|
||||
\RequirePackage{wrapfig}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage{ifthen}
|
||||
\RequirePackage[hidelinks]{hyperref}
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{gensymb}
|
||||
\RequirePackage{pifont}
|
||||
\RequirePackage{xstring}
|
||||
|
||||
|
||||
% 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}}}
|
||||
|
||||
% 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}}
|
||||
126
src/core/core.tex
Normal file
126
src/core/core.tex
Normal file
@@ -0,0 +1,126 @@
|
||||
|
||||
% ▄▄█▀▀▀█▄█
|
||||
% ▄██▀ ▀█
|
||||
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
||||
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
|
||||
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
|
||||
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
|
||||
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
||||
|
||||
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
|
||||
|
||||
% Imports %
|
||||
\typeout{[Core] Importing!}
|
||||
|
||||
|
||||
% Language Switching. Currently only English and German are supported
|
||||
% See docs for how to use
|
||||
\newcounter{lang}
|
||||
\typeout{Loading helpers}
|
||||
|
||||
% TODO: Fix this up
|
||||
\newcommand{\setLang}[1]{
|
||||
\edef\lang{#1}
|
||||
\edef\en{en}
|
||||
\edef\de{de}
|
||||
\ifx\lang\en
|
||||
\typeout{[Lang Switcher] Loading English}
|
||||
\setcounter{lang}{1}
|
||||
\else
|
||||
\ifx\lang\de
|
||||
\typeout{[Lang Switcher] Loading German}
|
||||
\setcounter{lang}{2}
|
||||
\input{\dir/main/lang/de}
|
||||
\else
|
||||
\typeout{[Lang Switcher] No such language!}
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
|
||||
\newcommand{\loadLang}{
|
||||
\ifnum\value{lang}<2{
|
||||
\typeout{[Lang Loader] Loaded English}
|
||||
}\else {
|
||||
\typeout{[Lang Loader] Loaded German}
|
||||
\setcounter{lang}{2}
|
||||
}
|
||||
\fi
|
||||
}
|
||||
|
||||
|
||||
% Create config counters / variables. See the config file for changing them
|
||||
\newcounter{numberingConfig}
|
||||
\newcounter{numberSubsections}
|
||||
\newcounter{descriptorShadeStrength}
|
||||
\newcounter{shadeStrength}
|
||||
|
||||
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
|
||||
\newcommand{\setup}[1]{
|
||||
\typeout{[Setup] Setting up...}
|
||||
\loadLang
|
||||
\RequirePackage[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}}
|
||||
}
|
||||
}
|
||||
|
||||
% Start document command (required)
|
||||
\newcommand{\startDocument}{
|
||||
\maketitle
|
||||
\pagestyle{fancy}
|
||||
\thispagestyle{fancy}
|
||||
}
|
||||
|
||||
% Set up the latex document, only configuring the author, title and page size
|
||||
\newcommand{\setupBarebones}[1]{
|
||||
\loadLang
|
||||
\RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
|
||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||
\newcommand{\setupCheatSheet}[1]{
|
||||
\loadLang
|
||||
\RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
|
||||
|
||||
% ────────────────────────────────────────────────────────────────────
|
||||
% ╭────────────────────────────────────────────────╮
|
||||
% │ Translatation │
|
||||
% ╰────────────────────────────────────────────────╯
|
||||
\newcommand{\translate}[2]{\ifnum\value{lang}<2{#1}\else{#2}\fi}
|
||||
\newcommand{\tr}[2]{\translate{#1}{#2}}
|
||||
|
||||
% ┌ ┐
|
||||
% │ 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 }}
|
||||
32
src/core/cs.tex
Normal file
32
src/core/cs.tex
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
|
||||
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
||||
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
||||
|
||||
% Extra imports
|
||||
\RequirePackage{stmaryrd}
|
||||
\RequirePackage{algorithm}
|
||||
\RequirePackage{algpseudocodex}
|
||||
\RequirePackage{setspace}
|
||||
\RequirePackage{verbatim}
|
||||
\RequirePackage{turnstile}
|
||||
\RequirePackage{forloop}
|
||||
|
||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||
|
||||
\newcommand{\timecomplexity}{\fhlc{orange}{\ifnum\value{lang}<2{Time complexity}\else {Laufzeit}\fi} \hspace{0.5em}}
|
||||
\newcommand{\tc}[1]{\timecomplexity $\Theta\left(#1\right)$}
|
||||
\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}}}
|
||||
21
src/core/index.tex
Normal file
21
src/core/index.tex
Normal file
@@ -0,0 +1,21 @@
|
||||
% ▄▄
|
||||
% ▀████▀ ▀███
|
||||
% ██ ██
|
||||
% ██ ▀████████▄ ▄█▀▀███ ▄▄█▀██▀██▀ ▀██▀
|
||||
% ██ ██ ██ ▄██ ██ ▄█▀ ██ ▀██ ▄█▀
|
||||
% ██ ██ ██ ███ ██ ██▀▀▀▀▀▀ ███
|
||||
% ██ ██ ██ ▀██ ██ ██▄ ▄ ▄█▀ ██▄
|
||||
% ▄████▄████ ████▄ ▀████▀███▄ ▀█████▀██▄ ▄██▄
|
||||
|
||||
|
||||
% For using index package
|
||||
\newcommand{\prepareIndex}{
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage{imakeidx}
|
||||
\makeindex
|
||||
}
|
||||
|
||||
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
|
||||
\newcommand{\addIndexItalic}[1]{\textit{\index{\MakeLowercase{#1}} #1}}
|
||||
\newcommand{\addIndex}[1]{\index{\MakeLowercase{#1}} #1}
|
||||
|
||||
83
src/core/math.tex
Normal file
83
src/core/math.tex
Normal file
@@ -0,0 +1,83 @@
|
||||
% ▄▄
|
||||
% ▀████▄ ▄███▀ ██ ███
|
||||
% ████ ████ ██ ██
|
||||
% █ ██ ▄█ ██ ▄█▀██▄ ██████ ███████▄
|
||||
% █ ██ █▀ ██ ██ ██ ██ ██ ██
|
||||
% █ ██▄█▀ ██ ▄█████ ██ ██ ██
|
||||
% █ ▀██▀ ██ ██ ██ ██ ██ ██
|
||||
% ▄███▄ ▀▀ ▄████▄████▀██▄ ▀███████ ████▄
|
||||
|
||||
|
||||
% BB shortcuts (for number spaces, etc)
|
||||
\newcommand{\C}{\mathbb{C}}
|
||||
\newcommand{\D}{\mathbb{D}}
|
||||
\newcommand{\E}{\mathbb{E}}
|
||||
\newcommand{\I}{\mathbb{I}}
|
||||
\newcommand{\J}{\mathbb{J}}
|
||||
\newcommand{\N}{\mathbb{N}}
|
||||
\newcommand{\Q}{\mathbb{Q}}
|
||||
\newcommand{\R}{\mathbb{R}}
|
||||
\newcommand{\V}{\mathbb{V}}
|
||||
\newcommand{\Z}{\mathbb{Z}}
|
||||
|
||||
% Caligraphic
|
||||
\newcommand{\cA}{\mathcal{A}}
|
||||
\newcommand{\cB}{\mathcal{B}}
|
||||
\newcommand{\cC}{\mathcal{C}}
|
||||
\newcommand{\cD}{\mathcal{D}}
|
||||
\newcommand{\cE}{\mathcal{E}}
|
||||
\newcommand{\cF}{\mathcal{F}}
|
||||
\newcommand{\cG}{\mathcal{G}}
|
||||
\newcommand{\cH}{\mathcal{H}}
|
||||
\newcommand{\cI}{\mathcal{I}}
|
||||
\newcommand{\cJ}{\mathcal{J}}
|
||||
\newcommand{\cK}{\mathcal{K}}
|
||||
\newcommand{\cL}{\mathcal{L}}
|
||||
\newcommand{\cM}{\mathcal{M}}
|
||||
\newcommand{\cN}{\mathcal{N}}
|
||||
\newcommand{\cO}{\mathcal{O}}
|
||||
\newcommand{\cP}{\mathcal{P}}
|
||||
\newcommand{\cQ}{\mathcal{Q}}
|
||||
\newcommand{\cR}{\mathcal{R}}
|
||||
\newcommand{\cS}{\mathcal{S}}
|
||||
\newcommand{\cT}{\mathcal{T}}
|
||||
\newcommand{\cU}{\mathcal{U}}
|
||||
\newcommand{\cV}{\mathcal{V}}
|
||||
\newcommand{\cW}{\mathcal{W}}
|
||||
\newcommand{\cX}{\mathcal{X}}
|
||||
\newcommand{\cY}{\mathcal{Y}}
|
||||
\newcommand{\cZ}{\mathcal{Z}}
|
||||
|
||||
% other useful shortcuts
|
||||
\newcommand{\8}{\infty}
|
||||
\newcommand{\dx}{\text{ d}}
|
||||
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
||||
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
||||
\newcommand{\hastoeq}{\overset{!}{=}}
|
||||
\newcommand{\Leftrightarrowequiv}{\overset{\cdot}{\Leftrightarrow}}
|
||||
\newcommand{\Longleftrightarrowequiv}{\overset{\cdot}{\Longleftrightarrow}}
|
||||
\newcommand{\Rightarrowequiv}{\overset{\cdot}{\Rightarrow}}
|
||||
\newcommand{\Leftarrowequiv}{\overset{\cdot}{\Leftarrow}}
|
||||
\newcommand{\defAs}{\overset{\text{def}}{=}}
|
||||
\newcommand{\der}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
|
||||
\newcommand{\dern}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
|
||||
\newcommand{\parder}[1]{\frac{\partial}{\partial #1}}
|
||||
\newcommand{\pardern}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
|
||||
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
|
||||
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
|
||||
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
||||
\newcommand{\mbeq}{\overset{!}{=}}
|
||||
\newcommand{\lcm}{\text{lcm}}
|
||||
\newcommand{\limit}[2]{\lim_{#1 \rightarrow #2}}
|
||||
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
||||
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
||||
\newcommand{\limni}{\limit{n}{\infty}}
|
||||
\newcommand{\limnz}{\limit{n}{0}}
|
||||
\newcommand{\limxz}{\limit{x_0}{0}}
|
||||
\newcommand{\limhz}{\limit{h}{0}}
|
||||
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
||||
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
||||
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
|
||||
\DeclareMathOperator\arctanh{arctanh}
|
||||
\DeclareMathOperator\arccosh{arccosh}
|
||||
\DeclareMathOperator\arcsinh{arcsinh}
|
||||
34
src/core/tables.tex
Normal file
34
src/core/tables.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
% _____ _ _
|
||||
% (_ _) ( ) (_ )
|
||||
% | | _ _| |_ | | __ ___
|
||||
% | | / _ ) _ \ | | / __ \ __)
|
||||
% | | ( (_| | |_) )| |( ___/__ \
|
||||
% (_) \__ _)_ __/(___)\____)____/
|
||||
|
||||
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{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}
|
||||
}
|
||||
16
src/janishutz-helpers.sty
Normal file
16
src/janishutz-helpers.sty
Normal file
@@ -0,0 +1,16 @@
|
||||
%%
|
||||
%% Copyright (C) 2026 Janis Hutz
|
||||
%%
|
||||
%% This file may be distributed and/or modified under the
|
||||
%% conditions of the LaTeX Project Public License, either
|
||||
%% version 1.3 of this license or (at your option) any later
|
||||
%% version. The latest version of this license is in:
|
||||
%% http://www.latex-project.org/lppl.txt
|
||||
%% and version 1.3c or later is part of all distributions of
|
||||
%% LaTeX version 2008-05-04 or later.
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2026-02-10 v1.0.0]
|
||||
|
||||
\newcounter{descriptorShadeStrength}
|
||||
\newcounter{shadeStrength}
|
||||
1
src/lang/de.tex
Normal file
1
src/lang/de.tex
Normal file
@@ -0,0 +1 @@
|
||||
\RequirePackage[ngerman]{babel}
|
||||
32
src/style.sty
Normal file
32
src/style.sty
Normal file
@@ -0,0 +1,32 @@
|
||||
% Global style configs for tcolorbox (to reduce bloat)
|
||||
\newcommand{\usetcolorboxes}{
|
||||
\tcbset{
|
||||
mainboxstyle/.style={
|
||||
arc=3mm,
|
||||
colback=red!5!white,
|
||||
colframe=red!75!black,
|
||||
colbacktitle=red!75!black,
|
||||
fonttitle=\bfseries,
|
||||
enhanced,
|
||||
attach boxed title to top left={yshift=-2mm,xshift=5mm},
|
||||
breakable,
|
||||
top=0.4cm,
|
||||
}
|
||||
}
|
||||
\tikzset{
|
||||
overlaystyle/.style={
|
||||
draw=red!75!black,
|
||||
thick,
|
||||
fill=red!75!black,
|
||||
left,
|
||||
anchor=east,
|
||||
text=white,
|
||||
rounded corners=1mm,
|
||||
font=\bfseries,
|
||||
xshift=-5mm,
|
||||
yshift=1mm,
|
||||
inner xsep=3mm,
|
||||
inner ysep=1.5mm
|
||||
}
|
||||
}
|
||||
}
|
||||
57
src/style/common.tex
Normal file
57
src/style/common.tex
Normal file
@@ -0,0 +1,57 @@
|
||||
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
%██░▄▄▀█▀▄▄▀█░▄▀▄░█░▄▀▄░█▀▄▄▀█░▄▄▀
|
||||
%██░████░██░█░█▄█░█░█▄█░█░██░█░██░
|
||||
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
|
||||
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
|
||||
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
|
||||
|
||||
\newtcolorbox{remarks}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Remarks }{Bemerkungen }};},#1}
|
||||
|
||||
\newtcolorbox{guides}[3][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=red!75!black,,fill=red!75!black] at (frame.north east) {\large #3};},#1}
|
||||
|
||||
|
||||
\newtcolorbox{properties}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Properties }{Eigenschaften }};},#1}
|
||||
|
||||
\newtcolorbox{restrictions}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Restrictions }{Einschränkungen }};},#1}
|
||||
|
||||
\newtcolorbox{limitations}[2][]{mainboxstyle,colback=purple!5!white,colframe=purple!75!black,colbacktitle=purple!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=purple!75!black,,fill=purple!75!black] at (frame.north east) {\large \translate{Limitations }{Limitierungen }};},#1}
|
||||
|
||||
\newtcolorbox{intuition}[2][]{mainboxstyle,colback=Emerald!5!white,colframe=Emerald!75!black,colbacktitle=Emerald!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
|
||||
|
||||
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
|
||||
|
||||
|
||||
% Terms and notation
|
||||
\newtcolorbox{terms}[2][]{mainboxstyle,colback=orange!5!white,colframe=orange!75!black,colbacktitle=orange!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=orange!75!black,,fill=orange!75!black] at (frame.north east) {\large \translate{Terms }{Begriffe }};},#1}
|
||||
|
||||
\newtcolorbox{notation}[2][]{mainboxstyle,colback=Peach!5!white,colframe=Peach!75!black,colbacktitle=Peach!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Peach!75!black,,fill=Peach!75!black] at (frame.north east) {\large Notation};},#1}
|
||||
|
||||
|
||||
\newtcolorbox{usage}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
|
||||
|
||||
|
||||
% Task
|
||||
\newtcolorbox{task}[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{Task}{Aufgabe}};},#1}
|
||||
|
||||
|
||||
% Proof
|
||||
\newtcolorbox{proof}[2][]{mainboxstyle,colback=magenta!5!white,colframe=magenta!75!black,colbacktitle=magenta!75!black,title={\large #2},overlay={\node[overlaystyle,draw=magenta!75!black,fill=magenta!75!black] at (frame.north east) {\large \translate{Proof}{Beweis}};},#1}
|
||||
|
||||
|
||||
% General
|
||||
\newtcolorbox{general}[4][]{mainboxstyle,colback=#4!5!white,colframe=#4!75!black,colbacktitle=#4!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=#4!75!black,,fill=#4!75!black] at (frame.north east) {\large #3};},#1}
|
||||
|
||||
% Simple
|
||||
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
|
||||
404
src/style/counters.tex
Normal file
404
src/style/counters.tex
Normal file
@@ -0,0 +1,404 @@
|
||||
|
||||
% ▄▄· ▄• ▄▌ ▐ ▄ ▄▄▄▄▄▄▄▄ .▄▄▄
|
||||
% ▐█ ▌▪ ▄█▀▄ █▪██▌•█▌▐█•██ ▀▄.▀·▀▄ █·
|
||||
% ██ ▄▄▐█▌.▐▌█▌▐█▌▐█▐▐▌ ▐█.▪▐▀▀▪▄▐▀▀▄
|
||||
% ▐███▌▐█▌.▐▌▐█▄█▌██▐█▌ ▐█▌·▐█▄▄▌▐█•█▌
|
||||
% ·▀▀▀ ▀█▄▀▪ ▀▀▀ ▀▀ █▪ ▀▀▀ ▀▀▀ .▀ ▀
|
||||
|
||||
\RequirePackage{xstring}
|
||||
\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}{}
|
||||
\renewcommand{\thefigure}{}
|
||||
\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)}}}
|
||||
25
src/style/cs.tex
Normal file
25
src/style/cs.tex
Normal file
@@ -0,0 +1,25 @@
|
||||
% ▄▄
|
||||
% ▄▄█▀▀▀█▄█ ██ ▄█▀▀▀█▄█ ██
|
||||
% ▄██▀ ▀█ ██ ▄██ ▀█
|
||||
% ██▀ ▀ ▄██▀██▄▀████████▄█████▄ ▀████████▄▀███ ▀███ ██████ ▄▄█▀██▀███▄███ ▀███▄ ▄██▀██▀███ ▄▄█▀██▀████████▄ ▄██▀██ ▄▄█▀██
|
||||
% ██ ██▀ ▀██ ██ ██ ██ ██ ▀██ ██ ██ ██ ▄█▀ ██ ██▀ ▀▀ ▀█████▄█▀ ██ ██ ▄█▀ ██ ██ ██ ██▀ ██ ▄█▀ ██
|
||||
% ██▄ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀▀▀▀▀ ██ ▄ ▀███ ██ ██▀▀▀▀▀▀ ██ ██ ██ ██▀▀▀▀▀▀
|
||||
% ▀██▄ ▄▀██▄ ▄██ ██ ██ ██ ██ ▄██ ██ ██ ██ ██▄ ▄ ██ ██ ███▄ ▄ ██ ██▄ ▄ ██ ██ ██▄ ▄██▄ ▄
|
||||
% ▀▀█████▀ ▀█████▀▄████ ████ ████▄ ██████▀ ▀████▀███▄ ▀████ ▀█████▀████▄ █▀█████▀ █████▀▄████▄ ▀█████▀████ ████▄█████▀ ▀█████▀
|
||||
% ██
|
||||
% ▄████▄
|
||||
|
||||
\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}
|
||||
}
|
||||
10
src/style/language.tex
Normal file
10
src/style/language.tex
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
% ░█▒░▒▄▀▄░█▄░█░▄▀▒░█▒█▒▄▀▄░▄▀▒▒██▀░░░▄▀▀░▀█▀░▀▄▀░█▒░▒██▀
|
||||
% ▒█▄▄░█▀█░█▒▀█░▀▄█░▀▄█░█▀█░▀▄█░█▄▄▒░▒▄██░▒█▒░▒█▒▒█▄▄░█▄▄
|
||||
|
||||
% Specific styles for language summaries and docs
|
||||
\newtcolorbox{conjugation}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large \translate{Conjugation}{Konjugation}};},#1}
|
||||
|
||||
\newtcolorbox{forms}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}
|
||||
11
src/style/math.tex
Normal file
11
src/style/math.tex
Normal file
@@ -0,0 +1,11 @@
|
||||
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
|
||||
% ·██ ▐███▪▐█ ▀█ •██ ██▪▐█ ▐█ ▀. •██ ▐█▪██▌██• ▀▄.▀·
|
||||
% ▐█ ▌▐▌▐█·▄█▀▀█ ▐█.▪██▀▀█ ▄▀▀▀█▄ ▐█.▪▐█▌▐█▪██ ▪ ▐▀▀▪▄
|
||||
% ██ ██▌▐█▌▐█▪ ▐▌ ▐█▌·██▌▐▀ ▐█▄▪▐█ ▐█▌· ▐█▀·.▐█▌ ▄▐█▄▄▌
|
||||
% ▀▀ █▪▀▀▀ ▀ ▀ ▀▀▀ ▀▀▀ · ▀▀▀▀ ▀▀▀ ▀ • .▀▀▀ ▀▀▀
|
||||
|
||||
% Replace some commonly used commands with better ones
|
||||
\renewcommand{\vec}[1]{\overrightarrow{#1}}
|
||||
\renewcommand{\hat}[1]{\widehat{#1}}
|
||||
\renewcommand{\tilde}[1]{\widetilde{#1}}
|
||||
\newcommand{\proven}{$\hspace{17cm}\square$}
|
||||
52
src/style/style.tex
Normal file
52
src/style/style.tex
Normal file
@@ -0,0 +1,52 @@
|
||||
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
|
||||
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
|
||||
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
|
||||
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
|
||||
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
|
||||
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
|
||||
%███ ██████ █████ ████ ███ ███
|
||||
%██████████████████████ ███████████████████
|
||||
|
||||
% -------------------- %
|
||||
% Small style elements %
|
||||
% -------------------- %
|
||||
\newcommand{\setFont}[1]{\fontfamily{#1}\selectfont}
|
||||
\newcommand{\setFontType}[1]{
|
||||
\ifthenelse{\equal{#1}{mono}}{
|
||||
\renewcommand{\familydefault}{\ttdefault}
|
||||
}{
|
||||
\ifthenelse{\equal{#1}{serif}}{
|
||||
\renewcommand{\familydefault}{\rmdefault}
|
||||
}{
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
}
|
||||
}
|
||||
}
|
||||
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
||||
\newcommand{\drmvspace}{\vspace{-1pc}}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\newcommand{\TODO}{\color{red} \hl{TODO:} \color{black}}
|
||||
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
|
||||
\renewcommand{\quote}[1]{``\textit{#1}''}
|
||||
|
||||
% Spacing (horizontal)
|
||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||
\newcommand{\mediumhspace}{\hspace{5mm}}
|
||||
\newcommand{\largehspace}{\hspace{1cm}}
|
||||
|
||||
% ----------------- %
|
||||
% Table of contents %
|
||||
% ----------------- %
|
||||
|
||||
% Print a table of contents as a tcolorbox
|
||||
\newcommand{\printtoc}[1]{
|
||||
\renewcommand{\cfttoctitlefont}{}
|
||||
\renewcommand{\cftaftertoctitle}{\vspace{-0.75cm}}
|
||||
\renewcommand{\contentsname}{}
|
||||
\begin{tcolorbox}[colback=black!5!white,colbacktitle=#1!75!black,coltitle=black,enhanced,attach boxed title to top center={yshift=-2mm},
|
||||
title={\Large \ifnum\value{lang}<2{Contents}\else {Inhaltsverzeichnis}\fi},fonttitle=\bfseries,breakable]
|
||||
\hspace{1cm}
|
||||
\tableofcontents
|
||||
\end{tcolorbox}
|
||||
}
|
||||
Reference in New Issue
Block a user