Compare commits

29 Commits

Author SHA1 Message Date
8d1638eeef [Spacing] Title spacing
All checks were successful
Update helpers / build_helpers (push) Successful in 24s
2026-03-02 11:49:09 +01:00
Helpers compiler [bot]
2ca478cf27 [skip ci] Build helpers on push 2026-03-01 14:53:47 +00:00
03ee657e1f [Core] Add better translation command
All checks were successful
Update docs / build_docs (push) Successful in 29s
Update helpers / build_helpers (push) Successful in 21s
2026-03-01 15:52:53 +01:00
Helpers compiler [bot]
96a8806ba1 [skip ci] Build helpers on push 2026-02-28 13:23:48 +00:00
591ee520fa [Style] Make paragraph insert newline
All checks were successful
Update helpers / build_helpers (push) Successful in 21s
2026-02-28 14:23:23 +01:00
39dac1bdc3 [CI] Update 2026-02-28 12:02:17 +01:00
5870830fb4 [Config] Fix issue 2026-02-28 12:00:51 +01:00
Helpers compiler [bot]
c1fc735c52 [skip ci] Build helpers on push 2026-02-28 10:32:18 +00:00
52b4b2916a [Spacing] Fixes
All checks were successful
Update helpers / build_helpers (push) Successful in 40s
2026-02-28 11:31:11 +01:00
Helpers compiler [bot]
7a7c744344 [skip ci] Build helpers on push 2026-02-25 18:46:02 +00:00
4edab93a9f [General] Add more aliases
All checks were successful
Update helpers / build_helpers (push) Successful in 23s
2026-02-25 18:23:03 +01:00
449ad7d31f [Snippets] Improve 2026-02-24 12:20:26 +01:00
add7e1d934 [Snippets] Fix bad snippet 2026-02-24 12:19:06 +01:00
LaTeX compiler [bot]
7790593c78 [skip ci] Build docs on push 2026-02-24 10:32:23 +00:00
1e516d78cc [Beamer] Add notes about it plus snippets
All checks were successful
Update docs / build_docs (push) Successful in 22s
2026-02-24 11:31:56 +01:00
375e944772 [README] Update 2026-02-23 11:43:15 +01:00
c2784afb08 [Snippets] Fix error 2026-02-23 10:09:28 +01:00
LaTeX compiler [bot]
fa7a858350 [skip ci] Build docs on push 2026-02-23 09:03:25 +00:00
28ffcbd117 [Docs] Use docs from current repo
All checks were successful
Update docs / build_docs (push) Successful in 28s
2026-02-23 10:02:54 +01:00
8a6c139589 [Docs] Make them compile 2026-02-23 10:02:18 +01:00
69a7fd2971 [Snippets] Update 2026-02-23 10:00:03 +01:00
a0c104e092 [Docs] Update usage
Some checks failed
Update docs / build_docs (push) Failing after 3m2s
2026-02-23 09:55:13 +01:00
f84df4eb3a [Build] Run locally 2026-02-23 09:51:15 +01:00
LaTeX compiler [bot]
3a766d5158 [skip ci] Build docs on push 2026-02-23 08:46:30 +00:00
7d9581735d [Docs] Fix inclusion
All checks were successful
Update docs / build_docs (push) Successful in 3m23s
2026-02-23 09:43:04 +01:00
e873355550 [CI] Fix trigger path incorrect 2026-02-23 09:07:27 +01:00
94c4cd8537 [Merge] fix another error
Some checks failed
Update docs / build_docs (push) Failing after 3m0s
2026-02-23 09:06:40 +01:00
b26699a887 [Merge] Fix a small merge error 2026-02-23 09:05:14 +01:00
Helpers compiler [bot]
9856f13f76 [skip ci] Build helpers on push 2026-02-23 08:04:17 +00:00
38 changed files with 1019 additions and 4756 deletions

View File

@@ -5,7 +5,7 @@ on:
- 'docs/**'
jobs:
build_docs:
runs_on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v6
@@ -23,7 +23,7 @@ jobs:
uses: actions/latex-full@main
with:
workdir: docs
include_helpers: true
# include_helpers: true
- name: Upload compiled docs
uses: actions/git-auto-commit-action@v7
with:

View File

@@ -2,11 +2,11 @@ name: Update helpers
on:
push:
paths:
- 'main/**'
- 'extra/**'
- 'src/**'
- 'config/**'
jobs:
build_helpers:
runs_on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v6

View File

@@ -1,82 +0,0 @@
# Use spaces for indent (because f*k tabs)
defaultIndent: " "
# Limit Number of backups
maxNumberOfBackups: 3
verbatimEnvironments:
verbatim: 1
lstlisting: 1
minted: 1
code: 1
indentRules:
recall: " "
remarks: " "
remark: " "
guides: " "
properties: " "
restrictions: " "
limitations: " "
terms: " "
notation: " "
usage: " "
task: " "
proof: " "
general: " "
simplebox: " "
definition: " "
theorem: " "
lemma: " "
corollary: " "
axiom: " "
fact: " "
proposition: " "
example: " "
formula: " "
conjugation: " "
forms: " "
lookForAlignDelims:
tables:
delims: 1
alignDoubleBackSlash: 1
spacesBeforeDoubleBackSlash: 1
multiColumnGrouping: 0
alignRowsWithoutMaxDelims: 1
spacesBeforeAmpersand: 1
spacesAfterAmpersand: 1
justification: left
alignFinalDoubleBackSlash: 0
dontMeasure: 0
delimiterRegEx: (?<!\\)(&)
delimiterJustification: left
lookForChildCodeBlocks: 1
alignContentAfterDoubleBackSlash: 0
spacesAfterDoubleBackSlash: 1
specialBeginEnd:
If:
begin: '\\If'
middle:
- '\\ElsIf'
- '\\Else'
end: '\\EndIf'
lookForThis: 1
For:
begin: '\\For'
end: '\\EndFor'
lookForThis: 1
Procedure:
begin: '\\Procedure'
end: '\\EndProcedure'
lookForThis: 1
Function:
begin: '\\Function'
end: '\\EndFunction'
lookForThis: 1
While:
begin: '\\While'
end: '\\EndWhile'
lookForThis: 1
specialBeforeCommand: 1

View File

@@ -9,10 +9,6 @@
This repository contains a collection of LaTeX files, helping you get started with LaTeX quickly.
# New import scheme
I have done some tweaks to support a new import scheme, making imports much more flexible
# Getting started
See the docs [here](https://git.janishutz.com/janishutz/latex/raw/branch/main/docs/docs.pdf) to get started.
@@ -29,4 +25,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) © 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/)
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2026 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)

View File

@@ -14,7 +14,7 @@
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2} \textit{(#3)}}
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }

1157
dist/full.tex vendored

File diff suppressed because it is too large Load Diff

32
dist/letter.tex vendored
View File

@@ -1,32 +0,0 @@
\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}
}
}%

424
dist/minimal.tex vendored
View File

@@ -1,424 +0,0 @@
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
%
% ▄▄█▀▀▀█▄█
% ▄██▀ ▀█
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
% Load this before the config file
% ── Imports ─────────────────────────────────────────────────────────
\typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage[export]{adjustbox}
\usepackage[most]{tcolorbox}
\usepackage{cancel}
\usepackage{etoolbox}
\usepackage{dsfont}
\usepackage{amssymb}
\usepackage{mathrsfs}
\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}
% ── Language Switching. ─────────────────────────────────────────────
% Currently only English and German are supported
% See docs for how to use
\newcounter{lang}
\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}
\usepackage[ngerman]{babel}
\else
\typeout{[Lang Switcher] No such language!}
\fi
\fi
}
% Deprecated, as not useful
\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}
\newcounter{colCount}
\newbool{cheatSheetLandscape}
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{
\typeout{[Setup] Setting up...}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\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}}
}
\typeout{[Setup] Complete}
}
% Start document command (required)
\newcommand{\startDocument}{
\maketitle
\startDocumentNoTitle
}
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{
\pagestyle{fancy}
\thispagestyle{fancy}
}
% Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
}
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup}
\loadLang
\edef\valtrue{true}
\ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram}
\allowdisplaybreaks
\ffvadjustfalse
\setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}}
}{
\typeout{[Setup] Using portrait}
\usepackage[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 }}
% ___ ___
% ( _ \ / ___)_
% | ( (_) _ ___ | (__ (_) __
% | | _ / _ \/ _ \ __)| |/ _ \
% | (_( ) (_) ) ( ) | | | | (_) |
% (____/ \___/(_) (_)_) (_)\__ |
% ( )_) |
% \___/
% 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}
% Whether or not to use landscape orientation for the cheat sheet
\boolfalse{cheatSheetLandscape}
% Set the number of columns to use (only affects the CheatSheet style and only if cheatSheetLandscape is set to true)
\setcounter{colCount}{3}
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
%███ ██████ █████ ████ ███ ███
%██████████████████████ ███████████████████
% 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{\hrmvspace}{\vspace{-0.25pc}}
\newcommand{\rmvspace}{\vspace{-0.5pc}}
\newcommand{\mrmvspace}{\vspace{-0.75pc}}
\newcommand{\drmvspace}{\vspace{-1pc}}
\newcommand{\dhrmvspace}{\vspace{-1.25pc}}
\newcommand{\dnrmvspace}{\vspace{-1.5pc}}
\newcommand{\dmrmvspace}{\vspace{-1.75pc}}
\newcommand{\ddrmvspace}{\vspace{-2pc}}
\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}}}}
% Draw box around links. First arg link, second arg display
\newcommand{\hlhref}[2]{\color{MidnightBlue}\fbox{\href{#1}{#2}}\color{black}}
% Same for urls (just one arg tho)
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
% 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}
}
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
%██░▄▄▀█▀▄▄▀█░▄▀▄░█░▄▀▄░█▀▄▄▀█░▄▄▀
%██░████░██░█░█▄█░█░█▄█░█░██░█░██░
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
% General tcolorboxes
\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}

1071
dist/most.tex vendored

File diff suppressed because it is too large Load Diff

1109
dist/recommended.tex vendored

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -3,7 +3,6 @@
\input{../janishutz-helpers.tex}
\setup{Docs - \LaTeX \hspace{0mm} helpers}
\setLang{en}
\begin{document}
\startDocument
@@ -13,17 +12,17 @@
\vspace{2cm}
\begin{center}
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
\end{center}
\vspace{5cm}
\begin{center}
\begin{Large}
\textsc{Usage guide for Version 2.0.0}
\end{Large}
\begin{Large}
\textsc{Usage guide for Version 2.0.0}
\end{Large}
\hlurl{https://git.janishutz.com/janishutz/latex}
\hlurl{https://git.janishutz.com/janishutz/latex}
\end{center}
@@ -38,6 +37,8 @@
% └ ┘
\input{./parts/intro.tex}
\input{./parts/usage.tex}
\input{./parts/beamer.tex}
\input{./parts/migration.tex}
% ── Reference ───────────────────────────────────────────────────────

7
docs/parts/beamer.tex Normal file
View File

@@ -0,0 +1,7 @@
\section{Beamer}
\LaTeX Beamer can be used to create presentations. The official user guide can be found \hlhref{https://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf}{here}
and a simple introduction by overleaf can be found \hlhref{https://www.overleaf.com/learn/latex/Beamer}{here}.
These helpers should mostly work in conjunction with beamer, you should however \bi{absolutely not} use the setup commands, as they are specifically meant for the \textit{article} class.
If you use the snippets, a basic setup for beamer is provided that also includes the helpers.

View File

@@ -3,7 +3,7 @@
This set of \LaTeX files is designed to give you a good looking, pre-configured \LaTeX setup, which helps you get started much more quickly.
There are quite a lot of configuration options, but it is likely that more are to come in the future.
If you have any suggestions as to what should be added, don't hesitate to open a \hlhref{https://support.janishutz.com?a=add}{support ticket}\
If you have any suggestions as to what should be added, don't hesitate to open a \hlhref{https://support.janishutz.com?a=add}{support ticket}\
or contacting me via email to \texttt{development@janishutz.com}.
If you are fairly new to \LaTeX, then you may find \texttt{Detextify} (or the iOS app \texttt{DeTeXt}) very handy.
@@ -20,4 +20,3 @@ The docs contain a section (section \ref{sec:migration}) on migrating from V1.X
You can install these helper files by downloading this repo and storing it to any location on your PC, remembering where that location is.
You may also install the VSCode snippets found in the vscode-snippets folder. These snippets provide autocompletion for many of the commands that this helper file provides.

View File

@@ -8,23 +8,23 @@ To switch back to the latest version, run \texttt{git checkout main}.
Alternatively, you can change one line: The input line should point to \texttt{<repo>/old/janishutz-helpers-v1.tex}
\begin{enumerate}
\item Update the import path to \texttt{/path/to/helpers/janishutz-helpers.tex}
\item If you don't plan to change the design of your cheat sheet, then replace \verb|\setupCheatSheet|\{\textit{string}\} with \verb|\setupCheatSheet[false]|\{\textit{string}\}
\item Remove \verb|\usetcolorboxes| if it was used (now integrated into \verb|\startDocument|)
\item Replace any \verb|\setNumberingStyle|\{\textit{number}\} with \verb|\setnumberingpreset|\{\textit{preset}\} (see \ref{sec:perFileConf})
\item Replace any \verb|\setSubsectionNumbering|\{\textit{number}\} with \verb|\setsubsectionnumbering|\{\textit{preset}\}
\item Remove any \verb|\drmvspace| and the like, they have been deprecated. \verb|\rmvspace|[\textit{number}] is still around, but only for edge cases,
where the \texttt{Xverticalspacing} (\texttt{X} can be replaced with \texttt{no}, \texttt{small}, \texttt{medium} or \texttt{large}) commands don't do a good enough job.
\item \verb|\fhlc| and \verb|\fhl| have been removed. The closes replacement is \verb|\shade|.
\item Environments \texttt{remarks}, \texttt{conjugation}, \texttt{forms} and \texttt{guides} have been removed
\item All descriptors no longer automatically have a label attached to them.
If you want to make a label \texttt{ref}able, then use \verb|\labeledShort|, or \verb|\labeledInline|, respectively (see \ref{sec:counter-ref}).
\item The descriptors \verb|\shortdef| and \verb|\shortex| have been renamed to \verb|\shortdefinition| and \verb|\shortexample| (same for the inline versions)
\item The descriptors \verb|\fancyY| and \verb|\compactY| (where Y is a type like \texttt{definition}) have been removed
and you can now use an optional argument on the descriptors. See \ref{sec:descriptors}
\item The deprecated \verb|\tc| and \verb|\timecomplexity| commands have been removed.
\item Was not mentioned, but was already possible, is to import code from a source code file. See \ref{sec:minted}
\item \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc
\item \verb|\divides| has been renamed \verb|\divider|
\item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively
\item Update the import path to \texttt{/path/to/helpers/janishutz-helpers.tex}
\item If you don't plan to change the design of your cheat sheet, then replace \verb|\setupCheatSheet|\{\textit{string}\} with \verb|\setupCheatSheet[false]|\{\textit{string}\}
\item Remove \verb|\usetcolorboxes| if it was used (now integrated into \verb|\startDocument|)
\item Replace any \verb|\setNumberingStyle|\{\textit{number}\} with \verb|\setnumberingpreset|\{\textit{preset}\} (see \ref{sec:perFileConf})
\item Replace any \verb|\setSubsectionNumbering|\{\textit{number}\} with \verb|\setsubsectionnumbering|\{\textit{preset}\}
\item Remove any \verb|\drmvspace| and the like, they have been deprecated. \verb|\rmvspace|[\textit{number}] is still around, but only for edge cases,
where the \texttt{Xverticalspacing} (\texttt{X} can be replaced with \texttt{no}, \texttt{small}, \texttt{medium} or \texttt{large}) commands don't do a good enough job.
\item \verb|\fhlc| and \verb|\fhl| have been removed. The closes replacement is \verb|\shade|.
\item Environments \texttt{remarks}, \texttt{conjugation}, \texttt{forms} and \texttt{guides} have been removed
\item All descriptors no longer automatically have a label attached to them.
If you want to make a label \texttt{ref}able, then use \verb|\labeledShort|, or \verb|\labeledInline|, respectively (see \ref{sec:counter-ref}).
\item The descriptors \verb|\shortdef| and \verb|\shortex| have been renamed to \verb|\shortdefinition| and \verb|\shortexample| (same for the inline versions)
\item The descriptors \verb|\fancyY| and \verb|\compactY| (where Y is a type like \texttt{definition}) have been removed
and you can now use an optional argument on the descriptors. See \ref{sec:descriptors}
\item The deprecated \verb|\tc| and \verb|\timecomplexity| commands have been removed.
\item Was not mentioned, but was already possible, is to import code from a source code file. See \ref{sec:minted}
\item \verb|\der|, \verb|\parder|, etc. have been renamed to \verb|\diff|, \verb|\pardiff|, etc
\item \verb|\divides| has been renamed \verb|\divider|
\item \verb|\seq| and \verb|\ser| have been renamed \verb|\sequence| and \verb|\series| resepctively
\end{enumerate}

View File

@@ -2,16 +2,16 @@
\subsection{CS-Commands}
These commands have to be executed inside math environment
\begin{itemize}
\item \verb|\tct| Time complexity in $\tct{}$-notation (average case)
\item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound)
\item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound)
\item \verb|\t[R, C, N]| Simply prints a capital R, C or N in math mode as normal text. So e.g. use $\tR$ to print an R
\item \verb|\wordbool| Prints $\wordbool$
\item \verb|\words|\{\textit{string}\} Prints $\words{test}$
\item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$
\item \verb|\word| Prints $\word$
\item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$
\item \verb|\alphabetbool| Prints $\alphabetbool$
\item \verb|\tct| Time complexity in $\tct{}$-notation (average case)
\item \verb|\tco| Time complexity in $\tco{}$-notation (worst case / upper bound)
\item \verb|\tcl| Time complexity in $\tcl{}$-notation (best case / lower bound)
\item \verb|\t[R, C, N]| Simply prints a capital R, C or N in math mode as normal text. So e.g. use $\tR$ to print an R
\item \verb|\wordbool| Prints $\wordbool$
\item \verb|\words|\{\textit{string}\} Prints $\words{test}$
\item \verb|\wordm|\{\textit{math}\} Prints $\wordm{1}$
\item \verb|\word| Prints $\word$
\item \verb|\alphabets|\{\textit{string}\} Prints $\alphabets{test}$
\item \verb|\alphabetbool| Prints $\alphabetbool$
\end{itemize}
\subsubsection{Algorithms}
@@ -24,9 +24,9 @@ These commands have to be executed inside math environment
\end{minted}
\begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\end{algo}
@@ -48,19 +48,19 @@ This is nothing different than a wrapper for a minted environment with a box dra
Example (in python):
\begin{code}{python}
def hello_world():
print("hello world!")
def hello_world():
print("hello world!")
\end{code}
\paragraph{Code in separate files}
It is also possible to load code from a source file using the provided commands:
\begin{itemize}
\item \verb|\inputcode|\{\textit{language}\}\{\textit{file}\}, where \textit{language} is the programming language
and \textit{file} is the file name of the file to be loaded, relative to the main tex file.
\item \verb|\inputcodewithfilename|\{\textit{language}\}\{\textit{hidden-path}\}\{\textit{shown-path}\}, where \textit{language} is the programming language,
\textit{hidden-path} is the part of the path you want to hide of the file to be loaded, relative to the main tex file
and \textit{shown-path} is the displayed part.
\item \verb|\inputcode|\{\textit{language}\}\{\textit{file}\}, where \textit{language} is the programming language
and \textit{file} is the file name of the file to be loaded, relative to the main tex file.
\item \verb|\inputcodewithfilename|\{\textit{language}\}\{\textit{hidden-path}\}\{\textit{shown-path}\}, where \textit{language} is the programming language,
\textit{hidden-path} is the part of the path you want to hide of the file to be loaded, relative to the main tex file
and \textit{shown-path} is the displayed part.
\end{itemize}
\inlineexample
\begin{minted}{latex}

View File

@@ -2,10 +2,10 @@
\section{Full Command Reference}
\subsection{Variables}
\begin{itemize}
\item \textit{string}: Any normal text
\item \textit{boolean}: \texttt{true} or \texttt{false}
\item \textit{math}: Any math input
\item \textit{number}: Any non-negative integer, i.e. no commas
\item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor} or as defined in the color config file
\item \textit{string}: Any normal text
\item \textit{boolean}: \texttt{true} or \texttt{false}
\item \textit{math}: Any math input
\item \textit{number}: Any non-negative integer, i.e. no commas
\item \textit{color}: Any of the \texttt{dvipsnames} colours of \texttt{xcolor} or as defined in the color config file
\end{itemize}

View File

@@ -1,56 +1,57 @@
\subsection{Per-File config}
\label{sec:perFileConf}
\begin{itemize}
\item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only
\item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only
\item \verb|\renewcommand{\<descriptor>NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE)
\item \verb|\renewcommand{\<descriptor>NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN)
\item \verb|\setnumberingpreset|\{\textit{string}\}
Change the numbering preset of definitions, lemmas, etc for this document.
Value can be \texttt{off}, \texttt{separate}, \texttt{combined}.
\item \verb|\renewcommand{<descriptor>numbering}|\{\textit{string}\}
Change the numbering for an individual descriptor, passed as first argument.
The second value can be \texttt{off}, \texttt{separate}, \texttt{combined} or \texttt{default}.
If set to \texttt{default}, it will follow the \verb|\numberingpreset| setting.
If you do not override it here, it will follow your global config as set in the config directory
and if unset there, it will follow the \verb|\numberingpreset| setting.
\item \verb|\renew|\{\textit{string}\} Change the format of the numbering of definitions, etc.
The value can be set to any of the below
\begin{itemize}[noitemsep]
\item none = $<$section$>$.$<$number$>$
\item section = $<$section$>$.$<$number$>$
\item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$
\item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$
\item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$
\end{itemize}
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the ones above) at any point in the document
\item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors
\item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command
\item \verb|\loadGerman| Load german configuration. Needs to be in preamble and you may only use it once
\item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one.
Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}.
A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}.
You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces.
\item \verb|\renewcommand{\authorTitle}|\{\textit{string}\} Change the author (in the title) for this document only
\item \verb|\renewcommand{\authorHeaders}|\{\textit{string}\} Change the author (in the header) for this document only
\item \verb|\renewcommand{\<descriptor>NamingDE}|\{\textit{string}\} Configure translations for descriptors on the fly (for DE)
\item \verb|\renewcommand{\<descriptor>NamingEN}|\{\textit{string}\} Configure translations for descriptors on the fly (for EN)
\item \verb|\setnumberingpreset|\{\textit{string}\}
Change the numbering preset of definitions, lemmas, etc for this document.
Value can be \texttt{off}, \texttt{separate}, \texttt{combined}.
\item \verb|\renewcommand{<descriptor>numbering}|\{\textit{string}\}
Change the numbering for an individual descriptor, passed as first argument.
The second value can be \texttt{off}, \texttt{separate}, \texttt{combined} or \texttt{default}.
If set to \texttt{default}, it will follow the \verb|\numberingpreset| setting.
If you do not override it here, it will follow your global config as set in the config directory
and if unset there, it will follow the \verb|\numberingpreset| setting.
\item \verb|\renew|\{\textit{string}\} Change the format of the numbering of definitions, etc.
The value can be set to any of the below
\begin{itemize}[noitemsep]
\item none = $<$section$>$.$<$number$>$
\item section = $<$section$>$.$<$number$>$
\item subsection = $<$section$>$.$<$subsection$>$.$<$number$>$
\item subsubsection = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$
\item paragraph = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$paragraph$>$.$<$number$>$
\end{itemize}
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the ones above) at any point in the document
\item \verb|\setcounter{descriptorShadeStrength}|\{\textit{number}\} Change the colour saturation of the inline descriptors
\item \verb|\setcounter{shadeStrength}|\{\textit{number}\} Change the colour saturation of the \verb|\shade| command
\item \verb|\loadGerman| Load german configuration. Needs to be in preamble and you may only use it once
\item To change the font for the entire document, load the font package using \verb|\usepackage|, with the last occurrence of a font package determining the active one.
Then select the type by using \verb|\setFontType|\textit{\{mono $|$ serif $|$ sans\}}.
A list of fonts is available \color{Cyan}\href{https://www.overleaf.com/learn/latex/Font_typefaces#Reference_guide}{here}\color{black}.
You may change the font only for a specific section, by enclosing \verb|\setFont| and the text that should be written in said typeface in curly braces.
\end{itemize}
\subsubsection{Letters}
\begin{itemize}
\item \verb|\renewcommand{\name}|\{\textit{string}\} Change the name (for letters) for this document only
\item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only
\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{\name}|\{\textit{string}\} Change the name (for letters) for this document only
\item \verb|\renewcommand{\street}|\{\textit{string}\} Change the street (for letters) for this document only
\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
\end{itemize}
\newpage
\subsection{Setup, Loading \& Translation}
\begin{itemize}
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title
\item \verb|\setupCheatSheet|[\textit{boolean}]\{\textit{string}\} Prepare the document with smaller borders and no headers / footers.
The mandatory argument is the title, the optional argument will, if set to \texttt{true} use a landscape layout (default)
and a horizontal layout if set to \texttt{false}.
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
\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 (if previously turned off using \verb|\numberingOff| or set in the config)
\item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering)
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being the title
\item \verb|\setupCheatSheet|[\textit{boolean}]\{\textit{string}\} Prepare the document with smaller borders and no headers / footers.
The mandatory argument is the title, the optional argument will, if set to \texttt{true} use a landscape layout (default)
and a horizontal layout if set to \texttt{false}.
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
\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|\safetr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|, safe to use in section titles
\item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config)
\item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering)
\end{itemize}

View File

@@ -2,31 +2,31 @@
\subsection{Math-Commands}
All these have to be executed in the math environment.
\begin{itemize}
\item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc.
\item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$
\item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$
\item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$.
\item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$.
\item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$.
\item \verb|\defAs| Define as, i.e. $\defAs$
\item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$
\item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$
\item \verb|\divider| Divider or divides symbol, e.g. $a \divider b$
\item \verb|\lcm| Least common multiple, $\lcm$
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
\item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$
\item \verb|\arctanh| Inverse of hyperbolic tangent, $\arctanh$
\item \verb|\limit|\{\textit{math}\}\{\textit{math}\} Shortened limit notation, $\displaystyle \limit{x}{x_0}$
\item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$
\item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
\item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$
\item \verb|\diffn|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \diffn{x}{2}$
\item \verb|\pardiff|\{\textit{math}\} Partial derivative, $\displaystyle \pardiff{x}$
\item \verb|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$
\item \verb|\sequence|\{\textit{math}\} Sequence, $\sequence{x}$
\item \verb|\series|\{\textit{math}\}\{\textit{math}\} Series, prints \verb|\series{x}{2x}| as, $\series{x}{2x}$
\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|.
\item \verb|\R| Prints $\R$. Same goes for \verb|\C| printing $\C$, etc.
\item \verb|\floor|\{\textit{math}\} Round down symbol, e.g. $\floor{n}$
\item \verb|\ceil|\{\textit{math}\} Round up symbol, e.g. $\ceil{n}$
\item \verb|\Leftrightarrowequiv| Equivalence transformation symbol, $\Leftrightarrowequiv$.
\item \verb|\Rightarrowequiv| Equivalence transformation symbol, $\Rightarrowequiv$.
\item \verb|\Leftarrowequiv| Equivalence transformation symbol, $\Leftarrowequiv$.
\item \verb|\defAs| Define as, i.e. $\defAs$
\item \verb|\defEquiv| Define as, but with a two-sided implication instead of equality, i.e. $\defEquiv$
\item \verb|\defImplies| Define as, but with one-sided implication, i.e. $\defImplies$
\item \verb|\divider| Divider or divides symbol, e.g. $a \divider b$
\item \verb|\lcm| Least common multiple, $\lcm$
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
\item \verb|\arccosh| Inverse of hyperbolic cosine, $\arccosh$
\item \verb|\arctanh| Inverse of hyperbolic tangent, $\arctanh$
\item \verb|\limit|\{\textit{math}\}\{\textit{math}\} Shortened limit notation, $\displaystyle \limit{x}{x_0}$
\item \verb|\limni| Shortened limit notation for $n \rightarrow \infty$, $\displaystyle \limni$
\item \verb|\liminfni| Shortened limit inferior notation for $n \rightarrow \infty$, $\displaystyle \liminfni$
\item \verb|\limsupni| Shortened limit superior notation for $n \rightarrow \infty$, $\displaystyle \limsupni$
\item \verb|\diff|\{\textit{math}\} Derivative, $\displaystyle \diff{x}$
\item \verb|\diffn|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \diffn{x}{2}$
\item \verb|\pardiff|\{\textit{math}\} Partial derivative, $\displaystyle \pardiff{x}$
\item \verb|\pardiffn|\{\textit{math}\}\{\textit{math}\} Higher partial derivative, $\displaystyle \pardiffn{x}{2}$
\item \verb|\sequence|\{\textit{math}\} Sequence, $\sequence{x}$
\item \verb|\series|\{\textit{math}\}\{\textit{math}\} Series, prints \verb|\series{x}{2x}| as, $\series{x}{2x}$
\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}

View File

@@ -9,30 +9,30 @@ Alternatively, you can use \verb|\inline[desc]{definition}|.
\paragraph{Inline}
\begin{tables}{ll}{Command & Output}
\verb|\inlineexample| & \inlineexample \\
\verb|\inlinedefinition| & \inlinedefinition \\
\verb|\inlinetheorem| & \inlinetheorem \\
\verb|\inlinelemma| & \inlinelemma \\
\verb|\inlinecorollary| & \inlinecorollary \\
\verb|\inlineproposition| & \inlineproposition \\
\verb|\inlinefact| & \inlinefact \\
\verb|\inlineaxiom| & \inlineaxiom \\
\verb|\inlineremark| & \inlineremark \\
\verb|\inlineproof| & \inlineproof \\
\verb|\inlineexample| & \inlineexample \\
\verb|\inlinedefinition| & \inlinedefinition \\
\verb|\inlinetheorem| & \inlinetheorem \\
\verb|\inlinelemma| & \inlinelemma \\
\verb|\inlinecorollary| & \inlinecorollary \\
\verb|\inlineproposition| & \inlineproposition \\
\verb|\inlinefact| & \inlinefact \\
\verb|\inlineaxiom| & \inlineaxiom \\
\verb|\inlineremark| & \inlineremark \\
\verb|\inlineproof| & \inlineproof \\
\end{tables}
\paragraph{Shortened}
\begin{tables}{ll}{Command & Output}
\verb|\shortexample| & \shortexample \\
\verb|\shortdefinition| & \shortdefinition \\
\verb|\shorttheorem| & \shorttheorem \\
\verb|\shortlemma| & \shortlemma \\
\verb|\shortcorollary| & \shortcorollary \\
\verb|\shortproposition| & \shortproposition \\
\verb|\shortfact| & \shortfact \\
\verb|\shortaxiom| & \shortaxiom \\
\verb|\shortremark| & \shortremark \\
\verb|\shortproof| & \shortproof \\
\verb|\shortexample| & \shortexample \\
\verb|\shortdefinition| & \shortdefinition \\
\verb|\shorttheorem| & \shorttheorem \\
\verb|\shortlemma| & \shortlemma \\
\verb|\shortcorollary| & \shortcorollary \\
\verb|\shortproposition| & \shortproposition \\
\verb|\shortfact| & \shortfact \\
\verb|\shortaxiom| & \shortaxiom \\
\verb|\shortremark| & \shortremark \\
\verb|\shortproof| & \shortproof \\
\end{tables}
\newpage

View File

@@ -1,9 +1,9 @@
\newpage
\subsection{Style}
\begin{itemize}
\item \verb|\TODO| Print a highlighted \TODO
\item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation}
\item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text}
\item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop}
\item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected
\item \verb|\TODO| Print a highlighted \TODO
\item \verb|\background|\{\textit{color}\}\{\textit{number}\}\{\textit{string}\} Print \background{ForestGreen}{50}{shaded text, with colour saturation}
\item \verb|\shade|\{\textit{color}\}\{\textit{string}\} Print \shade{ForestGreen}{shaded text}
\item \verb|\backdrop|\{\textit{string}\} Print \backdrop{text with gray backdrop}
\item \verb|\printtoc|\{\textit{color}\} Print the table of contents (as seen on the first page). The normal \verb|\tableofcontents| still works as expected
\end{itemize}

View File

@@ -2,24 +2,24 @@
For spacing in math mode, prefer using the methods described \hlhref{https://www.overleaf.com/learn/latex/Spacing_in_math_mode}{here},
for vertical spacing prefer the commands described below
\begin{itemize}
\item \verb|\smallhspace| Prints a 2mm hspace
\item \verb|\mediumhspace| Prints a 5mm hspace
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
\item \verb|\rmvspace|[\textit{number}] Removes an amount of vertical space. Should not be used unless can be avoided with general settings. Defaults to 0.5
\item \verb|\smallhspace| Prints a 2mm hspace
\item \verb|\mediumhspace| Prints a 5mm hspace
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
\item \verb|\rmvspace|[\textit{number}] Removes an amount of vertical space. Should not be used unless can be avoided with general settings. Defaults to 0.5
\end{itemize}
Vertical spacing config for the entire document. By default, the \LaTeX\ defaults are used.
\begin{itemize}
\item \verb|\noverticalspacing|
\item \verb|\smallverticalspacing|
\item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults)
\item \verb|\largeverticalspacing|
\item \verb|\noverticalspacing|
\item \verb|\smallverticalspacing|
\item \verb|\mediumverticalspacing| (approximately the same as the \LaTeX defaults)
\item \verb|\largeverticalspacing|
\end{itemize}
You are of course free to redefine commands like \verb|\parskip|, etc to your liking, these commands are just provided for your convenience.
See \hlhref{https://www.overleaf.com/learn/latex/\%5Cabovedisplayskip_and_related_commands}{here}\ for more details
and \hlhref{https://latex-tutorial.com/latex-space/}{here for a good guide on spacing}.
To control paragraph spacing, see \hlhref{https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf}{here}\
To control paragraph spacing, see \hlhref{https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf}{here}\
and \hlhref{https://www.overleaf.com/learn/latex/Articles/How_to_change_paragraph_spacing_in_LaTeX}{here}.
Do make sure to put the \texttt{usepackage} \textit{before} loading the helpers.
Alternatively, you can use \verb|\PassOptionsToPackage{options}{package}|
@@ -34,11 +34,11 @@ Below a demonstration on the effects of the different settings:
This is text:
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
This is very long introductory text that exceeds the limit (same applies to long equations)
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
Text following the equation (no paragraph break!)
@@ -47,11 +47,11 @@ Text following the equation (no paragraph break!)
This is text:
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
This is very long introductory text that exceeds the limit (same applies to long equations)
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
Text following the equation (no paragraph break!)
@@ -60,11 +60,11 @@ Text following the equation (no paragraph break!)
This is text:
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
This is very long introductory text that exceeds the limit (same applies to long equations)
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
Text following the equation (no paragraph break!)
@@ -73,10 +73,10 @@ Text following the equation (no paragraph break!)
This is text:
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
This is very long introductory text that exceeds the limit (same applies to long equations)
\[
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\int_{0}^{10} 4x^2 + 3x \cdot \frac{3 \ln(10)}{x^3} \dx x
\]
Text following the equation (no paragraph break!)

View File

@@ -5,7 +5,7 @@ These ones also have two settings, namely, you can change the counter behaviour
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}
\begin{minted}{latex}
\begin{definition}[]{Title here}
\end{definition}
@@ -13,7 +13,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{definition}
\begin{theorem}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{theorem}[]{Title here}
\end{theorem}
@@ -21,7 +21,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{theorem}
\begin{lemma}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{lemma}[]{Title here}
\end{lemma}
@@ -29,7 +29,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{lemma}
\begin{corollary}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{corollary}[]{Title here}
\end{corollary}
@@ -37,7 +37,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{corollary}
\begin{proposition}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{proposition}[]{Title here}
\end{proposition}
@@ -45,7 +45,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{proposition}
\begin{fact}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{fact}[]{Title here}
\end{fact}
@@ -53,7 +53,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{fact}
\begin{axiom}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{axiom}[]{Title here}
\end{axiom}
@@ -61,7 +61,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{axiom}
\begin{example}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{example}[]{Title here}
\end{example}
@@ -69,7 +69,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{example}
\begin{remark}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{remark}[]{Title here}
\end{remark}
@@ -77,7 +77,7 @@ See \ref{sec:counters} for a guide on how to change the current number and how t
\end{remark}
\begin{formula}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{formula}[]{Title here}
\end{formula}

View File

@@ -4,7 +4,7 @@
These tcolorboxes can be created using the code displayed inside them.
\begin{terms}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{terms}[]{Title here}
\end{terms}
@@ -12,7 +12,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{terms}
\begin{notation}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{notation}[]{Title here}
\end{notation}
@@ -20,7 +20,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{notation}
\begin{recall}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{recall}[]{Title here}
\end{recall}
@@ -28,7 +28,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{recall}
\begin{usage}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{usage}[]{Title here}
\end{usage}
@@ -36,7 +36,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{usage}
\begin{properties}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{properties}[]{Title here}
\end{properties}
@@ -44,7 +44,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{properties}
\begin{restrictions}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{restrictions}[]{Title here}
\end{restrictions}
@@ -52,7 +52,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{restrictions}
\begin{limitations}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{limitations}[]{Title here}
\end{limitations}
@@ -60,7 +60,7 @@ These tcolorboxes can be created using the code displayed inside them.
\end{limitations}
\begin{intuition}[]{Title here}
\begin{minted}{latex}
\begin{minted}{latex}
\begin{intuition}[]{Title here}
\end{intuition}

View File

@@ -2,9 +2,9 @@
This tcolorbox has all the styles applied, but allows configuring the colour and both title boxes
\begin{general}[]{title}{second title}{red}
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.
\begin{minted}{latex}
\begin{minted}{latex}
\begin{general}[]{title}{second title}{red}
\end{general}

View File

@@ -1,6 +1,6 @@
\newpage
\subsection{Tables}
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
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
@@ -12,7 +12,7 @@ You can set up nice looking tables using the \texttt{booktab} and \texttt{tabula
This outputs as
\begin{tables}{ll}{Left & Right}
Left content & Right Content \\
Left content & Right Content \\
\end{tables}
This doesn't use the \texttt{table} environment, so no captions are possible, as to why there is also
@@ -25,7 +25,7 @@ This doesn't use the \texttt{table} environment, so no captions are possible, as
This outputs as
\begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\
Left content & Right Content\\
\end{fullTable}

View File

@@ -20,5 +20,11 @@ You have set the \textit{scope} to \texttt{full}, which loads the \texttt{minted
\subsubsection{You must have pygmentize installed}
Your host system is lacking the \texttt{pygmentize} package or you have not added the \texttt{pip} path to your \$PATH. This is also the reason as to why the \texttt{-shell-escape} flag has to be set, as minted needs to access external libraries (namely \texttt{pygmentize}) to do the syntax highlighting.
\subsection{Undefined command equal}
If you see an error like this, you likely are using either \verb|\translate| or \verb|\tr| in a \verb|\section| or similar command.
Due to the way \LaTeX\ code is evaluated, you should prefer using \verb|\safetr| instead,
which uses \texttt{etoolbox}'s \verb|\protecting| command to stop this issue from occurring
\subsection{Any other error}
Ensure that you are not missing any closing brackets or a math environment is still open. If nothing helps, contact support at \url{https://support.janishutz.com}

View File

@@ -31,7 +31,8 @@ Each of the options can also be overridden directly on a per-document
\subsection{Letters}
Letters require a different setup compared to a normal \LaTeX document:
Letters require a different setup compared to a normal \LaTeX document.
Be also aware that the usual commands featured by the helpers are \textit{not} available when using the letter helpers.
\begin{minted}{latex}
\documentclass[12pt,a4paper]{scrlttr2}

View File

@@ -41,6 +41,7 @@
\usepackage{etoolbox}
\usepackage{makecell}
\usepackage{parskip}
\usepackage{titlesec}
\newcounter{descriptorShadeStrength}
\newcounter{shadeStrength}
@@ -93,72 +94,6 @@
\colorlet{propertiescolor}{purple}
% ┌ ┐
% │ General config │
% └ ┘
% Configure your author name here
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
\newcommand{\authorHeaders}{Janis Hutz}
% ┌ ┐
% │ Rendering │
% └ ┘
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
% - #1 is the name of the descriptor
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2}: \textit{(#3)}}
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}\ }
% background command config (draws a small box around the content)
\newcommand{\backgroundPadding}{2pt}
\newcommand{\backgroundRounding}{1pt}
% ┌ ┐
% │ Numbering │
% └ ┘
% Set a preset, can be combined, separate or off.
% If set to custom, all type specific commands need to be set below.
\newcommand{\numberingpreset}{combined}
% Specify how elements are to be numbered. Can be (X is the current number of the element):
% - none (X)
% - section (section.X)
% - subsection (section.subsection.X)
% - subsubsection (section.subsection.subsubsection.X)
% - paragraph (section.subsection.subsubsection.paragraph.X)
\newcommand{\subsectionnumbering}{subsection}
% Set for a specific type. Can each be combined, separate, default or off:
% If set to anything but 'default', it will override the overarching style
% set by \numberingpreset
\newcommand{\definitionnumbering}{default}
\newcommand{\theoremnumbering}{default}
\newcommand{\lemmanumbering}{default}
\newcommand{\corollarynumbering}{default}
\newcommand{\axiomnumbering}{default}
\newcommand{\factnumbering}{default}
\newcommand{\propositionnumbering}{default}
\newcommand{\examplenumbering}{default}
\newcommand{\formulanumbering}{default}
\newcommand{\remarknumbering}{default}
\newcommand{\proofnumbering}{default}
\newcommand{\intuitionnumbering}{default}
\newcommand{\termnumbering}{default}
\newcommand{\notationnumbering}{default}
\newcommand{\tasknumbering}{default}
\newcommand{\usagenumbering}{default}
\newcommand{\recallnumbering}{default}
\newcommand{\propertiesnumbering}{default}
% ┌ ┐
% │ Naming │
% └ ┘
@@ -242,6 +177,72 @@
\newcommand{\propertiesShortNamingDE}{E}
% ┌ ┐
% │ Numbering │
% └ ┘
% Set a preset, can be combined, separate or off.
% If set to custom, all type specific commands need to be set below.
\newcommand{\numberingpreset}{combined}
% Specify how elements are to be numbered. Can be (X is the current number of the element):
% - none (X)
% - section (section.X)
% - subsection (section.subsection.X)
% - subsubsection (section.subsection.subsubsection.X)
% - paragraph (section.subsection.subsubsection.paragraph.X)
\newcommand{\subsectionnumbering}{subsection}
% Set for a specific type. Can each be combined, separate, default or off:
% If set to anything but 'default', it will override the overarching style
% set by \numberingpreset
\newcommand{\definitionnumbering}{default}
\newcommand{\theoremnumbering}{default}
\newcommand{\lemmanumbering}{default}
\newcommand{\corollarynumbering}{default}
\newcommand{\axiomnumbering}{default}
\newcommand{\factnumbering}{default}
\newcommand{\propositionnumbering}{default}
\newcommand{\examplenumbering}{default}
\newcommand{\formulanumbering}{default}
\newcommand{\remarknumbering}{default}
\newcommand{\proofnumbering}{default}
\newcommand{\intuitionnumbering}{default}
\newcommand{\termnumbering}{default}
\newcommand{\notationnumbering}{default}
\newcommand{\tasknumbering}{default}
\newcommand{\usagenumbering}{default}
\newcommand{\recallnumbering}{default}
\newcommand{\propertiesnumbering}{default}
% ┌ ┐
% │ General config │
% └ ┘
% Configure your author name here
\newcommand{\authorTitle}{Janis Hutz\\\url{https://janishutz.com}}
\newcommand{\authorHeaders}{Janis Hutz}
% ┌ ┐
% │ Rendering │
% └ ┘
% Specify how the inline and short descriptors (e.g. Lemma, etc) are rendered.
% - #1 is the name of the descriptor
% - #2 is the number (correctly rendered according to settings and preceded with space if not disabled)
% - #3 is the name passed (non-empty asserted)
\newcommand{\shortDescriptorTemplate}[3]{\bg{#1color}{\shortNamingTranslate{#1} #2} \textit{(#3)}}
\newcommand{\inlineDescriptorTemplate}[3]{\bg{#1color}{\namingTranslate{#1} #2} \textit{(#3)}}
% These are used if no name is provided and argument #4 from above is the missing argument
\newcommand{\anonymousShortDescriptorTemplate}[2]{\bg{#1color}{\shortNamingTranslate{#1} #2}\ }
\newcommand{\anonymousInlineDescriptorTemplate}[2]{\bg{#1color}{\namingTranslate{#1} #2}\ }
% background command config (draws a small box around the content)
\newcommand{\backgroundPadding}{2pt}
\newcommand{\backgroundRounding}{1pt}
\newcounter{definitionnone}
\newcounter{definitionsection}[section]
\renewcommand{\thedefinitionsection}{\thesection.\arabic{definitionsection}}
@@ -666,6 +667,14 @@
% Same for urls (just one arg tho)
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
\makeatletter
\renewcommand\paragraph{%
\@startsection{paragraph}{4}{0mm}%
{-\baselineskip}%
{.5\baselineskip}%
{\normalfont\normalsize\bfseries}}
\makeatother
% ___ _ _____ _ _
% ( _ \ _( ) (_ _) ( ) ( )
@@ -688,6 +697,20 @@
}
% Add glossaries functionality
\newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
}
\newcommand{\printGlossary}{
\glsaddall
\printnoidxglossaries
}
% ┌ ┐
% │ Math │
% └ ┘
@@ -829,94 +852,6 @@
}
% ┌ ┐
% │ Index │
% └ ┘
% For using index package
\newcommand{\prepareIndex}{
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
}
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndexBI}[1]{\textbf\textit{{\index{\MakeLowercase{#1}} #1}}}
\newcommand{\addIndexItalic}[1]{\textit{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndex}[1]{\index{\MakeLowercase{#1}} #1}
% ┌ ┐
% │ Tables │
% └ ┘
\usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{
\begin{center}
\begin{tabular}{#1}
\toprule
#2 \\
\midrule
}{
\bottomrule
\end{tabular}
\end{center}
}
% Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{
\edef\tableCaption{#3}
\begin{table}[h!]
\begin{tables}{#1}{#2}
}{
\end{tables}
\caption{\tableCaption}
\end{table}
}
% Add glossaries functionality
\newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
}
\newcommand{\printGlossary}{
\glsaddall
\printnoidxglossaries
}
% ┌ ┐
% │ Translation │
% └ ┘
\newcommand{\translate}[2]{%
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}
% Translation aids (commonly used)
\newcommand{\trif}{\translate{if }{falls }}
\newcommand{\trIf}{\translate{If }{Falls }}
\newcommand{\trLet}{\translate{Let }{Sei }}
\newcommand{\trLets}{\translate{Let }{Seien }}
\newcommand{\trFor}{\translate{For }{Für }}
\newcommand{\trfor}{\translate{for }{für }}
\newcommand{\trand}{\translate{and }{und }}
\newcommand{\tror}{\translate{or }{oder }}
\newcommand{\trst}{\translate{s.t. }{s.d. }}
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
\newcommand{\trwith}{\translate{with }{mit }}
% ┌ ┐
% │ Setup │
% └ ┘
@@ -1010,6 +945,49 @@
}
% ┌ ┐
% │ Translation │
% └ ┘
\newcommand{\translate}[2]{%
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
\newcommand{\safetr}[2]{\protecting{\translate{#1}{#2}}}
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}
% Translation aids (commonly used)
\newcommand{\trif}{\translate{if }{falls }}
\newcommand{\trIf}{\translate{If }{Falls }}
\newcommand{\trLet}{\translate{Let }{Sei }}
\newcommand{\trLets}{\translate{Let }{Seien }}
\newcommand{\trFor}{\translate{For }{Für }}
\newcommand{\trfor}{\translate{for }{für }}
\newcommand{\trand}{\translate{and }{und }}
\newcommand{\tror}{\translate{or }{oder }}
\newcommand{\trst}{\translate{s.t. }{s.d. }}
\newcommand{\trsuchthat}{\translate{such that }{so dass }}
\newcommand{\trwith}{\translate{with }{mit }}
% ┌ ┐
% │ Index │
% └ ┘
% For using index package
\newcommand{\prepareIndex}{
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
}
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndexBI}[1]{\textbf\textit{{\index{\MakeLowercase{#1}} #1}}}
\newcommand{\addIndexItalic}[1]{\textit{\index{\MakeLowercase{#1}} #1}}
\newcommand{\addIndex}[1]{\index{\MakeLowercase{#1}} #1}
% ░▒█▀▀▄░▄▀▀▄░█▀▄▀█░▄▀▀▄░█░▒█░▀█▀░█▀▀░█▀▀▄░░░▒█▀▀▀█░█▀▄░░▀░░█▀▀░█▀▀▄░█▀▄░█▀▀
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
@@ -1042,6 +1020,109 @@
\newcommand{\class}{\text{\tr{Cl}{Kl}}}
% ┌ ┐
% │ Tables │
% └ ┘
\usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{
\begin{center}
\begin{tabular}{#1}
\toprule
#2 \\
\midrule
}{
\bottomrule
\end{tabular}
\end{center}
}
% Create new table in table env. #1 layout, #2 title row, #3 caption
\newenvironment{fullTable}[3]{
\edef\tableCaption{#3}
\begin{table}[h!]
\begin{tables}{#1}{#2}
}{
\end{tables}
\caption{\tableCaption}
\end{table}
}
% ┌ ┐
% │ Counter numbering │
% └ ┘
\newcommand{\preEnvHook}[1]{%
\stepLabelNumber{combined}%
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
\stepLabelNumber{combined}%
}{}%
}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
\stepLabelNumber{combined}%
}{}%
}%
}
% Decides on the numbering to use (combined or not)
\newcommand{\loadNumberingConfiguration}{%
\ifthenelse{\boolean{numberingDisabled}}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}{
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\subsectionnumbering}{none}}{
\renewcommand{\thetable}{\arabic{combinednone}}
\renewcommand{\thefigure}{\arabic{combinednone}}
}{%
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
}%
}{%
\ifthenelse{\equal{\numberingpreset}{separate}}{
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
}
}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}%
}%
}%
}
% Prints the preceding subsection numbers
\newcommand{\ssprinter}{\thesection}
\newcommand{\generateSubsection}{%
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
\renewcommand{\ssprinter}{\thesection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
\renewcommand{\ssprinter}{\thesubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
\renewcommand{\ssprinter}{\thesubsubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
\renewcommand{\ssprinter}{\theparagraph}
}{
\renewcommand{\ssprinter}{}
}%
}%
}%
}%
}
\loadNumberingConfiguration
\AtBeginEnvironment{table}{\preEnvHook{table}}
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
% ── Set the current number of a label ───────────────────────────────
\newcommand{\setLabelNumber}[2]{%
\setcounter{#1none}{#2}%
@@ -1149,89 +1230,11 @@
}
% ┌ ┐
% │ Counter numbering │
% └ ┘
\newcommand{\preEnvHook}[1]{%
\stepLabelNumber{combined}%
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{default}}{
\stepLabelNumber{combined}%
}{}%
}{%
\ifthenelse{\equal{\printNumberingConfigForDescriptor{#1}}{combined}}{%
\stepLabelNumber{combined}%
}{}%
}%
}
% Decides on the numbering to use (combined or not)
\newcommand{\loadNumberingConfiguration}{%
\ifthenelse{\boolean{numberingDisabled}}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}{
\ifthenelse{\equal{\numberingpreset}{combined}}{%
\ifthenelse{\equal{\subsectionnumbering}{none}}{
\renewcommand{\thetable}{\arabic{combinednone}}
\renewcommand{\thefigure}{\arabic{combinednone}}
}{%
\renewcommand{\thetable}{\ssprinter.\arabic{combined\subsectionnumbering}}
\renewcommand{\thefigure}{\ssprinter.\arabic{combined\subsectionnumbering}}
}%
}{%
\ifthenelse{\equal{\numberingpreset}{separate}}{
\ifthenelse{\equal{\subsectionnumbering}{none}}{}{
\renewcommand{\thetable}{\ssprinter.\arabic{table}}
\renewcommand{\thefigure}{\ssprinter.\arabic{figure}}
}
}{%
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
}%
}%
}%
}
% Prints the preceding subsection numbers
\newcommand{\ssprinter}{\thesection}
\newcommand{\generateSubsection}{%
\ifthenelse{\equal{\subsectionnumbering}{section}}{%
\renewcommand{\ssprinter}{\thesection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsection}}{%
\renewcommand{\ssprinter}{\thesubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{subsubsection}}{%
\renewcommand{\ssprinter}{\thesubsubsection}
}{%
\ifthenelse{\equal{\subsectionnumbering}{paragraph}}{%
\renewcommand{\ssprinter}{\theparagraph}
}{
\renewcommand{\ssprinter}{}
}%
}%
}%
}%
}
\loadNumberingConfiguration
\AtBeginEnvironment{table}{\preEnvHook{table}}
\AtBeginEnvironment{figure}{\preEnvHook{figure}}
% ┌ ┐
% │ STYLE: Math │
% └ ┘
% Add shortcuts to commonly used commands
\newcommand{\vect}[1]{\overrightarrow{#1}}
\renewcommand{\hat}[1]{\widehat{#1}}
\renewcommand{\tilde}[1]{\widetilde{#1}}
\newcommand{\proven}{$\hspace{17cm}\square$}
\newcommand{\noverticalspacing}{
\titlespacing*{\section}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 2pt minus 2pt}
\titlespacing*{\subsection}{0pt}{1pt plus 2pt minus 1pt}{1pt plus 2pt minus 1pt}
\titlespacing*{\subsubsection}{0pt}{1pt plus 1pt minus 1pt}{1pt plus 1pt minus 1pt}
\titlespacing*{\paragraph}{0pt}{0pt plus 1pt minus 0pt}{1pt plus 0pt minus 1pt}
\abovedisplayskip 1pt plus 2pt minus 1pt
\belowdisplayskip 1pt plus 2pt minus 1pt
\abovedisplayshortskip -10pt
@@ -1239,10 +1242,15 @@
\floatsep 1pt plus 2pt minus 1pt
\intextsep 1pt plus 2pt minus 1pt
\textfloatsep 1pt plus 2pt minus 1pt
\multicolsep 1pt plus 2pt minus 1pt
\abovecaptionskip 2pt
\setlist{noitemsep,topsep=1pt,partopsep=0pt}
}
\newcommand{\smallverticalspacing}{
\titlespacing*{\section}{0pt}{4pt plus 3pt minus 2pt}{3pt plus 2pt minus 1pt}
\titlespacing*{\subsection}{0pt}{3pt plus 2pt minus 1pt}{2pt plus 2pt minus 0pt}
\titlespacing*{\subsubsection}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 1pt minus 0pt}
\titlespacing*{\paragraph}{0pt}{1pt plus 1pt minus 1pt}{1pt plus 0pt minus 0pt}
\abovedisplayskip 4pt plus 3pt minus 2pt
\belowdisplayskip 5pt plus 5pt minus 2pt
\abovedisplayshortskip -5pt
@@ -1250,10 +1258,15 @@
\floatsep 4pt plus 3pt minus 2pt
\intextsep 4pt plus 3pt minus 2pt
\textfloatsep 4pt plus 3pt minus 2pt
\multicolsep 4pt plus 3pt minus 2pt
\abovecaptionskip 4pt
\setlist{itemsep=2pt,topsep=2pt,partopsep=1pt}
}
\newcommand{\mediumverticalspacing}{
\titlespacing*{\section}{0pt}{6pt plus 2pt minus 2pt}{4pt plus 2pt minus 2pt}
\titlespacing*{\subsection}{0pt}{4pt plus 2pt minus 2pt}{3pt plus 2pt minus 1pt}
\titlespacing*{\subsubsection}{0pt}{3pt plus 1pt minus 1pt}{2pt plus 1pt minus 0pt}
\titlespacing*{\paragraph}{0pt}{2pt plus 1pt minus 1pt}{1pt plus 0pt minus 0pt}
\abovedisplayskip 7pt plus 4pt minus 3pt
\belowdisplayskip 9pt plus 6pt minus 3pt
\abovedisplayshortskip 0pt
@@ -1261,10 +1274,15 @@
\floatsep 7pt plus 4pt minus 3pt
\intextsep 7pt plus 4pt minus 3pt
\textfloatsep 7pt plus 4pt minus 3pt
\multicolsep 7pt plus 4pt minus 3pt
\abovecaptionskip 7pt
\setlist{itemsep=4pt,topsep=4pt,partopsep=2pt}
}
\newcommand{\largeverticalspacing}{
\titlespacing*{\section}{0pt}{8pt plus 2pt minus 4pt}{5pt plus 2pt minus 3pt}
\titlespacing*{\subsection}{0pt}{6pt plus 2pt minus 3pt}{4pt plus 2pt minus 2pt}
\titlespacing*{\subsubsection}{0pt}{4pt plus 1pt minus 2pt}{3pt plus 1pt minus 1pt}
\titlespacing*{\paragraph}{0pt}{3pt plus 1pt minus 1pt}{2pt plus 1pt minus 1pt}
\abovedisplayskip 13pt plus 5pt minus 4pt
\belowdisplayskip 15pt plus 9pt minus 6pt
\abovedisplayshortskip 5pt plus 2pt minus 3pt
@@ -1272,64 +1290,12 @@
\floatsep 12pt plus 5pt minus 4pt
\intextsep 12pt plus 5pt minus 4pt
\textfloatsep 12pt plus 5pt minus 4pt
\multicolsep 12pt plus 5pt minus 4pt
\abovecaptionskip 10pt
\setlist{itemsep=6pt,topsep=6pt,partopsep=2pt}
}
% ── Inline environments ─────────────────────────────────────────────
% TODO: ref label generation
\newcommand{\inline}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}%
}
\newcommand{\labeledInline}[3][NONAME]{%
\edef{\tempLabel}{#3}
\label{\tempLabel}
\inline[#1]{#2}
}
\newcommand{\unnumberedInline}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousInlineDescriptorTemplate{#2}{}%
}{%
\inlineDescriptorTemplate{#2}{}{#1}%
}%
}
\newcommand{\short}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}%
}
\newcommand{\labeledShort}[3][NONAME]{%
\edef{\tempLabel}{#3}
\label{\tempLabel}
\short[#1]{#2}
}
\newcommand{\unnumberedShort}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousShortDescriptorTemplate{#2}{}%
}{%
\shortDescriptorTemplate{#2}{}{#1}%
}%
}
\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
% ┌ ┐
% │ STYLE: Common tcolorboxes │
% └ ┘
@@ -1380,6 +1346,72 @@
\newtcolorbox{simplebox}[2][]{colback=#2!5!white,colframe=#2!75!black,#1}
% ┌ ┐
% │ STYLE: Math │
% └ ┘
% Add shortcuts to commonly used commands
\newcommand{\vect}[1]{\overrightarrow{#1}}
\renewcommand{\hat}[1]{\widehat{#1}}
\renewcommand{\tilde}[1]{\widetilde{#1}}
\newcommand{\proven}{$\hspace{17cm}\square$}
% ── Inline environments ─────────────────────────────────────────────
% TODO: ref label generation
\newcommand{\inline}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousInlineDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\inlineDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}%
}
\newcommand{\labeledInline}[3][NONAME]{%
\edef{\tempLabel}{#3}
\label{\tempLabel}
\inline[#1]{#2}
}
\newcommand{\unnumberedInline}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousInlineDescriptorTemplate{#2}{}%
}{%
\inlineDescriptorTemplate{#2}{}{#1}%
}%
}
\newcommand{\short}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousShortDescriptorTemplate{#2}{\printLabel{#2}}%
}{%
\shortDescriptorTemplate{#2}{\printLabel{#2}}{#1}%
}%
}
\newcommand{\labeledShort}[3][NONAME]{%
\edef{\tempLabel}{#3}
\label{\tempLabel}
\short[#1]{#2}
}
\newcommand{\unnumberedShort}[2][NONAME]{%
\ifthenelse{\equal{NONAME}{#1}}{%
\anonymousShortDescriptorTemplate{#2}{}%
}{%
\shortDescriptorTemplate{#2}{}{#1}%
}%
}
\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
\newcommand{\inlinenotation}[1][NONAME]{\unnumberedInline[#1]{notation}}
\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}
% ┌ ┐
% │ STYLE: Computer Science │
% └ ┘

View File

@@ -30,12 +30,12 @@
% Define new letter header
\setkomavar{firsthead}{
\null\hfill
\parbox[t][\headheight][t]{4cm}{%
\vspace*{2cm}
\null\hfill
\parbox[t][\headheight][t]{4cm}{%
\vspace*{2cm}
\usekomavar{fromname} \newline
\usekomavar{fromaddress} \newline
\usekomavar{fromplace}
}
\usekomavar{fromname} \newline
\usekomavar{fromaddress} \newline
\usekomavar{fromplace}
}
}%

View File

@@ -56,32 +56,32 @@
\newcounter{lang}
\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}
\usepackage[ngerman]{babel}
\else
\typeout{[Lang Switcher] No such language!}
\fi
\fi
\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}
\usepackage[ngerman]{babel}
\else
\typeout{[Lang Switcher] No such language!}
\fi
\fi
}
% Deprecated, as not useful
\newcommand{\loadLang}{
\ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English}
}\else {
\typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2}
}
\fi
\ifnum\value{lang}<2{
\typeout{[Lang Loader] Loaded English}
}\else {
\typeout{[Lang Loader] Loaded German}
\setcounter{lang}{2}
}
\fi
}
@@ -97,69 +97,69 @@
% ── Setup ───────────────────────────────────────────────────────────
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
\newcommand{\setup}[1]{
\typeout{[Setup] Setting up...}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\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}}
}
\typeout{[Setup] Complete}
\typeout{[Setup] Setting up...}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\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}}
}
\typeout{[Setup] Complete}
}
% Start document command (required)
\newcommand{\startDocument}{
\maketitle
\startDocumentNoTitle
\maketitle
\startDocumentNoTitle
}
% Or this one, if you don't want a title
\newcommand{\startDocumentNoTitle}{
\pagestyle{fancy}
\thispagestyle{fancy}
\pagestyle{fancy}
\thispagestyle{fancy}
}
% Set up the latex document, only configuring the author, title and page size
\newcommand{\setupBarebones}[1]{
\typeout{[Setup] Using barebones setup}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\typeout{[Setup] Using barebones setup}
\loadLang
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
}
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup}
\loadLang
\edef\valtrue{true}
\ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\typeout{[Setup] Using CheatSheet setup}
\loadLang
\edef\valtrue{true}
\ifbool{cheatSheetLandscape}{
\typeout{[Setup] Using landscape with \arabic{colCount} columns}
\usepackage[landscape,a4paper,textwidth=28.5cm,textheight=20cm]{geometry}
\usepackage{flowfram}
\allowdisplaybreaks
\ffvadjustfalse
\setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}}
}{
\typeout{[Setup] Using portrait}
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\usepackage{flowfram}
\allowdisplaybreaks
\ffvadjustfalse
\setlength{\columnsep}{1cm}
\Ncolumn{\arabic{colCount}}
}{
\typeout{[Setup] Using portrait}
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
}
@@ -248,35 +248,35 @@
% 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
}
}
\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
}
}
}
% -------------------- %
@@ -284,15 +284,15 @@
% -------------------- %
\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}
}
}
\ifthenelse{\equal{#1}{mono}}{
\renewcommand{\familydefault}{\ttdefault}
}{
\ifthenelse{\equal{#1}{serif}}{
\renewcommand{\familydefault}{\rmdefault}
}{
\renewcommand{\familydefault}{\sfdefault}
}
}
}
\newcommand{\hrmvspace}{\vspace{-0.25pc}}
@@ -310,16 +310,16 @@
% 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}}}
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}}
@@ -354,14 +354,14 @@
% 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}
\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}
}
%▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
@@ -372,40 +372,40 @@
% General tcolorboxes
\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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
overlay={\node[overlaystyle,draw=green!75!black,,fill=green!75!black] at (frame.north east) {\large \translate{Usage }{Nutzung }};},#1}
% Task
@@ -418,7 +418,7 @@
% 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}
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}
@@ -572,9 +572,9 @@
% For using index package
\newcommand{\prepareIndex}{
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex
}
\newcommand{\addIndexBold}[1]{\textbf{\index{\MakeLowercase{#1}} #1}}
@@ -630,22 +630,22 @@
% 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}%
\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}%
\stepcounter{#1}%
\stepcounter{#1ss}%
\stepcounter{#1sss}%
}
\newcommand{\printcounter}[1]{%
\csname the#1\endcsname
\csname the#1\endcsname
}
\newcommand{\suffix}{ss}
@@ -655,119 +655,119 @@
% │ 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
\ifnum\value{numberingConfig}>1%
\ifnum\value{numberSubsections}=1%
\stepcounter{allss}%
\else
\ifnum\value{numberSubsections}=2%
\stepcounter{allsss}%
\else%
\stepcounter{all}%
\fi
\fi
\fi
}
\AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures
\ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
\else
\ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else
\ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else
\ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi
\fi
\fi
\fi
% Tables & Figures
\ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{\arabic{table}}
\renewcommand{\thefigure}{\arabic{figure}}
\else
\ifnum\value{numberingConfig}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{figure}}
\else
\ifnum\value{numberSubsections}=1
\renewcommand{\thetable}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allss}}
\else
\ifnum\value{numberSubsections}=2
\renewcommand{\thetable}{\refstepcounter{allsss}\sectionNumbering.\arabic{allsss}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{allsss}}
\else
\renewcommand{\thetable}{\sectionNumbering.\arabic{all}}
\renewcommand{\thefigure}{\sectionNumbering.\arabic{all}}
\fi
\fi
\fi
\fi
}
\newcommand{\setSubsectionNumbering}[1]{
\setcounter{numberSubsections}{#1}
\applySubsectionNumbering
\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
\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{\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{\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}}
\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}
\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}
@@ -776,27 +776,27 @@
% │ 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}
\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}
% ────────────────────────────────────────────────────────────────────
@@ -809,22 +809,22 @@
% For later change
\newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1}
}
\applyTableAndFigureNumbering
\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
\setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering
}
\newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering
\setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering
}
% ────────────────────────────────────────────────────────────────────
@@ -833,51 +833,51 @@
% │ new page │
% ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{
\newpage
\newsectionNoPB
\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{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{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}
\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}
% Tables & Figures
\setcounter{table}{0}
\setcounter{figure}{0}
}
\newsectionNoPB % Initializes
@@ -893,39 +893,39 @@
% 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}
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}
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}
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}
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}
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}
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}
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}
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}
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ────────────────────────────────────────────────────────────────────
@@ -1003,14 +1003,14 @@
\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}
\begin{algorithm}
\begin{spacing}{1.2}
\caption{\textsc{#1}}
\begin{algorithmic}[1]
}{
\end{algorithmic}
\end{spacing}
\end{algorithm}
}
% • ▌ ▄ ·. ▄▄▄· ▄▄▄▄▄ ▄ .▄ .▄▄ · ▄▄▄▄▄ ▄· ▄▌▄▄▌ ▄▄▄ .
@@ -1031,10 +1031,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}
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}
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Forms}{Formen}};},#1}
% _____ _ _
% (_ _) ( ) (_ )
@@ -1048,26 +1048,26 @@
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{
\begin{center}
\begin{tabular}{#1}
\toprule
#2 \\
\midrule
}{
\bottomrule
\end{tabular}
\end{center}
\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}
\edef\tableCaption{#3}
\begin{table}[h!]
\begin{tables}{#1}{#2}
}{
\end{tables}
\caption{\tableCaption}
\end{table}
}
% ___ _ _____ _ _
@@ -1080,14 +1080,14 @@
% Configs if you want to use BibTeX. Not included in any default configs.
\newcommand{\setupBibtex}[1]{
\usepackage{biblatex}
\usepackage[nottoc, numbib]{tocbibind}
\addbibresource{#1}
\usepackage{biblatex}
\usepackage[nottoc, numbib]{tocbibind}
\addbibresource{#1}
}
\newcommand{\printbib}{
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
\printbibliography[title=\translate{Sources}{Quellen}]
\addcontentsline{toc}{section}{\translate{Sources}{Quellen}}
\printbibliography[title=\translate{Sources}{Quellen}]
}
@@ -1098,14 +1098,14 @@
% Add glossaries functionality
\newcommand{\setupGlossary}{
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
\usepackage[nonumberlist, toc]{glossaries}
\usepackage[nottoc, numbib]{tocbibind}
\makenoidxglossaries
}
\newcommand{\printGlossary}{
\glsaddall
\printnoidxglossaries
\glsaddall
\printnoidxglossaries
}
% ┌ ┐
@@ -1120,8 +1120,8 @@
% Args: Language, Code
\newenvironment{code}[1]{
\VerbatimEnvironment
\begin{minted}[
\VerbatimEnvironment
\begin{minted}[
autogobble,
breaklines,
breakindentnchars=2,
@@ -1135,23 +1135,23 @@
% Args: Language, file relative to root file
\newcommand{\inputcode}[2]{
\inputminted[
autogobble,
breaklines,
breakindentnchars=2,
frame=lines,
framesep=2mm,
mathescape,
baselinestretch=1.1,
linenos
]{#1}{#2}
\inputminted[
autogobble,
breaklines,
breakindentnchars=2,
frame=lines,
framesep=2mm,
mathescape,
baselinestretch=1.1,
linenos
]{#1}{#2}
}
% Args: Language, Base directory (with trailing slash), file (no slash at start)
\newcommand{\inputcodewithfilename}[3]{
\begin{figure}[h!]
\texttt{File: \detokenize{#3}}
\rmvspace
\inputcode{#1}{#2#3}
\end{figure}
\begin{figure}[h!]
\texttt{File: \detokenize{#3}}
\rmvspace
\inputcode{#1}{#2#3}
\end{figure}
}

View File

@@ -27,6 +27,7 @@
\RequirePackage{etoolbox}
\RequirePackage{makecell}
\RequirePackage{parskip}
\RequirePackage{titlesec}
\newcounter{descriptorShadeStrength}
\newcounter{shadeStrength}

View File

@@ -88,7 +88,6 @@
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
\newcommand{\sequence}[1]{(#1_n)_{n \geq 1}}
\newcommand{\series}[2]{\sum_{k = 1}^{#2} #1_k}
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
\DeclareMathOperator\arctanh{arctanh}
\DeclareMathOperator\arccosh{arccosh}

View File

@@ -5,6 +5,7 @@
\ifthenelse{\equal{\currentLanguage}{en}}{#1}{#2}%
}
\newcommand{\tr}[2]{\translate{#1}{#2}}
\newcommand{\safetr}[2]{\protecting{\translate{#1}{#2}}}
\newcommand{\namingTranslate}[1]{\translate{\printTranslationOptionEN{#1}}{\printTranslationOptionDE{#1}}}
\newcommand{\shortNamingTranslate}[1]{\translate{\printShortTranslationOptionEN{#1}}{\printShortTranslationOptionDE{#1}}}

View File

@@ -80,3 +80,11 @@
% Same for urls (just one arg tho)
\newcommand{\hlurl}[1]{\color{MidnightBlue}\fbox{\url{#1}}\color{black}}
\makeatletter
\renewcommand\paragraph{%
\@startsection{paragraph}{4}{0mm}%
{-\baselineskip}%
{.5\baselineskip}%
{\normalfont\normalsize\bfseries}}
\makeatother

View File

@@ -46,6 +46,8 @@
\newcommand{\inlineproof}[1][NONAME]{\unnumberedInline[#1]{proof}}
\newcommand{\inlineterm}[1][NONAME]{\unnumberedInline[#1]{term}}
\newcommand{\inlinenotation}[1][NONAME]{\unnumberedInline[#1]{notation}}
\newcommand{\shortproof}[1][NONAME]{\unnumberedShort[#1]{proof}}
\newcommand{\shortterm}[1][NONAME]{\unnumberedShort[#1]{term}}
\newcommand{\shortnotation}[1][NONAME]{\unnumberedShort[#1]{notation}}

View File

@@ -1,4 +1,8 @@
\newcommand{\noverticalspacing}{
\titlespacing*{\section}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 2pt minus 2pt}
\titlespacing*{\subsection}{0pt}{1pt plus 2pt minus 1pt}{1pt plus 2pt minus 1pt}
\titlespacing*{\subsubsection}{0pt}{1pt plus 1pt minus 1pt}{1pt plus 1pt minus 1pt}
\titlespacing*{\paragraph}{0pt}{0pt plus 1pt minus 0pt}{1pt plus 0pt minus 1pt}
\abovedisplayskip 1pt plus 2pt minus 1pt
\belowdisplayskip 1pt plus 2pt minus 1pt
\abovedisplayshortskip -10pt
@@ -6,10 +10,15 @@
\floatsep 1pt plus 2pt minus 1pt
\intextsep 1pt plus 2pt minus 1pt
\textfloatsep 1pt plus 2pt minus 1pt
\multicolsep 1pt plus 2pt minus 1pt
\abovecaptionskip 2pt
\setlist{noitemsep,topsep=1pt,partopsep=0pt}
}
\newcommand{\smallverticalspacing}{
\titlespacing*{\section}{0pt}{4pt plus 3pt minus 2pt}{3pt plus 2pt minus 1pt}
\titlespacing*{\subsection}{0pt}{3pt plus 2pt minus 1pt}{2pt plus 2pt minus 0pt}
\titlespacing*{\subsubsection}{0pt}{2pt plus 2pt minus 1pt}{2pt plus 1pt minus 0pt}
\titlespacing*{\paragraph}{0pt}{1pt plus 1pt minus 1pt}{1pt plus 0pt minus 0pt}
\abovedisplayskip 4pt plus 3pt minus 2pt
\belowdisplayskip 5pt plus 5pt minus 2pt
\abovedisplayshortskip -5pt
@@ -17,10 +26,15 @@
\floatsep 4pt plus 3pt minus 2pt
\intextsep 4pt plus 3pt minus 2pt
\textfloatsep 4pt plus 3pt minus 2pt
\multicolsep 4pt plus 3pt minus 2pt
\abovecaptionskip 4pt
\setlist{itemsep=2pt,topsep=2pt,partopsep=1pt}
}
\newcommand{\mediumverticalspacing}{
\titlespacing*{\section}{0pt}{6pt plus 2pt minus 2pt}{4pt plus 2pt minus 2pt}
\titlespacing*{\subsection}{0pt}{4pt plus 2pt minus 2pt}{3pt plus 2pt minus 1pt}
\titlespacing*{\subsubsection}{0pt}{3pt plus 1pt minus 1pt}{2pt plus 1pt minus 0pt}
\titlespacing*{\paragraph}{0pt}{2pt plus 1pt minus 1pt}{1pt plus 0pt minus 0pt}
\abovedisplayskip 7pt plus 4pt minus 3pt
\belowdisplayskip 9pt plus 6pt minus 3pt
\abovedisplayshortskip 0pt
@@ -28,10 +42,15 @@
\floatsep 7pt plus 4pt minus 3pt
\intextsep 7pt plus 4pt minus 3pt
\textfloatsep 7pt plus 4pt minus 3pt
\multicolsep 7pt plus 4pt minus 3pt
\abovecaptionskip 7pt
\setlist{itemsep=4pt,topsep=4pt,partopsep=2pt}
}
\newcommand{\largeverticalspacing}{
\titlespacing*{\section}{0pt}{8pt plus 2pt minus 4pt}{5pt plus 2pt minus 3pt}
\titlespacing*{\subsection}{0pt}{6pt plus 2pt minus 3pt}{4pt plus 2pt minus 2pt}
\titlespacing*{\subsubsection}{0pt}{4pt plus 1pt minus 2pt}{3pt plus 1pt minus 1pt}
\titlespacing*{\paragraph}{0pt}{3pt plus 1pt minus 1pt}{2pt plus 1pt minus 1pt}
\abovedisplayskip 13pt plus 5pt minus 4pt
\belowdisplayskip 15pt plus 9pt minus 6pt
\abovedisplayshortskip 5pt plus 2pt minus 3pt
@@ -39,6 +58,7 @@
\floatsep 12pt plus 5pt minus 4pt
\intextsep 12pt plus 5pt minus 4pt
\textfloatsep 12pt plus 5pt minus 4pt
\multicolsep 12pt plus 5pt minus 4pt
\abovecaptionskip 10pt
\setlist{itemsep=6pt,topsep=6pt,partopsep=2pt}
}

View File

@@ -3,33 +3,97 @@
"prefix": "latex-prepare",
"body": [
"\\documentclass{article}\n",
"\\newcommand{\\input}{~/projects/latex/janishutz-helpers.tex}\n",
"\\input{~/projects/latex/janishutz-helpers.tex}\n",
"\\usepackage{lmodern}",
"\\setFontType{sans}\n",
"\\setup{$1}\n",
"\\begin{document}",
"\\startDocument\n\n",
"\\vspace{2cm}",
"\\begin{center}\n\n",
"\\includegraphics[width=0.6\\linewidth]{~/projects/latex/assets/logo.jpg}",
"$2\n\n",
"\\end{document}"
],
"description": "Prepares a simple LaTeX Document"
},
"LaTeX CheatSheet Setup": {
"prefix": "latex-cheatsheet",
"body": [
"\\documentclass{article}\n",
"\\input{~/projects/latex/janishutz-helpers.tex}\n",
"\\usepackage{lmodern}",
"\\setFontType{sans}\n",
"\\setupCheatSheet{$1}\n",
"\\begin{document}",
"\\startDocument\n\n",
"$2\n\n",
"\\end{document}"
],
"description": "Prepares to write a LaTeX CheatSheet"
},
"Full Summary LaTeX Setup": {
"prefix": "latex-summary",
"body": [
"\\documentclass{article}\n",
"\\input{~/projects/latex/janishutz-helpers.tex}\n",
"\\usepackage{lmodern}",
"\\setFontType{sans}\n",
"\\setup{$1}\n",
"\\begin{document}",
"\\startDocument\n",
"\\vspace{1cm}",
"\\begin{center}",
"\t\\includegraphics[width=0.5\\linewidth]{~/projects/latex/assets/logo.jpg}",
"\\end{center}\n\n",
"\\vspace{3cm}",
"\\vspace{2cm}",
"\\begin{center}",
"\t\\begin{Large}",
"\t\t\\quote{A funny quote by a professor}",
"\t\\end{Large}",
"\\hspace{3cm} - Prof. Dr. Professor Name, YEAR",
"\t\\end{Large}\n",
"\t\\hspace{3cm} - Prof. Dr. Professor Name, YEAR",
"\\end{center}\n",
"\\vspace{2cm}",
"\\vspace{1.5cm}",
"\\begin{center}",
"\tSEMESTER, ETHZ\\\\[0.2cm]",
"\tSEMESTER, ETHZ\n",
"\t\\begin{Large}",
"\t\tSummary of the Script and Lectures",
"\t\\end{Large}\\\\[0.2cm]",
"\\end{center}",
"\t\\end{Large}",
"\\end{center}\n\n",
"\\newpage",
"\\printtoc{Aquamarine}\n\n",
"$2\n\n",
"\\end{document}"
],
"description": "Prepares a full LaTeX Document for use and compiling"
"description": "Prepares a full LaTeX Summary"
},
"LaTeX Beamer Setup": {
"prefix": "latex-beamer",
"body": [
"\\documentclass{beamer}\n",
"\\input{~/projects/latex/janishutz-helpers.tex}\n",
"\\usepackage{lmodern}",
"\\setFontType{sans}\n",
"\\title{$1}",
"\\author{\\authorTitle}\n",
"\\usetheme{default}",
"\\usecolortheme{beaver}\n",
"\\AtBeginSection[]{",
"\t\\begin{frame}",
"\t\\frametitle{Table of Contents}",
"\t\\tableofcontents[currentsection]",
"\t\\end{frame}",
"}\n",
"\\begin{document}\n",
"\\frame{\\titlepage}\n\n",
"\\begin{frame}\n",
"\t\\frametitle{Table of Contents}",
"\t\\tableofcontents",
"\\end{frame}\n\n",
"\\begin{frame}\n",
"\t\\frametitle{$2}",
"\t$3",
"\\end{frame}\n\n",
"\\end{document}"
],
"description": "Prepares to write a LaTeX CheatSheet"
},
"Fancy table": {
"prefix": "table",