Compare commits
26 Commits
f70ce6d2b3
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 5b1b65b0d8 | |||
| 331bd01b8d | |||
| 9ff16fa182 | |||
| 8442ac072a | |||
| 97e653b455 | |||
| a808d2e61b | |||
| d2165eb986 | |||
| a1aed89ee6 | |||
| 1385e189d9 | |||
| 30f1781feb | |||
| a58464619c | |||
| 6a889e3c67 | |||
| 83c588e53d | |||
| c5043b8116 | |||
| cbc028b75a | |||
| c8a2209999 | |||
| 94884a3646 | |||
| a113dceff2 | |||
| bcd732c392 | |||
| 212ee21521 | |||
| 3b3144af9c | |||
| 0af534727c | |||
| d0c4d54e9f | |||
| 2c7f5a4dcf | |||
| 7394606963 | |||
| a7d9915383 |
@@ -5,8 +5,9 @@
|
||||
|
||||
This repository contains a collection of LaTeX files, helping you get started with LaTeX quickly.
|
||||
|
||||
Breaking change in the current version: the time complexity commands now require the math environment. You may use the following vim-regex to fix issues in your code:
|
||||
`:%s/ \\tc\([olt]\){\(.*)}\([, .\n]\)/ \$\\tc\1{\2}\$\3/g` (execute first) and `:%s/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g`
|
||||
# New import scheme
|
||||
I have done some tweaks to support a new import scheme, making imports much more flexible
|
||||
|
||||
|
||||
|
||||
# Getting started
|
||||
@@ -25,4 +26,4 @@ The editors are ordered in terms of ease of use and my personal preference list
|
||||
<a href="https://store.janishutz.com/donate" target="_blank"><img src="https://store-cdn.janishutz.com/static/support-me.jpg" width="150px"></a>
|
||||
</div>
|
||||
|
||||
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2024 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2025 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
|
||||
58
build.sh
Executable file
58
build.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "
|
||||
▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
|
||||
█ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
|
||||
█ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
|
||||
█ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
|
||||
█ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
|
||||
█ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
|
||||
█▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
|
||||
|
||||
==> Building <==
|
||||
|
||||
"
|
||||
|
||||
mkdir dist/
|
||||
cat ./janishutz-helpers.sty >./dist/janishutz-helpers-minimal.sty
|
||||
|
||||
# Build minimal scope
|
||||
echo "" >>./dist/janishutz-helpers-minimal.sty
|
||||
cat ./config/config.tex >>./dist/janishutz-helpers-minimal.sty
|
||||
echo "" >>./dist/janishutz-helpers-minimal.sty
|
||||
cat ./main/core.tex >>./dist/janishutz-helpers-minimal.sty
|
||||
echo "" >>./dist/janishutz-helpers-minimal.sty
|
||||
cat ./main/style/style.tex >>./dist/janishutz-helpers-minimal.sty
|
||||
echo "" >>./dist/janishutz-helpers-minimal.sty
|
||||
cat ./main/style/common.tex >>./dist/janishutz-helpers-minimal.sty
|
||||
|
||||
# Build recommended
|
||||
cat ./dist/janishutz-helpers-minimal.sty >./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/math.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/cs.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/index.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/style/counters.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/style/cs.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/style/math.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./main/style/language.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./extra/bib.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
echo "" >>./dist/janishutz-helpers-recommended.sty
|
||||
cat ./extra/glossary.tex >>./dist/janishutz-helpers-recommended.sty
|
||||
|
||||
# Build full
|
||||
cat ./dist/janishutz-helpers-recommended.sty >./dist/janishutz-helpers-full.sty
|
||||
echo "" >>./dist/janishutz-helpers-full.sty
|
||||
cat ./extra/minted.tex >>./dist/janishutz-helpers-full.sty
|
||||
|
||||
# Copy letter
|
||||
cp ./scopes/letter.tex ./dist/janishutz-helpers-letters.sty
|
||||
|
||||
echo "==> Done"
|
||||
5
dist/full.tex
vendored
5
dist/full.tex
vendored
@@ -1,5 +0,0 @@
|
||||
\newcommand{\loadFull}{
|
||||
\input{\dir/dist/recommended.tex}
|
||||
\loadRecommended
|
||||
\input{\dir/extra/minted.tex}
|
||||
}
|
||||
1021
dist/janishutz-helpers-full.sty
vendored
Normal file
1021
dist/janishutz-helpers-full.sty
vendored
Normal file
File diff suppressed because it is too large
Load Diff
372
dist/janishutz-helpers-minimal.sty
vendored
Normal file
372
dist/janishutz-helpers-minimal.sty
vendored
Normal file
@@ -0,0 +1,372 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2.0.0]
|
||||
|
||||
% ___ ___
|
||||
% ( _ \ / ___)_
|
||||
% | ( (_) _ ___ | (__ (_) __
|
||||
% | | _ / _ \/ _ \ __)| |/ _ \
|
||||
% | (_( ) (_) ) ( ) | | | | (_) |
|
||||
% (____/ \___/(_) (_)_) (_)\__ |
|
||||
% ( )_) |
|
||||
% \___/
|
||||
|
||||
% To be loaded *after* main/core.tex
|
||||
|
||||
% 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}
|
||||
|
||||
|
||||
% Configure definition, lemma, theorem, etc numbering behaviour. 1 = Individual, 2 = Combined (apart from Definition), 3 = Combined
|
||||
\setcounter{numberingConfig}{1}
|
||||
|
||||
% Configure if for definitions, lemmas, etc, numbering should be (0) = <section>.<number> or (1) = <section>.<subsection>.<number> or (2) = <section>.<subsection>.<subsubsection>.<number>
|
||||
\setcounter{numberSubsections}{0}
|
||||
|
||||
% Set the default language.
|
||||
\setLang{en}
|
||||
|
||||
% Set the default command for theorem translation
|
||||
\newcommand{\theoremde}{Satz}
|
||||
|
||||
|
||||
% ----- %
|
||||
% STYLE %
|
||||
% ----- %
|
||||
|
||||
% The colour-saturation of the short / inline descriptors (default = 40)
|
||||
\setcounter{descriptorShadeStrength}{40}
|
||||
|
||||
% The colour-saturation of the shade command (default = 20)
|
||||
\setcounter{shadeStrength}{20}
|
||||
|
||||
|
||||
% ▄▄█▀▀▀█▄█
|
||||
% ▄██▀ ▀█
|
||||
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
||||
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
|
||||
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
|
||||
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
|
||||
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
||||
|
||||
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
|
||||
|
||||
% Imports %
|
||||
\typeout{[Core] Importing!}
|
||||
\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}
|
||||
|
||||
|
||||
% 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 }}
|
||||
|
||||
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
|
||||
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
|
||||
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
|
||||
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
|
||||
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
|
||||
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
|
||||
%███ ██████ █████ ████ ███ ███
|
||||
%██████████████████████ ███████████████████
|
||||
|
||||
% 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
% -------------------- %
|
||||
% 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}''}
|
||||
|
||||
% Add a color shade (similar to \fhlc, but nicer boxes)
|
||||
\newcommand{\background}[3]{\tcbox[on line,
|
||||
boxsep=2pt,
|
||||
left=0pt,
|
||||
right=0pt,
|
||||
top=0pt,
|
||||
bottom=0pt,
|
||||
colframe=white,
|
||||
frame empty,
|
||||
colback=#1!#2!white,
|
||||
highlight math style={enhanced}
|
||||
] {\textbf{#3}}}
|
||||
|
||||
% Abstraction of background, where the brightness is set to 20%
|
||||
\newcommand{\shade}[2]{\background{#1}{\arabic{shadeStrength}}{#2}}
|
||||
|
||||
% This command is used for the short and inline descriptors
|
||||
\newcommand{\bg}[2]{\background{#1}{\arabic{descriptorShadeStrength}}{#2}}
|
||||
|
||||
% Add a gray backdrop
|
||||
\newcommand{\backdrop}[1]{\shade{black}{#1}}
|
||||
|
||||
|
||||
% Fancy highlighting (Bold, underlined, colorbox behind it. Shorthand for \fhlc{white}{#1}
|
||||
\newcommand{\fhl}[1]{\fhlc{white}{#1}}
|
||||
|
||||
% Add a colorbox around your text with the color specified. Text is bold and underlined
|
||||
\newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}}
|
||||
|
||||
% 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}
|
||||
}
|
||||
|
||||
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||||
%██░▄▄▀█▀▄▄▀█░▄▀▄░█░▄▀▄░█▀▄▄▀█░▄▄▀
|
||||
%██░████░██░█░█▄█░█░█▄█░█░██░█░██░
|
||||
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
|
||||
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||
|
||||
\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}
|
||||
1003
dist/janishutz-helpers-recommended.sty
vendored
Normal file
1003
dist/janishutz-helpers-recommended.sty
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
dist/minimal.tex
vendored
7
dist/minimal.tex
vendored
@@ -1,7 +0,0 @@
|
||||
\newcommand{\loadMinimal}{
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loaded minimal}
|
||||
\input{\dir/main/core.tex}
|
||||
\input{\dir/config/config.tex}
|
||||
\input{\dir/main/style/style.tex}
|
||||
\input{\dir/main/style/common.tex}
|
||||
}
|
||||
13
dist/most.tex
vendored
13
dist/most.tex
vendored
@@ -1,13 +0,0 @@
|
||||
\newcommand{\loadMost}{
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loaded most}
|
||||
\input{\dir/dist/minimal.tex}
|
||||
\loadMinimal
|
||||
\input{\dir/main/math.tex}
|
||||
\input{\dir/main/cs.tex}
|
||||
\input{\dir/main/index.tex}
|
||||
\input{\dir/main/tables.tex}
|
||||
\input{\dir/main/style/counters.tex}
|
||||
\input{\dir/main/style/cs.tex}
|
||||
\input{\dir/main/style/math.tex}
|
||||
\input{\dir/main/style/language.tex}
|
||||
}
|
||||
7
dist/recommended.tex
vendored
7
dist/recommended.tex
vendored
@@ -1,7 +0,0 @@
|
||||
\newcommand{\loadRecommended}{
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loaded recommended}
|
||||
\input{\dir/dist/most.tex}
|
||||
\loadMost
|
||||
\input{\dir/extra/bib.tex}
|
||||
\input{\dir/extra/glossary.tex}
|
||||
}
|
||||
BIN
docs/docs.pdf
BIN
docs/docs.pdf
Binary file not shown.
@@ -13,7 +13,7 @@
|
||||
|
||||
\vspace{4cm}
|
||||
\begin{center}
|
||||
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
|
||||
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
|
||||
\end{center}
|
||||
|
||||
\newpage
|
||||
@@ -26,10 +26,26 @@ This set of \LaTeX files is designed to give you a good looking, pre-configured
|
||||
It has some configuration options already, but more are to come soon. If you have any suggestions as to what should be added, don't hesitate to open a support ticket at \url{https://support.janishutz.com?a=add} or contacting me via email to \texttt{development@janishutz.com}.
|
||||
|
||||
|
||||
\begin{Large}
|
||||
\shade{red}{Breaking Changes}: The timecomplexity commands have been updated to require math environment. You can use the following regex to fix them
|
||||
\verb|:%s/ \\tc\([olt]\){\(.*)}\([, .\n]\)/ \$\\tc\1{\2}\$\3/g| (execute first) and \verb|:%s/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g|
|
||||
\end{Large}
|
||||
\section{Breaking Changes}
|
||||
Please note that the regex provided below are for NeoVim and you may need to replace \verb|\(\)| with \verb|()|
|
||||
\subsection{Time complexity}
|
||||
The timecomplexity commands have been updated to require math environment. You can use the following regex to fix them
|
||||
|
||||
\verb|/ \\tc\([olt]\){\(.*)}\([, .\n]\)/ \$\\tc\1{\2}\$\3/g| (execute first)\\
|
||||
and \verb|/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g|
|
||||
|
||||
\subsection{Labels \& Environments}
|
||||
The counter environments can now be referenced (see \ref{sec:counters}).
|
||||
Due to the new requirements set out by that addition, it is now no longer possible to manually update the counters using
|
||||
\verb|\setcounter|.
|
||||
Use the below regex to replace all occurrences of \verb|\setcounter| with the new format.
|
||||
Please note that this will overwrite \textit{all} occurrences of \verb|\setcounter| with the specific old format with \verb|\setLabelNumber|:
|
||||
|
||||
\verb|/\\setcounter{\(.*\)s}/\\setLabelNumber{\1}/g| and \verb|/\\setcounter{all}/\\setLabelNumber{all}/g|
|
||||
|
||||
and for the \verb|\stepcounter| as well
|
||||
|
||||
\verb|/\\stepcounter{\(.*\)s}/\\stepLabelNumber{\1}| and \verb|/\\stepcounter{all}/\\stepLabelNumber{all}/g|.
|
||||
|
||||
|
||||
\section{Installation}
|
||||
|
||||
@@ -17,9 +17,10 @@ Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossa
|
||||
\subsubsection{Minted}
|
||||
\textit{Included in \texttt{full}}
|
||||
|
||||
Be sure to enable \texttt{shell-escape} for your compiler!
|
||||
Be sure to enable \texttt{-shell-escape} for your compiler
|
||||
\textit{(Note: Some newer versions of LaTeX do no longer require this and it is better to keep it turned off for security reasons, if it works without)}!
|
||||
|
||||
When \texttt{minted} is available via these helpers, you will also have access to the \texttt{codesnippet} macro:
|
||||
When \texttt{minted} is available via these helpers, you will also have access to the \texttt{code} environment:
|
||||
|
||||
\begin{minted}{latex}
|
||||
\begin{code}{language}
|
||||
@@ -33,9 +34,9 @@ Example (in python):
|
||||
|
||||
\begin{code}{python}
|
||||
def hello_world():
|
||||
print("hello world!")
|
||||
print("hello world!")
|
||||
\end{code}
|
||||
|
||||
If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which redners to \inlinecode{code}.
|
||||
If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which renders to \inlinecode{code}.
|
||||
|
||||
\textit{Caveat: This is not using the \texttt{verbatim} environment due to various limitations of that environment and instead is simply using} \verb|\texttt{}|, so you cannot use this to print \LaTeX-commands
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
\item \verb|\renewcommand{\city}|\{\textit{string}\} Change the city (for letters) for this document only
|
||||
\item \verb|\renewcommand{\countrycode}|\{\textit{string}\} Change the country-code (for letters) for this document only
|
||||
\item \verb|\renewcommand{\theoremde}|\{\textit{string}\} Change the translation for theorem in German (usually either ``Satz'' or ``Theorem'')
|
||||
\item \verb|\setcounter{numberingConfig}|\{\textit{number}\} Change the numbering of definitions, lemmas, etc for this document. 0 = off, 1 = Separately, 2 = Combined (except for definition), 3 = Combined
|
||||
\item \verb|\setNumberingStyle|\{\textit{number}\} Change the numbering of definitions, lemmas, etc for this document. 0 = off, 1 = Separately, 2 = Combined (except for definition), 3 = Combined
|
||||
\item \verb|\setcounter{numberSubsections}|\{\textit{number}\} Change the format of the numbering of definition, lemma, etc.
|
||||
0 = $<$section$>$.$<$number$>$,\\
|
||||
1 = $<$section$>$.$<$subsection$>$.$<$number$>$,\\
|
||||
@@ -34,4 +34,6 @@
|
||||
\item \verb|\usetcolorboxes| Initialize tcolorboxes. In main body, if you want to use fancy boxes. (requires \texttt{most} or up)
|
||||
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
|
||||
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
|
||||
\item \verb|\numberingOn| Turn on the numbering (will set back to config previously set by \verb|\setNumberingStyle|)
|
||||
\item \verb|\numberingOff| Turn off the numbering (if you want to temporarily not use it. Do not use \verb|\setNumberingStyle| for that)
|
||||
\end{itemize}
|
||||
|
||||
@@ -23,5 +23,7 @@ All these have to be executed in the math environment.
|
||||
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
|
||||
\item \verb|\der|\{\textit{math}\} Derivative, $\displaystyle \der{x}$
|
||||
\item \verb|\dern|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \dern{x}{2}$
|
||||
\item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood.
|
||||
Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
@@ -66,9 +66,25 @@ See \ref{sec:counters} for a guide on how to change the current number.
|
||||
\label{sec:counters}
|
||||
\textit{Included in \texttt{most} and up}
|
||||
|
||||
You may set the current number for the elements by setting their corresponding counter to the selected number.
|
||||
You can do this using \verb|\setcounter|\{\textit{name of the counter}\}\{\textit{number}\}, where you replace \textit{name of the counter} with one of the following:
|
||||
\texttt{definitions}, \texttt{lemmas}, \texttt{theorems}, \texttt{corollaries}, \texttt{propositions}, \texttt{facts}, \texttt{axioms}, \texttt{examples}, \texttt{remarks}
|
||||
\textit{Starting from the version of October 18, 2025, you may no longer use \texttt{$\backslash$setcounter} directly}
|
||||
|
||||
This only applies if you have set numberingConfig to $1$ (for all of them) and $2$ (only for \texttt{definitions}).
|
||||
To change the combined numbering, set \texttt{all} to your desired number.
|
||||
You may set the current number for the elements by setting their corresponding counter to the selected number.
|
||||
You can do this using \verb|\setLabelNumber|\{\textit{name of the environment}\}\{\textit{number}\},
|
||||
where you replace \textit{name of the environment} with one of the following:
|
||||
\texttt{definition}, \texttt{lemma}, \texttt{theorem}, \texttt{corollary}, \texttt{proposition}, \texttt{fact},
|
||||
\texttt{formula}, \texttt{axiom}, \texttt{example}, \texttt{remark}
|
||||
|
||||
This only applies if you have set \texttt{numberingConfig} to $1$ (for all of them) and $2$ (only for \texttt{definitions}).
|
||||
To change the combined numbering, use \verb|\setLabelNumber{all}| to your desired number.
|
||||
|
||||
You may also use \verb|\stepLabelNumber|\{\textit{name of the environment}\} to step the counter by one.
|
||||
|
||||
|
||||
\subsubsection{Referencing counters}
|
||||
\textit{Included in \texttt{most} and up, introduced on October 18, 2025}
|
||||
|
||||
If you wish to reference a counter, you can do so by writing
|
||||
|
||||
\verb|\ref{<counter name>:<section>-<subsection>-<subsubsection>-<counter value>}|,
|
||||
|
||||
or of course, if you do not label subsections and / or subsubsection, dropping them.
|
||||
|
||||
@@ -13,4 +13,5 @@ General styling commands. All other commands, except these ones require at least
|
||||
\item \verb|\mediumhspace| Prints a 5mm hspace
|
||||
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
|
||||
\item \verb|\rmvspace| Removes some of the vertical whitespace printed by environments like \verb|align|
|
||||
\item \verb|\drmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (double the amount)
|
||||
\end{itemize}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
These ones also have two settings, namely, you can change the counter behaviour and the inclusion of subsections in the numbering. See \ref{sec:perFileConf}.
|
||||
|
||||
See \ref{sec:counters} for a guide on how to change the current number.
|
||||
See \ref{sec:counters} for a guide on how to change the current number and how to reference them.
|
||||
|
||||
\begin{definition}[]{Title here}
|
||||
\begin{minted}{latex}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
|
||||
|
||||
\textit{New as of October 28 2025:} Tables and figures are now also numbered according to your settings
|
||||
|
||||
\begin{minted}{latex}
|
||||
\begin{tables}{ll}{Left & Right}
|
||||
Left content & Right Content\\
|
||||
|
||||
@@ -13,6 +13,10 @@ You have most likely forgotten about the second argument. Then, the first letter
|
||||
\subsection{pgfkeys: Don't know mainboxstyle}
|
||||
You have most likely forgotten about \verb|\usetcolorboxes| after \verb|\startDocument|.
|
||||
|
||||
\subsection{Numbering incorrect after numberingOn}
|
||||
Check the start of the document and make sure you have used \verb|\setNumberingStyle| to set the numbering style and not
|
||||
\verb|\setcounter{numberingConfig}|
|
||||
|
||||
|
||||
|
||||
\subsection{Undefined commands}
|
||||
|
||||
43
include.tex
43
include.tex
@@ -1,42 +1,3 @@
|
||||
% Loader
|
||||
\newcommand{\load}[1]{
|
||||
\edef\recommended{recommended}
|
||||
\edef\minimal{minimal}
|
||||
\edef\most{most}
|
||||
\edef\full{full}
|
||||
\edef\letters{letter}
|
||||
\edef\temp{#1}
|
||||
\ifx \temp\recommended
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loading config recommended}
|
||||
\input{\dir/dist/recommended.tex}
|
||||
\loadRecommended
|
||||
\else
|
||||
\ifx \temp\minimal
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loading config minimal}
|
||||
\input{\dir/dist/minimal.tex}
|
||||
\loadMinimal
|
||||
\else
|
||||
\ifx \temp\most
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loading config most}
|
||||
\input{\dir/dist/most.tex}
|
||||
\loadMost
|
||||
\else
|
||||
\ifx \temp\full
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loading config full}
|
||||
\input{\dir/dist/full.tex}
|
||||
\loadFull
|
||||
\else
|
||||
\ifx \temp\letters
|
||||
\typeout{[CustomLaTeXHelperLoader]: Loading config letter}
|
||||
\input{\dir/dist/minimal.tex}
|
||||
\loadMinimal
|
||||
% \input{\dir/config/config.tex}
|
||||
\input{\dir/dist/letter.tex}
|
||||
\else
|
||||
\typeout{[CustomLaTeXHelperLoader]: INVALID CONFIG SPECIFIED, NOTHING LOADED!}
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
\usepackage{currfile}
|
||||
\usepackage{\currfileabsdir janishutz-helpers}
|
||||
|
||||
2
janishutz-helpers.sty
Normal file
2
janishutz-helpers.sty
Normal file
@@ -0,0 +1,2 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{janishutz-helpers}[2.0.0]
|
||||
@@ -11,37 +11,39 @@
|
||||
|
||||
% Imports %
|
||||
\typeout{[Core] Importing!}
|
||||
\usepackage[table, dvipsnames]{xcolor}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{subcaption}
|
||||
\usepackage[export]{adjustbox}
|
||||
\usepackage[most]{tcolorbox}
|
||||
\usepackage{cancel}
|
||||
\usepackage{dsfont}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{mathrsfs}
|
||||
\usepackage{lipsum}
|
||||
\usepackage{ulem}
|
||||
\usepackage{soul}
|
||||
\usepackage{parskip}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{lastpage}
|
||||
\usepackage{tocloft}
|
||||
\usepackage{wasysym}
|
||||
\usepackage{wrapfig}
|
||||
\usepackage{multicol}
|
||||
\usepackage{ifthen}
|
||||
\usepackage[hidelinks]{hyperref}
|
||||
\usepackage{enumitem}
|
||||
\usepackage{gensymb}
|
||||
\usepackage{pifont}
|
||||
\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}
|
||||
|
||||
|
||||
% 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}
|
||||
@@ -81,7 +83,7 @@
|
||||
\newcommand{\setup}[1]{
|
||||
\typeout{[Setup] Setting up...}
|
||||
\loadLang
|
||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
\makeatletter
|
||||
@@ -112,7 +114,7 @@
|
||||
% Set up the latex document, only configuring the author, title and page size
|
||||
\newcommand{\setupBarebones}[1]{
|
||||
\loadLang
|
||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\RequirePackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
@@ -120,7 +122,7 @@
|
||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||
\newcommand{\setupCheatSheet}[1]{
|
||||
\loadLang
|
||||
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
||||
\RequirePackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
||||
\title{\Huge \textbf{#1}}
|
||||
\author{\authorTitle}
|
||||
}
|
||||
|
||||
13
main/cs.tex
13
main/cs.tex
@@ -4,12 +4,13 @@
|
||||
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
||||
|
||||
% Extra imports
|
||||
\usepackage{stmaryrd}
|
||||
\usepackage{algorithm}
|
||||
\usepackage{algpseudocodex}
|
||||
\usepackage{setspace}
|
||||
\usepackage{verbatim}
|
||||
\usepackage{turnstile}
|
||||
\RequirePackage{stmaryrd}
|
||||
\RequirePackage{algorithm}
|
||||
\RequirePackage{algpseudocodex}
|
||||
\RequirePackage{setspace}
|
||||
\RequirePackage{verbatim}
|
||||
\RequirePackage{turnstile}
|
||||
\RequirePackage{forloop}
|
||||
|
||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
|
||||
% For using index package
|
||||
\newcommand{\prepareIndex}{
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{imakeidx}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage{imakeidx}
|
||||
\makeindex
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
\usepackage[ngerman]{babel}
|
||||
\RequirePackage[ngerman]{babel}
|
||||
|
||||
@@ -8,14 +8,47 @@
|
||||
% ▄███▄ ▀▀ ▄████▄████▀██▄ ▀███████ ████▄
|
||||
|
||||
|
||||
\newcommand{\R}{\mathbb{R}}
|
||||
\newcommand{\N}{\mathbb{N}}
|
||||
% BB shortcuts (for number spaces, etc)
|
||||
\newcommand{\C}{\mathbb{C}}
|
||||
\newcommand{\Q}{\mathbb{Q}}
|
||||
\newcommand{\Z}{\mathbb{Z}}
|
||||
\newcommand{\I}{\mathbb{I}}
|
||||
\newcommand{\E}{\mathbb{E}}
|
||||
\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}
|
||||
@@ -28,6 +61,8 @@
|
||||
\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}}
|
||||
@@ -37,8 +72,12 @@
|
||||
\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}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
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 \translate{Limitations }{Limitierungen }};},#1}
|
||||
overlay={\node[overlaystyle,draw=Emerald!75!black,,fill=Emerald!75!black] at (frame.north east) {\large Intuition};},#1}
|
||||
|
||||
\newcommand{\inlineintuition}{\bg{Emerald}{Intuition:}}
|
||||
|
||||
|
||||
@@ -5,78 +5,297 @@
|
||||
% ▐███▌▐█▌.▐▌▐█▄█▌██▐█▌ ▐█▌·▐█▄▄▌▐█•█▌
|
||||
% ·▀▀▀ ▀█▄▀▪ ▀▀▀ ▀▀ █▪ ▀▀▀ ▀▀▀ .▀ ▀
|
||||
|
||||
\usepackage{xstring}
|
||||
\RequirePackage{xstring}
|
||||
\RequirePackage{etoolbox}
|
||||
% tcolorbox and other stylistic elements (i.e. inline versions of them) that have counters
|
||||
\newcounter{lemmas}
|
||||
\newcounter{definitions}
|
||||
\newcounter{corollaries}
|
||||
\newcounter{theorems}
|
||||
\newcounter{axioms}
|
||||
\newcounter{examples}
|
||||
\newcounter{facts}
|
||||
\newcounter{propositions}
|
||||
\newcounter{formulas}
|
||||
\newcounter{remarks}
|
||||
\newcounter{all}
|
||||
\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}
|
||||
|
||||
% ┌ ┐
|
||||
% │ Numbering of sections │
|
||||
% │ Counter numbering │
|
||||
% └ ┘
|
||||
\newcommand{\subsectionRendering}{
|
||||
\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
|
||||
\arabic{section}.\arabic{subsection}%
|
||||
\renewcommand{\sectionNumbering}{\thesubsection}
|
||||
\renewcommand{\suffix}{ss}
|
||||
\typeout{Numbering as section.subsection.number}
|
||||
\else
|
||||
\ifnum\value{numberSubsections}=2
|
||||
\arabic{section}.\arabic{subsection}.\arabic{subsubsection}%
|
||||
\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
|
||||
\subsectionRendering.\arabic{#1}\stepcounter{#1}%
|
||||
\labelIt{#1}
|
||||
\printcounter{#1\suffix}%
|
||||
\else
|
||||
\ifnum\value{numberingConfig}=2
|
||||
\ifthenelse{\equal{#1}{definitions}}{%
|
||||
\subsectionRendering.\arabic{definitions}\stepcounter{definitions}%
|
||||
\labelIt{definition}
|
||||
\printcounter{definition\suffix}%
|
||||
}{%
|
||||
\subsectionRendering.\arabic{all}\stepcounter{all}%
|
||||
\labelIt{all}
|
||||
\printcounter{all\suffix}%
|
||||
}%
|
||||
\else
|
||||
\ifnum\value{numberingConfig}=3
|
||||
\subsectionRendering.\arabic{all}\stepcounter{all}%
|
||||
\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
|
||||
}
|
||||
|
||||
% Reset definition, lemma, etc counters, add a new page
|
||||
% 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
|
||||
% ── Reset definitions, lemma, etc counters, do not add new page ─────
|
||||
\newcommand{\newsectionNoPB}{
|
||||
\setcounter{lemmas}{1}
|
||||
\setcounter{definitions}{1}
|
||||
\setcounter{corollaries}{1}
|
||||
\setcounter{theorems}{1}
|
||||
\setcounter{axioms}{1}
|
||||
\setcounter{examples}{1}
|
||||
\setcounter{facts}{1}
|
||||
\setcounter{propositions}{1}
|
||||
\setcounter{formulas}{1}
|
||||
\setcounter{remarks}{1}
|
||||
\setcounter{all}{1}
|
||||
\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
|
||||
\newsectionNoPB % Initializes
|
||||
|
||||
|
||||
% ────────────────────────────────────────────────────────────────────
|
||||
@@ -86,43 +305,43 @@
|
||||
% ────────────────────────────────────────────────────────────────────
|
||||
|
||||
% 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{definitions}};},#1}
|
||||
\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{theorems}};},#1}
|
||||
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
|
||||
|
||||
% Lemmas
|
||||
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemmas}};},#1}
|
||||
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
|
||||
|
||||
% Corollaries
|
||||
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollaries}};},#1}
|
||||
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
|
||||
|
||||
% Axioms
|
||||
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axioms}};},#1}
|
||||
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
|
||||
|
||||
% Facts
|
||||
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{facts}};},#1}
|
||||
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
|
||||
|
||||
% Propositions
|
||||
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{propositions}};},#1}
|
||||
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
|
||||
|
||||
% Examples
|
||||
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{examples}};},#1}
|
||||
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
|
||||
|
||||
% Formula
|
||||
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formulas}};},#1}
|
||||
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
|
||||
|
||||
% Remark
|
||||
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
|
||||
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remarks}};},#1}
|
||||
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
|
||||
|
||||
|
||||
% ────────────────────────────────────────────────────────────────────
|
||||
@@ -133,53 +352,53 @@
|
||||
|
||||
|
||||
% Inline environments (inline)
|
||||
\newcommand{\inlineex}{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{examples}:}}
|
||||
\newcommand{\inlinedef}{\bg{blue}{Definition\usenumberArabic{definitions}:}}
|
||||
\newcommand{\inlineformula}{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formulas}:}}
|
||||
\newcommand{\inlinelemma}{\bg{Aquamarine}{Lemma\usenumberArabic{lemmas}:}}
|
||||
\newcommand{\inlinetheorem}{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorems}:}}
|
||||
\newcommand{\inlineaxiom}{\bg{JungleGreen}{Axiom\usenumberArabic{axioms}:}}
|
||||
\newcommand{\inlinecorollary}{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollaries}:}}
|
||||
\newcommand{\inlinefact}{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{facts}:}}
|
||||
\newcommand{\inlineproposition}{\bg{Cyan}{Proposition\usenumberArabic{propositions}:}}
|
||||
\newcommand{\inlineremark}{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remarks}:}}
|
||||
\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{examples}:} \textit{(#1)}}
|
||||
\newcommand{\fancydef}[1]{\bg{blue}{Definition\usenumberArabic{definitions}:} \textit{(#1)}}
|
||||
\newcommand{\fancyformula}[1]{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formulas}:} \textit{(#1)}}
|
||||
\newcommand{\fancylemma}[1]{\bg{Aquamarine}{Lemma\usenumberArabic{lemmas}:} \textit{(#1)}}
|
||||
\newcommand{\fancytheorem}[1]{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorems}:} \textit{(#1)}}
|
||||
\newcommand{\fancyaxiom}[1]{\bg{JungleGreen}{Axiom\usenumberArabic{axioms}:} \textit{(#1)}}
|
||||
\newcommand{\fancycorollary}[1]{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollaries}:} \textit{(#1)}}
|
||||
\newcommand{\fancyfact}[1]{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{facts}:} \textit{(#1)}}
|
||||
\newcommand{\fancyproposition}[1]{\bg{Cyan}{Proposition\usenumberArabic{propositions}:} \textit{(#1)}}
|
||||
\newcommand{\fancyremark}[1]{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remarks}:} \textit{(#1)}}
|
||||
\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{examples}:}}
|
||||
\newcommand{\shortdef}{\bg{blue}{D\usenumberArabic{definitions}:}}
|
||||
\newcommand{\short}{\bg{red}{F\usenumberArabic{formulas}:}}
|
||||
\newcommand{\shortlemma}{\bg{Aquamarine}{L\usenumberArabic{lemmas}:}}
|
||||
\newcommand{\shorttheorem}{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorems}:}}
|
||||
\newcommand{\shortaxiom}{\bg{JungleGreen}{A\usenumberArabic{axioms}:}}
|
||||
\newcommand{\shortcorollary}{\bg{teal}{\translate{C}{K}\usenumberArabic{corollaries}:}}
|
||||
\newcommand{\shortfact}{\bg{SeaGreen}{F\usenumberArabic{facts}:}}
|
||||
\newcommand{\shortproposition}{\bg{Cyan}{P\usenumberArabic{propositions}:}}
|
||||
\newcommand{\shortremark}{\bg{green}{\tr{R}{B}\usenumberArabic{remarks}:}}
|
||||
\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{examples}:} \textit{(#1)}}
|
||||
\newcommand{\compactdef}[1]{\bg{blue}{D \usenumberArabic{definitions}:} \textit{(#1)}}
|
||||
\newcommand{\compactformula}[1]{\bg{red}{F \usenumberArabic{formulas}:} \textit{(#1)}}
|
||||
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L \usenumberArabic{lemmas}:} \textit{(#1)}}
|
||||
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}} \usenumberArabic{theorems}:} \textit{(#1)}}
|
||||
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A \usenumberArabic{axioms}:} \textit{(#1)}}
|
||||
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K} \usenumberArabic{corollaries}:} \textit{(#1)}}
|
||||
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F \usenumberArabic{facts}:} \textit{(#1)}}
|
||||
\newcommand{\compactproposition}[1]{\bg{Cyan}{P \usenumberArabic{propositions}:} \textit{(#1)}}
|
||||
\newcommand{\compactremark}[1]{\bg{green}{\tr{R}{B} \usenumberArabic{remarks}:} \textit{(#1)}}
|
||||
\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)}}}
|
||||
|
||||
@@ -57,9 +57,11 @@
|
||||
}
|
||||
}
|
||||
\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}''}
|
||||
|
||||
% Add a color shade (similar to \fhlc, but nicer boxes)
|
||||
\newcommand{\background}[3]{\tcbox[on line,
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
% (_) \__ _)_ __/(___)\____)____/
|
||||
|
||||
|
||||
\usepackage{booktabs}
|
||||
\usepackage{tabulary}
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{tabulary}
|
||||
|
||||
% Create new table. #1 Layout, #2 title row
|
||||
\newenvironment{tables}[2]{
|
||||
|
||||
32
scopes/letter.tex
Normal file
32
scopes/letter.tex
Normal file
@@ -0,0 +1,32 @@
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
|
||||
\setkomavar{date}{\city, \today}
|
||||
|
||||
\newkomavar{fromplace} % a few koma vars
|
||||
\setkomavar{fromname}{\name}
|
||||
\setkomavar{fromaddress}{\street}
|
||||
\setkomavar{fromplace}{\countrycode -\city}
|
||||
|
||||
\KOMAoptions{foldmarks=off,fromrule=false}
|
||||
\setkomavar{backaddress}{}
|
||||
|
||||
\makeatletter % indention of the address fields
|
||||
\setplength{toaddrhpos}{27mm}
|
||||
\setplength{toaddrwidth}{92mm}
|
||||
\setplength{sigindent}{0mm}
|
||||
\makeatother
|
||||
|
||||
\renewcommand*{\raggedsignature}{\raggedright}
|
||||
|
||||
% Define new letter header
|
||||
\setkomavar{firsthead}{
|
||||
\null\hfill
|
||||
\parbox[t][\headheight][t]{4cm}{%
|
||||
\vspace*{2cm}
|
||||
|
||||
\usekomavar{fromname} \newline
|
||||
\usekomavar{fromaddress} \newline
|
||||
\usekomavar{fromplace}
|
||||
}
|
||||
}%
|
||||
@@ -96,6 +96,15 @@
|
||||
],
|
||||
"description": "Inserts a tcolorbox to inform about restrictions"
|
||||
},
|
||||
"Intuition": {
|
||||
"prefix": "restrictions",
|
||||
"body": [
|
||||
"\\begin{intuition}[]{$1}",
|
||||
"\t$2",
|
||||
"\\end{intuition}"
|
||||
],
|
||||
"description": "Tcolorbox to highlight sections about intuition"
|
||||
},
|
||||
"Limitations": {
|
||||
"prefix": "limitations",
|
||||
"body": [
|
||||
@@ -387,8 +396,8 @@
|
||||
"\\underbar{$1}"
|
||||
]
|
||||
},
|
||||
"algebra": {
|
||||
"prefix": "algebra",
|
||||
"angles": {
|
||||
"prefix": "angles",
|
||||
"body": [
|
||||
"\\langle $1 \\rangle"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user