Compare commits
115 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f2c05b6eb | |||
| 4577950acc | |||
|
|
fd7ce878e5 | ||
| 457d7ce024 | |||
|
|
8c8cc53a8c | ||
| 73b6098463 | |||
|
|
635d32d260 | ||
| bda3b92795 | |||
| f2c337eaa9 | |||
| 141cf5d091 | |||
|
|
e16e4b3e7b | ||
| 566649ecc3 | |||
| 7f8c112556 | |||
|
|
aaa6a709fc | ||
| 66aee3d780 | |||
| da4eeebc6d | |||
| ab3abb113c | |||
|
|
951458a867 | ||
| 4f03b8eebc | |||
| 3a67a42535 | |||
| bcd7ed17d0 | |||
| 2c0db60c7d | |||
|
|
90ce264992 | ||
| 579cbd96ca | |||
|
|
88e2dc1a70 | ||
| b9d9f6772c | |||
|
|
b0e161e133 | ||
| 676bbd9306 | |||
|
|
5f691d9372 | ||
| fd66333f7a | |||
|
|
db2fbc4c70 | ||
| dcb077e116 | |||
|
|
be655d2387 | ||
| cb173908b4 | |||
|
|
6803d1f62d | ||
| 4eff956d53 | |||
| f622e2be55 | |||
|
|
9a19639d10 | ||
| bfc62a37eb | |||
| 01e20cef5d | |||
|
|
eda396d617 | ||
| 4522e88c92 | |||
|
|
04b388c382 | ||
| 3d6d6234de | |||
|
|
4344f8f09d | ||
| b1d81bdd06 | |||
|
|
1e766b8133 | ||
| c5fccabba9 | |||
|
|
e2a725bc51 | ||
| cc3144b170 | |||
| b908ae3b29 | |||
| 0ea3d9245c | |||
|
|
27c96d26a0 | ||
| c6aa4c8d80 | |||
| f1b64e8ddb | |||
| a5cb9bb54d | |||
| 432fcb4153 | |||
| 159b37a3d3 | |||
| baf964792a | |||
| 01047ba385 | |||
| c321acd063 | |||
|
|
1462cc0198 | ||
| 6dbcd64ed4 | |||
| 8346a558c7 | |||
| 91cfc52ec8 | |||
| dba7f93d0d | |||
| 098ffcc618 | |||
| 4102cafa6e | |||
| bdb72b2e2a | |||
| 5169d20bed | |||
| 86f080a705 | |||
| 23037f11f6 | |||
| 8b4d775d1a | |||
| 3406ad8951 | |||
| 495f3a8503 | |||
| 7101d5f017 | |||
| d3ebc929a0 | |||
| 284d957a92 | |||
| dc62654e42 | |||
| 6b052b8152 | |||
| 100f16afda | |||
| 491cdd9441 | |||
| ca9fd7a66f | |||
| 7bf361ccd4 | |||
| c0134e47c2 | |||
| e2974cea74 | |||
| 6394ce2591 | |||
| 4db6733865 | |||
| 7a73c73687 | |||
| 24b4fe0959 | |||
| 43819d942c | |||
| 7ee9152f41 | |||
| 1518007fe2 | |||
| 3864d838d6 | |||
| 98b3e7ee66 | |||
| dca911c00b | |||
| bb42a2e803 | |||
| 8a238d1a8c | |||
| e64a76745a | |||
| 978039b0d0 | |||
| cc78cee14f | |||
| 962989468b | |||
| b05be21b92 | |||
| 2be8109e90 | |||
| a0893a9887 | |||
| 73b33777e3 | |||
| 54f58f0b3a | |||
| 5a696f57c4 | |||
| cf5879b9a4 | |||
| d600d6d8f3 | |||
| 6e6bdba382 | |||
| 66725558bb | |||
| 491adc1744 | |||
| 47ed047c7e | |||
| b8473c5f68 |
35
.gitea/workflows/update-docs.yml
Normal file
35
.gitea/workflows/update-docs.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
name: Update docs
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- 'docs/**'
|
||||||
|
jobs:
|
||||||
|
build_docs:
|
||||||
|
runs_on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up Git repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Sign into gitea registry
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.REGISTRY_USER_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_USER_PASSWORD }}
|
||||||
|
registry: ${{ vars.REGISTRY_BASE_URL }}
|
||||||
|
- name: Run format of docs
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: docs
|
||||||
|
- name: Run build
|
||||||
|
uses: actions/latex-full@main
|
||||||
|
with:
|
||||||
|
workdir: docs
|
||||||
|
include_helpers: true
|
||||||
|
- name: Upload compiled docs
|
||||||
|
uses: actions/git-auto-commit-action@v7
|
||||||
|
with:
|
||||||
|
commit_message: "[skip ci] Build docs on push"
|
||||||
|
file_pattern: '*.pdf'
|
||||||
|
commit_user_name: LaTeX compiler [bot]
|
||||||
|
commit_user_email: actions@janishutz.com
|
||||||
|
commit_author: LaTeX compiler [bot] <actions@janishutz.com>
|
||||||
|
push_options: "--force"
|
||||||
36
.gitea/workflows/update-helpers.yml
Normal file
36
.gitea/workflows/update-helpers.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
name: Update helpers
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- 'main/**'
|
||||||
|
- 'extra/**'
|
||||||
|
jobs:
|
||||||
|
build_helpers:
|
||||||
|
runs_on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Set up Git repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
- name: Sign into gitea registry
|
||||||
|
uses: https://github.com/docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ vars.REGISTRY_USER_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_USER_PASSWORD }}
|
||||||
|
registry: ${{ vars.REGISTRY_BASE_URL }}
|
||||||
|
- name: Run format of main
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: main
|
||||||
|
- name: Run format of extra
|
||||||
|
uses: actions/latex-format@main
|
||||||
|
with:
|
||||||
|
workdir: extra
|
||||||
|
- name: Run build
|
||||||
|
run: ./build.sh
|
||||||
|
- name: Upload compiled helpers
|
||||||
|
uses: actions/git-auto-commit-action@v7
|
||||||
|
with:
|
||||||
|
commit_message: "[skip ci] Build helpers on push"
|
||||||
|
commit_user_name: Helpers compiler [bot]
|
||||||
|
commit_user_email: actions@janishutz.com
|
||||||
|
commit_author: Helpers compiler [bot] <actions@janishutz.com>
|
||||||
|
push_options: "--force"
|
||||||
82
.latexindent.yaml
Normal file
82
.latexindent.yaml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
# 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
|
||||||
@@ -3,6 +3,9 @@
|
|||||||
<h1>LaTeX Helper files</h1>
|
<h1>LaTeX Helper files</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
This repository contains a collection of LaTeX files, helping you get started with LaTeX quickly.
|
This repository contains a collection of LaTeX files, helping you get started with LaTeX quickly.
|
||||||
|
|
||||||
# New import scheme
|
# New import scheme
|
||||||
@@ -11,7 +14,7 @@ I have done some tweaks to support a new import scheme, making imports much more
|
|||||||
|
|
||||||
|
|
||||||
# Getting started
|
# Getting started
|
||||||
See the docs [here](https://git.janishutz.com/janishutz/latex/src/branch/main/docs/docs.pdf) to get started.
|
See the docs [here](https://git.janishutz.com/janishutz/latex/raw/branch/main/docs/docs.pdf) to get started.
|
||||||
|
|
||||||
|
|
||||||
# Recommended LaTeX editors
|
# Recommended LaTeX editors
|
||||||
|
|||||||
76
build.sh
76
build.sh
@@ -8,51 +8,61 @@ echo "
|
|||||||
█ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
|
█ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
|
||||||
█ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
|
█ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
|
||||||
█▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
|
█▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
|
||||||
|
|
||||||
==> Building <==
|
|
||||||
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
mkdir dist/
|
mkdir dist/
|
||||||
cat ./scopes/header.tex >>./dist/minimal.sty
|
echo "
|
||||||
|
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
|
||||||
|
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
|
||||||
|
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
|
||||||
|
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
|
||||||
|
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
|
||||||
|
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
|
||||||
|
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
|
||||||
|
" > ./dist/minimal.tex
|
||||||
|
|
||||||
# Build minimal scope
|
# Build minimal scope
|
||||||
cat ./main/core.tex >>./dist/minimal.sty
|
cat ./main/core.tex >>./dist/minimal.tex
|
||||||
echo "\n" >>./dist/minimal.sty
|
echo "" >>./dist/minimal.tex
|
||||||
cat ./main/style/style.tex >>./dist/minimal.sty
|
cat ./config/config.tex >>./dist/minimal.tex
|
||||||
echo "\n" >>./dist/minimal.sty
|
echo "" >>./dist/minimal.tex
|
||||||
cat ./main/style/common.tex >>./dist/minimal.sty
|
cat ./main/style/style.tex >>./dist/minimal.tex
|
||||||
|
echo "" >>./dist/minimal.tex
|
||||||
|
cat ./main/style/common.tex >>./dist/minimal.tex
|
||||||
|
|
||||||
# Build most
|
# Build most
|
||||||
cat ./dist/minimal.sty >./dist/most.sty
|
cat ./dist/minimal.tex >./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/math.tex >>./dist/most.sty
|
cat ./main/math.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/cs.tex >>./dist/most.sty
|
cat ./main/cs.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/index.tex >>./dist/most.sty
|
cat ./main/index.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/style/counters.tex >>./dist/most.sty
|
cat ./main/style/counters.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/style/cs.tex >>./dist/most.sty
|
cat ./main/style/cs.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/style/math.tex >>./dist/most.sty
|
cat ./main/style/math.tex >>./dist/most.tex
|
||||||
echo "\n" >>./dist/most.sty
|
echo "" >>./dist/most.tex
|
||||||
cat ./main/style/language.tex >>./dist/most.sty
|
cat ./main/style/language.tex >>./dist/most.tex
|
||||||
|
echo "" >>./dist/most.tex
|
||||||
|
cat ./main/tables.tex >>./dist/most.tex
|
||||||
|
|
||||||
# Build recommended
|
# Build recommended
|
||||||
cat ./dist/most.sty >./dist/recommended.sty
|
cat ./dist/most.tex >./dist/recommended.tex
|
||||||
echo "\n" >>./dist/recommended.sty
|
echo "" >>./dist/recommended.tex
|
||||||
cat ./extra/bib.tex >>./dist/recommended.sty
|
cat ./extra/bib.tex >>./dist/recommended.tex
|
||||||
echo "\n" >>./dist/recommended.sty
|
echo "" >>./dist/recommended.tex
|
||||||
cat ./extra/glossary.tex >>./dist/recommended.sty
|
cat ./extra/glossary.tex >>./dist/recommended.tex
|
||||||
|
|
||||||
# Build full
|
# Build full
|
||||||
cat ./dist/recommended.sty >./dist/full.sty
|
cat ./dist/recommended.tex >./dist/full.tex
|
||||||
echo "\n" >>./dist/full.sty
|
echo "" >>./dist/full.tex
|
||||||
cat ./extra/minted.tex >>./dist/full.sty
|
cat ./extra/minted.tex >>./dist/full.tex
|
||||||
|
|
||||||
# Copy letter
|
# Copy letter
|
||||||
cp ./scopes/letter.tex ./dist/letter.sty
|
cp ./scopes/letter.tex ./dist/letter.tex
|
||||||
|
|
||||||
echo "==> Done"
|
echo "==> Done"
|
||||||
|
|||||||
@@ -42,3 +42,9 @@
|
|||||||
|
|
||||||
% The colour-saturation of the shade command (default = 20)
|
% The colour-saturation of the shade command (default = 20)
|
||||||
\setcounter{shadeStrength}{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}
|
||||||
|
|||||||
1157
dist/full.tex
vendored
Normal file
1157
dist/full.tex
vendored
Normal file
File diff suppressed because it is too large
Load Diff
32
dist/letter.tex
vendored
Normal file
32
dist/letter.tex
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
|
\setkomavar{date}{\city, \today}
|
||||||
|
|
||||||
|
\newkomavar{fromplace} % a few koma vars
|
||||||
|
\setkomavar{fromname}{\name}
|
||||||
|
\setkomavar{fromaddress}{\street}
|
||||||
|
\setkomavar{fromplace}{\countrycode -\city}
|
||||||
|
|
||||||
|
\KOMAoptions{foldmarks=off,fromrule=false}
|
||||||
|
\setkomavar{backaddress}{}
|
||||||
|
|
||||||
|
\makeatletter % indention of the address fields
|
||||||
|
\setplength{toaddrhpos}{27mm}
|
||||||
|
\setplength{toaddrwidth}{92mm}
|
||||||
|
\setplength{sigindent}{0mm}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\renewcommand*{\raggedsignature}{\raggedright}
|
||||||
|
|
||||||
|
% Define new letter header
|
||||||
|
\setkomavar{firsthead}{
|
||||||
|
\null\hfill
|
||||||
|
\parbox[t][\headheight][t]{4cm}{%
|
||||||
|
\vspace*{2cm}
|
||||||
|
|
||||||
|
\usekomavar{fromname} \newline
|
||||||
|
\usekomavar{fromaddress} \newline
|
||||||
|
\usekomavar{fromplace}
|
||||||
|
}
|
||||||
|
}%
|
||||||
424
dist/minimal.tex
vendored
Normal file
424
dist/minimal.tex
vendored
Normal file
@@ -0,0 +1,424 @@
|
|||||||
|
|
||||||
|
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
|
||||||
|
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
|
||||||
|
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
|
||||||
|
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
|
||||||
|
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
|
||||||
|
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
|
||||||
|
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
|
||||||
|
|
||||||
|
%
|
||||||
|
% ▄▄█▀▀▀█▄█
|
||||||
|
% ▄██▀ ▀█
|
||||||
|
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
||||||
|
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
|
||||||
|
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
|
||||||
|
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
|
||||||
|
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
||||||
|
|
||||||
|
% 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
Normal file
1071
dist/most.tex
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1109
dist/recommended.tex
vendored
Normal file
1109
dist/recommended.tex
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
docs/docs.pdf
BIN
docs/docs.pdf
Binary file not shown.
@@ -1,8 +1,6 @@
|
|||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
|
|
||||||
\newcommand{\dir}{~/projects/latex}
|
\input{~/projects/latex/dist/full.tex}
|
||||||
\input{\dir/include.tex}
|
|
||||||
\load{full}
|
|
||||||
|
|
||||||
\setup{Docs - \LaTeX \hspace{0mm} helpers}
|
\setup{Docs - \LaTeX \hspace{0mm} helpers}
|
||||||
\setLang{en}
|
\setLang{en}
|
||||||
@@ -23,7 +21,10 @@
|
|||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
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.
|
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.
|
||||||
|
|
||||||
It has some configuration options already, but more are to come soon. If you have any suggestions as to what should be added, don't hesitate to open a support ticket at \url{https://support.janishutz.com?a=add} or contacting me via email to \texttt{development@janishutz.com}.
|
It has some configuration options already, but more are to come soon.
|
||||||
|
If you have any suggestions as to what should be added, don't hesitate to open a support ticket at \url{https://support.janishutz.com?a=add}.
|
||||||
|
|
||||||
|
This document is automatically compiled on push from the files in the docs directory. If there are issues with the doc, please contact me at \url{https://support.janishutz.com?a=add}
|
||||||
|
|
||||||
|
|
||||||
\section{Breaking Changes}
|
\section{Breaking Changes}
|
||||||
@@ -45,7 +46,10 @@ Please note that this will overwrite \textit{all} occurrences of \verb|\setcount
|
|||||||
|
|
||||||
and for the \verb|\stepcounter| as well
|
and for the \verb|\stepcounter| as well
|
||||||
|
|
||||||
\verb|/\\stepcounter{\(.*\)s}/\\stepLabelNumber{\1}| and \verb|/\\stepcounter{all}/\\stepLabelNumber{all}/g|.
|
\verb|/\\stepcounter{\(.*\)s}/\\stepLabelNumber{\1}/g| and \verb|/\\stepcounter{all}/\\stepLabelNumber{all}/g|.
|
||||||
|
|
||||||
|
Additionally, to use auto-expanding vector arrows, we have migrated to using \verb|\vect{x}| to allow for the built-in \verb|\vec{x}| to be accessible.
|
||||||
|
Thus, any documents that used the \verb|\vec| command, you can migrate them to the new format using the regex \verb|/\\vec/\\vect/g|
|
||||||
|
|
||||||
|
|
||||||
\section{Installation}
|
\section{Installation}
|
||||||
|
|||||||
@@ -9,11 +9,14 @@ To add more sources, simply use bibter's built-in macro \verb|\addbibresource|\t
|
|||||||
You need to use that inside the preamble as well.
|
You need to use that inside the preamble as well.
|
||||||
|
|
||||||
|
|
||||||
|
% ────────────────────────────────────────────────────────────────────
|
||||||
\subsubsection{Glossary}
|
\subsubsection{Glossary}
|
||||||
\textit{Included in \texttt{recommended} and up}
|
\textit{Included in \texttt{recommended} and up}
|
||||||
|
|
||||||
Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossary commands to add entries to the glossary. When you want to print it, use \verb|\printGlossary|.
|
Use \verb|\setupGlossary| in the preamble to prepare, then use the normal glossary commands to add entries to the glossary. When you want to print it, use \verb|\printGlossary|.
|
||||||
|
|
||||||
|
|
||||||
|
% ────────────────────────────────────────────────────────────────────
|
||||||
\subsubsection{Minted}
|
\subsubsection{Minted}
|
||||||
\textit{Included in \texttt{full}}
|
\textit{Included in \texttt{full}}
|
||||||
|
|
||||||
@@ -24,7 +27,7 @@ When \texttt{minted} is available via these helpers, you will also have access t
|
|||||||
|
|
||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\begin{code}{language}
|
\begin{code}{language}
|
||||||
//Code goes here
|
// Code goes here
|
||||||
\end{code}
|
\end{code}
|
||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
@@ -33,10 +36,32 @@ This is nothing different than a wrapper for a minted environment with a box dra
|
|||||||
Example (in python):
|
Example (in python):
|
||||||
|
|
||||||
\begin{code}{python}
|
\begin{code}{python}
|
||||||
def hello_world():
|
def hello_world():
|
||||||
print("hello world!")
|
print("hello world!")
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
|
If instead, you want to have the code in separate source files, you can use (relative to root file)
|
||||||
|
\begin{minted}{latex}
|
||||||
|
\inputcode{<language>}{path/to/source/file}
|
||||||
|
\end{minted}
|
||||||
|
|
||||||
|
The helpers also provide a wrapper for this, which also prints the filename:
|
||||||
|
|
||||||
|
\begin{minted}{latex}
|
||||||
|
\inputcodewithfilename{<language>}{<base dir>}{<file>}
|
||||||
|
\end{minted}
|
||||||
|
where the base dir is relative to the root file of the latex document and is not displayed (and should end in \texttt{/}), and the file is relative to the base dir and is displayed.
|
||||||
|
|
||||||
|
Example (assume file at \texttt{./code/lib/demo.py} and you want the file name to be \texttt{lib/demo.py}):
|
||||||
|
\begin{minted}{latex}
|
||||||
|
\inputcodewithfilename{python}{code/}{lib/demo.py}
|
||||||
|
\end{minted}
|
||||||
|
You may of course leave the base dir argument empty as well.
|
||||||
|
|
||||||
|
|
||||||
|
\fhlc{Cyan}{Inline Code}
|
||||||
If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which renders to \inlinecode{code}.
|
If you want to print code inline, use \verb|\inlinecode|\textit{\{string\}}, which renders to \inlinecode{code}.
|
||||||
|
|
||||||
\textit{Caveat: This is not using the \texttt{verbatim} environment due to various limitations of that environment and instead is simply using} \verb|\texttt{}|, so you cannot use this to print \LaTeX-commands
|
\textit{Caveat: This is not using the \texttt{verbatim} environment due to various limitations of that environment and instead is simply using} \verb|\texttt{}|, so you cannot use this to print \LaTeX-commands
|
||||||
|
|
||||||
|
Alternatively, to get code highlighting, you can use \verb|\mint{<language>}|\texttt{|code|}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
\item \verb|\setupCheatSheet|\{\textit{string}\} Prepare the document with smaller borders and no headers / footers. \textit{string} is the title
|
\item \verb|\setupCheatSheet|\{\textit{string}\} Prepare the document with smaller borders and no headers / footers. \textit{string} is the title
|
||||||
\item \verb|\setupBarebones|\{\textit{string}\} Minimal setup, only borders and title set
|
\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|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
|
||||||
|
\item \verb|\startDocumentNoTile| Initialize the document without printing the title. Has to be called after \verb|\begin{document}|
|
||||||
\item \verb|\usetcolorboxes| Initialize tcolorboxes. In main body, if you want to use fancy boxes. (requires \texttt{most} or up)
|
\item \verb|\usetcolorboxes| Initialize tcolorboxes. In main body, if you want to use fancy boxes. (requires \texttt{most} or up)
|
||||||
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
|
\item \verb|\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|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ General styling commands. All other commands, except these ones require at least
|
|||||||
\item \verb|\smallhspace| Prints a 2mm hspace
|
\item \verb|\smallhspace| Prints a 2mm hspace
|
||||||
\item \verb|\mediumhspace| Prints a 5mm hspace
|
\item \verb|\mediumhspace| Prints a 5mm hspace
|
||||||
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
|
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
|
||||||
|
\item \verb|\hrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (0.5x compared to \verb|\rmvspace|)
|
||||||
\item \verb|\rmvspace| Removes some of the vertical whitespace printed by environments like \verb|align|
|
\item \verb|\rmvspace| Removes some of the vertical whitespace printed by environments like \verb|align|
|
||||||
\item \verb|\drmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (double the amount)
|
\item \verb|\mrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (1.5x compared to \verb|\rmvspace|)
|
||||||
|
\item \verb|\drmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (2x compared to \verb|\rmvspace|)
|
||||||
|
\item \verb|\dhrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (2.5x compared to \verb|\rmvspace|)
|
||||||
|
\item \verb|\dnrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (3x compared to \verb|\rmvspace|)
|
||||||
|
\item \verb|\dmrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (3.5x compared to \verb|\rmvspace|)
|
||||||
|
\item \verb|\ddrmvspace| Removes some of the vertical whitespace printed by environments like \verb|align| (4x compared to \verb|\rmvspace|)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ You can type \texttt{latex-prepare} and press tab, if you have installed the VSC
|
|||||||
\begin{minted}{latex}
|
\begin{minted}{latex}
|
||||||
\documentclass{article}
|
\documentclass{article}
|
||||||
|
|
||||||
\newcommand{\dir}{~/path/to/helper} % TODO: Change your path here! No trailing slashes!
|
\input{~/projects/latex/dist/recommended.tex} % TODO: Change here your inclusion level and path
|
||||||
\input{\dir/include.tex}
|
|
||||||
\load{recommended} % TODO: Change the inclusion level (if necessary), see below
|
|
||||||
|
|
||||||
\setup{Type your title here}
|
\setup{Type your title here}
|
||||||
|
|
||||||
@@ -19,15 +17,19 @@ Type your \LaTeX here
|
|||||||
\end{document}
|
\end{document}
|
||||||
\end{minted}
|
\end{minted}
|
||||||
|
|
||||||
The \verb|\load| command takes one parameter, which can be one of the following:
|
On the line with the TODO, you can change the import path, as well as scope.
|
||||||
|
Simply replace the ``recommended'' with any of the below.
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{minimal} Just the core styling and core functionality.
|
\item \texttt{minimal} Just the core styling and core functionality.
|
||||||
\item \texttt{most} Includes Math, CS, Language and all styling.
|
\item \texttt{most} Includes Math, CS, Language and all styling.
|
||||||
\item \texttt{recommended} The recommended setup. Includes BibTeX in addition to what is in most
|
\item \texttt{recommended} The recommended setup. Includes BibTeX in addition to what is in most
|
||||||
\item \texttt{all} If you want to also include glossaries or code with highlighting
|
\item \texttt{full} If you want to also include glossaries or code with highlighting
|
||||||
\item \texttt{letter} If you want to typeset a letter (see \ref{sec:letters})
|
\item \texttt{letter} If you want to typeset a letter (see \ref{sec:letters})
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
If you are using the old import style, you can use the \verb|\load| command with these options
|
||||||
|
|
||||||
|
|
||||||
\subsection{Configuration}
|
\subsection{Configuration}
|
||||||
You can set a global config in config file in helper files directory. The file is located at
|
You can set a global config in config file in helper files directory. The file is located at
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,14 @@
|
|||||||
|
% ┌ ┐
|
||||||
|
% │ Minted │
|
||||||
|
% └ ┘
|
||||||
\usepackage{minted}
|
\usepackage{minted}
|
||||||
\usepackage{fancyvrb}
|
\usepackage{fancyvrb}
|
||||||
|
|
||||||
|
% Args: Code.
|
||||||
|
% Alternative: Use \mint{<language>}|code|
|
||||||
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
|
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
|
||||||
|
|
||||||
|
% Args: Language, Code
|
||||||
\newenvironment{code}[1]{
|
\newenvironment{code}[1]{
|
||||||
\VerbatimEnvironment
|
\VerbatimEnvironment
|
||||||
\begin{minted}[
|
\begin{minted}[
|
||||||
@@ -13,5 +19,29 @@
|
|||||||
framesep=2mm,
|
framesep=2mm,
|
||||||
mathescape,
|
mathescape,
|
||||||
baselinestretch=1.1,
|
baselinestretch=1.1,
|
||||||
linenos]{#1}}
|
linenos
|
||||||
|
]{#1}}
|
||||||
{\end{minted}}
|
{\end{minted}}
|
||||||
|
|
||||||
|
% Args: Language, file relative to root file
|
||||||
|
\newcommand{\inputcode}[2]{
|
||||||
|
\inputminted[
|
||||||
|
autogobble,
|
||||||
|
breaklines,
|
||||||
|
breakindentnchars=2,
|
||||||
|
frame=lines,
|
||||||
|
framesep=2mm,
|
||||||
|
mathescape,
|
||||||
|
baselinestretch=1.1,
|
||||||
|
linenos
|
||||||
|
]{#1}{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Args: Language, Base directory (with trailing slash), file (no slash at start)
|
||||||
|
\newcommand{\inputcodewithfilename}[3]{
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\texttt{File: \detokenize{#3}}
|
||||||
|
\rmvspace
|
||||||
|
\inputcode{#1}{#2#3}
|
||||||
|
\end{figure}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
% Loader
|
% Loader
|
||||||
|
\ClassWarning{janishutz-helpers}{Using legacy loading method. Please see the docs for updating}
|
||||||
\newcommand{\load}[1]{
|
\newcommand{\load}[1]{
|
||||||
\edef\recommended{recommended}
|
\edef\recommended{recommended}
|
||||||
\edef\minimal{minimal}
|
\edef\minimal{minimal}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
|
%
|
||||||
% ▄▄█▀▀▀█▄█
|
% ▄▄█▀▀▀█▄█
|
||||||
% ▄██▀ ▀█
|
% ▄██▀ ▀█
|
||||||
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
|
||||||
@@ -8,9 +8,12 @@
|
|||||||
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
|
||||||
|
|
||||||
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
|
% This file contains all necessary dependencies for the document to compile (at all) and some core macros
|
||||||
|
% Load this before the config file
|
||||||
|
|
||||||
% Imports %
|
|
||||||
|
% ── Imports ─────────────────────────────────────────────────────────
|
||||||
\typeout{[Core] Importing!}
|
\typeout{[Core] Importing!}
|
||||||
|
|
||||||
\usepackage[table, dvipsnames]{xcolor}
|
\usepackage[table, dvipsnames]{xcolor}
|
||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
@@ -18,10 +21,10 @@
|
|||||||
\usepackage[export]{adjustbox}
|
\usepackage[export]{adjustbox}
|
||||||
\usepackage[most]{tcolorbox}
|
\usepackage[most]{tcolorbox}
|
||||||
\usepackage{cancel}
|
\usepackage{cancel}
|
||||||
|
\usepackage{etoolbox}
|
||||||
\usepackage{dsfont}
|
\usepackage{dsfont}
|
||||||
\usepackage{amssymb}
|
\usepackage{amssymb}
|
||||||
\usepackage{mathrsfs}
|
\usepackage{mathrsfs}
|
||||||
\usepackage{lipsum}
|
|
||||||
\usepackage{ulem}
|
\usepackage{ulem}
|
||||||
\usepackage{soul}
|
\usepackage{soul}
|
||||||
\usepackage{parskip}
|
\usepackage{parskip}
|
||||||
@@ -38,7 +41,8 @@
|
|||||||
\usepackage{pifont}
|
\usepackage{pifont}
|
||||||
|
|
||||||
|
|
||||||
% Language Switching. Currently only English and German are supported
|
% ── Language Switching. ─────────────────────────────────────────────
|
||||||
|
% Currently only English and German are supported
|
||||||
% See docs for how to use
|
% See docs for how to use
|
||||||
\newcounter{lang}
|
\newcounter{lang}
|
||||||
|
|
||||||
@@ -53,13 +57,14 @@
|
|||||||
\ifx\lang\de
|
\ifx\lang\de
|
||||||
\typeout{[Lang Switcher] Loading German}
|
\typeout{[Lang Switcher] Loading German}
|
||||||
\setcounter{lang}{2}
|
\setcounter{lang}{2}
|
||||||
\input{\dir/main/lang/de}
|
\usepackage[ngerman]{babel}
|
||||||
\else
|
\else
|
||||||
\typeout{[Lang Switcher] No such language!}
|
\typeout{[Lang Switcher] No such language!}
|
||||||
\fi
|
\fi
|
||||||
\fi
|
\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% Deprecated, as not useful
|
||||||
\newcommand{\loadLang}{
|
\newcommand{\loadLang}{
|
||||||
\ifnum\value{lang}<2{
|
\ifnum\value{lang}<2{
|
||||||
\typeout{[Lang Loader] Loaded English}
|
\typeout{[Lang Loader] Loaded English}
|
||||||
@@ -71,12 +76,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% ────────────────────────────────────────────────────────────────────
|
||||||
% Create config counters / variables. See the config file for changing them
|
% Create config counters / variables. See the config file for changing them
|
||||||
\newcounter{numberingConfig}
|
\newcounter{numberingConfig}
|
||||||
\newcounter{numberSubsections}
|
\newcounter{numberSubsections}
|
||||||
\newcounter{descriptorShadeStrength}
|
\newcounter{descriptorShadeStrength}
|
||||||
\newcounter{shadeStrength}
|
\newcounter{shadeStrength}
|
||||||
|
\newcounter{colCount}
|
||||||
|
\newbool{cheatSheetLandscape}
|
||||||
|
|
||||||
|
% ── Setup ───────────────────────────────────────────────────────────
|
||||||
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
|
% Set up the latex document, configure author, title (as first argument), as well as headers and footers
|
||||||
\newcommand{\setup}[1]{
|
\newcommand{\setup}[1]{
|
||||||
\typeout{[Setup] Setting up...}
|
\typeout{[Setup] Setting up...}
|
||||||
@@ -84,8 +93,6 @@
|
|||||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||||
\title{\Huge \textbf{#1}}
|
\title{\Huge \textbf{#1}}
|
||||||
\author{\authorTitle}
|
\author{\authorTitle}
|
||||||
\makeatletter
|
|
||||||
\makeatother
|
|
||||||
\fancyhead{}
|
\fancyhead{}
|
||||||
\fancyhead[L]{#1}
|
\fancyhead[L]{#1}
|
||||||
\fancyhead[R]{\authorHeaders}
|
\fancyhead[R]{\authorHeaders}
|
||||||
@@ -100,17 +107,24 @@
|
|||||||
\fancyfoot[L]{\today}
|
\fancyfoot[L]{\today}
|
||||||
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
|
\fancyfoot[R]{\thepage\ /\ \pageref{LastPage}}
|
||||||
}
|
}
|
||||||
|
\typeout{[Setup] Complete}
|
||||||
}
|
}
|
||||||
|
|
||||||
% Start document command (required)
|
% Start document command (required)
|
||||||
\newcommand{\startDocument}{
|
\newcommand{\startDocument}{
|
||||||
\maketitle
|
\maketitle
|
||||||
|
\startDocumentNoTitle
|
||||||
|
}
|
||||||
|
|
||||||
|
% Or this one, if you don't want a title
|
||||||
|
\newcommand{\startDocumentNoTitle}{
|
||||||
\pagestyle{fancy}
|
\pagestyle{fancy}
|
||||||
\thispagestyle{fancy}
|
\thispagestyle{fancy}
|
||||||
}
|
}
|
||||||
|
|
||||||
% Set up the latex document, only configuring the author, title and page size
|
% Set up the latex document, only configuring the author, title and page size
|
||||||
\newcommand{\setupBarebones}[1]{
|
\newcommand{\setupBarebones}[1]{
|
||||||
|
\typeout{[Setup] Using barebones setup}
|
||||||
\loadLang
|
\loadLang
|
||||||
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
|
||||||
\title{\Huge \textbf{#1}}
|
\title{\Huge \textbf{#1}}
|
||||||
@@ -119,8 +133,22 @@
|
|||||||
|
|
||||||
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
|
||||||
\newcommand{\setupCheatSheet}[1]{
|
\newcommand{\setupCheatSheet}[1]{
|
||||||
|
\typeout{[Setup] Using CheatSheet setup}
|
||||||
\loadLang
|
\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}
|
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
|
||||||
|
}
|
||||||
\title{\Huge \textbf{#1}}
|
\title{\Huge \textbf{#1}}
|
||||||
\author{\authorTitle}
|
\author{\authorTitle}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
|
||||||
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
|
||||||
|
|
||||||
|
|
||||||
% Extra imports
|
% Extra imports
|
||||||
\usepackage{stmaryrd}
|
\usepackage{stmaryrd}
|
||||||
\usepackage{algorithm}
|
\usepackage{algorithm}
|
||||||
@@ -14,6 +15,7 @@
|
|||||||
|
|
||||||
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
\newcommand{\Indent}{\hspace{\algorithmicindent}}
|
||||||
|
|
||||||
|
% Extra commands
|
||||||
\newcommand{\timecomplexity}{\fhlc{orange}{\ifnum\value{lang}<2{Time complexity}\else {Laufzeit}\fi} \hspace{0.5em}}
|
\newcommand{\timecomplexity}{\fhlc{orange}{\ifnum\value{lang}<2{Time complexity}\else {Laufzeit}\fi} \hspace{0.5em}}
|
||||||
\newcommand{\tc}[1]{\timecomplexity $\Theta\left(#1\right)$}
|
\newcommand{\tc}[1]{\timecomplexity $\Theta\left(#1\right)$}
|
||||||
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
\newcommand{\tct}[1]{\Theta\left(#1\right)}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
\usepackage[ngerman]{babel}
|
|
||||||
@@ -9,15 +9,31 @@
|
|||||||
|
|
||||||
|
|
||||||
% BB shortcuts (for number spaces, etc)
|
% BB shortcuts (for number spaces, etc)
|
||||||
|
\newcommand{\A}{\mathbb{A}}
|
||||||
|
\newcommand{\B}{\mathbb{B}}
|
||||||
\newcommand{\C}{\mathbb{C}}
|
\newcommand{\C}{\mathbb{C}}
|
||||||
\newcommand{\D}{\mathbb{D}}
|
\newcommand{\D}{\mathbb{D}}
|
||||||
\newcommand{\E}{\mathbb{E}}
|
\newcommand{\E}{\mathbb{E}}
|
||||||
|
\newcommand{\F}{\mathbb{F}}
|
||||||
|
\newcommand{\G}{\mathbb{G}}
|
||||||
|
\renewcommand{\H}{\mathbb{H}}
|
||||||
\newcommand{\I}{\mathbb{I}}
|
\newcommand{\I}{\mathbb{I}}
|
||||||
\newcommand{\J}{\mathbb{J}}
|
\newcommand{\J}{\mathbb{J}}
|
||||||
|
\newcommand{\K}{\mathbb{K}}
|
||||||
|
\renewcommand{\L}{\mathbb{L}}
|
||||||
|
\newcommand{\M}{\mathbb{M}}
|
||||||
\newcommand{\N}{\mathbb{N}}
|
\newcommand{\N}{\mathbb{N}}
|
||||||
|
\renewcommand{\O}{\mathbb{O}}
|
||||||
|
\renewcommand{\P}{\mathbb{P}}
|
||||||
\newcommand{\Q}{\mathbb{Q}}
|
\newcommand{\Q}{\mathbb{Q}}
|
||||||
\newcommand{\R}{\mathbb{R}}
|
\newcommand{\R}{\mathbb{R}}
|
||||||
|
\renewcommand{\S}{\mathbb{S}}
|
||||||
|
\newcommand{\T}{\mathbb{T}}
|
||||||
|
\newcommand{\U}{\mathbb{U}}
|
||||||
\newcommand{\V}{\mathbb{V}}
|
\newcommand{\V}{\mathbb{V}}
|
||||||
|
\newcommand{\W}{\mathbb{W}}
|
||||||
|
\newcommand{\X}{\mathbb{X}}
|
||||||
|
\newcommand{\Y}{\mathbb{Y}}
|
||||||
\newcommand{\Z}{\mathbb{Z}}
|
\newcommand{\Z}{\mathbb{Z}}
|
||||||
|
|
||||||
% Caligraphic
|
% Caligraphic
|
||||||
@@ -49,7 +65,10 @@
|
|||||||
\newcommand{\cZ}{\mathcal{Z}}
|
\newcommand{\cZ}{\mathcal{Z}}
|
||||||
|
|
||||||
% other useful shortcuts
|
% other useful shortcuts
|
||||||
|
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
|
||||||
\newcommand{\8}{\infty}
|
\newcommand{\8}{\infty}
|
||||||
|
\newcommand{\cond}{\text{cond}}
|
||||||
|
\newcommand{\argmin}[1]{\underset{#1}{\text{argmin}}}
|
||||||
\newcommand{\dx}{\text{ d}}
|
\newcommand{\dx}{\text{ d}}
|
||||||
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
|
||||||
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
|
||||||
@@ -68,7 +87,7 @@
|
|||||||
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
|
||||||
\newcommand{\mbeq}{\overset{!}{=}}
|
\newcommand{\mbeq}{\overset{!}{=}}
|
||||||
\newcommand{\lcm}{\text{lcm}}
|
\newcommand{\lcm}{\text{lcm}}
|
||||||
\newcommand{\limit}[2]{\lim_{#1 \rightarrow #2}}
|
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
|
||||||
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
|
||||||
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
|
||||||
\newcommand{\limni}{\limit{n}{\infty}}
|
\newcommand{\limni}{\limit{n}{\infty}}
|
||||||
@@ -77,7 +96,6 @@
|
|||||||
\newcommand{\limhz}{\limit{h}{0}}
|
\newcommand{\limhz}{\limit{h}{0}}
|
||||||
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
|
||||||
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
|
||||||
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
|
|
||||||
\DeclareMathOperator\arctanh{arctanh}
|
\DeclareMathOperator\arctanh{arctanh}
|
||||||
\DeclareMathOperator\arccosh{arccosh}
|
\DeclareMathOperator\arccosh{arccosh}
|
||||||
\DeclareMathOperator\arcsinh{arcsinh}
|
\DeclareMathOperator\arcsinh{arcsinh}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
|
%██░▀▀▄██▄▄██▄███▄█▄███▄██▄▄██▄██▄
|
||||||
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
%▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
|
||||||
|
|
||||||
|
% General tcolorboxes
|
||||||
\newtcolorbox{recall}[2][]{mainboxstyle,colback=yellow!5!white,colframe=yellow!75!black,colbacktitle=yellow!75!black,title={\large #2},
|
\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}
|
||||||
|
|
||||||
|
|||||||
@@ -71,14 +71,14 @@
|
|||||||
% │ Counter numbering │
|
% │ Counter numbering │
|
||||||
% └ ┘
|
% └ ┘
|
||||||
\newcommand{\preTableAndFigHook}[1]{%
|
\newcommand{\preTableAndFigHook}[1]{%
|
||||||
\ifnum\value{numberingConfig}>1
|
\ifnum\value{numberingConfig}>1%
|
||||||
\ifnum\value{numberSubsections}=1
|
\ifnum\value{numberSubsections}=1%
|
||||||
\stepcounter{allss}
|
\stepcounter{allss}%
|
||||||
\else
|
\else
|
||||||
\ifnum\value{numberSubsections}=2
|
\ifnum\value{numberSubsections}=2%
|
||||||
\stepcounter{allsss}
|
\stepcounter{allsss}%
|
||||||
\else
|
\else%
|
||||||
\stepcounter{all}
|
\stepcounter{all}%
|
||||||
\fi
|
\fi
|
||||||
\fi
|
\fi
|
||||||
\fi
|
\fi
|
||||||
@@ -89,8 +89,8 @@
|
|||||||
\newcommand{\applyTableAndFigureNumbering}{
|
\newcommand{\applyTableAndFigureNumbering}{
|
||||||
% Tables & Figures
|
% Tables & Figures
|
||||||
\ifnum\value{numberingConfig}=0
|
\ifnum\value{numberingConfig}=0
|
||||||
\renewcommand{\thetable}{}
|
\renewcommand{\thetable}{\arabic{table}}
|
||||||
\renewcommand{\thefigure}{}
|
\renewcommand{\thefigure}{\arabic{figure}}
|
||||||
\else
|
\else
|
||||||
\ifnum\value{numberingConfig}=1
|
\ifnum\value{numberingConfig}=1
|
||||||
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
|
\renewcommand{\thetable}{\sectionNumbering.\arabic{table}}
|
||||||
@@ -395,7 +395,7 @@
|
|||||||
\newcommand{\compactdef}[1]{\bg{blue}{D\usenumberArabic{definition}:} \textit{(#1)}}
|
\newcommand{\compactdef}[1]{\bg{blue}{D\usenumberArabic{definition}:} \textit{(#1)}}
|
||||||
\newcommand{\compactformula}[1]{\bg{red}{F\usenumberArabic{formula}:} \textit{(#1)}}
|
\newcommand{\compactformula}[1]{\bg{red}{F\usenumberArabic{formula}:} \textit{(#1)}}
|
||||||
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L\usenumberArabic{lemma}:} \textit{(#1)}}
|
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L\usenumberArabic{lemma}:} \textit{(#1)}}
|
||||||
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}} \usenumberArabic{theorem}:} \textit{(#1)}}
|
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:} \textit{(#1)}}
|
||||||
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A\usenumberArabic{axiom}:} \textit{(#1)}}
|
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A\usenumberArabic{axiom}:} \textit{(#1)}}
|
||||||
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:} \textit{(#1)}}
|
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:} \textit{(#1)}}
|
||||||
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F\usenumberArabic{fact}:} \textit{(#1)}}
|
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F\usenumberArabic{fact}:} \textit{(#1)}}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
% ▀▀ █▪▀▀▀ ▀ ▀ ▀▀▀ ▀▀▀ · ▀▀▀▀ ▀▀▀ ▀ • .▀▀▀ ▀▀▀
|
% ▀▀ █▪▀▀▀ ▀ ▀ ▀▀▀ ▀▀▀ · ▀▀▀▀ ▀▀▀ ▀ • .▀▀▀ ▀▀▀
|
||||||
|
|
||||||
% Replace some commonly used commands with better ones
|
% Replace some commonly used commands with better ones
|
||||||
\renewcommand{\vec}[1]{\overrightarrow{#1}}
|
\newcommand{\vect}[1]{\overrightarrow{#1}}
|
||||||
\renewcommand{\hat}[1]{\widehat{#1}}
|
\renewcommand{\hat}[1]{\widehat{#1}}
|
||||||
\renewcommand{\tilde}[1]{\widetilde{#1}}
|
\renewcommand{\tilde}[1]{\widetilde{#1}}
|
||||||
\newcommand{\proven}{$\hspace{17cm}\square$}
|
\newcommand{\proven}{$\hspace{17cm}\square$}
|
||||||
|
|||||||
@@ -56,8 +56,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\newcommand{\hrmvspace}{\vspace{-0.25pc}}
|
||||||
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
\newcommand{\rmvspace}{\vspace{-0.5pc}}
|
||||||
|
\newcommand{\mrmvspace}{\vspace{-0.75pc}}
|
||||||
\newcommand{\drmvspace}{\vspace{-1pc}}
|
\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}
|
\renewcommand{\footrulewidth}{0.4pt}
|
||||||
\newcommand{\TODO}{\color{red} \hl{TODO:} \color{black}}
|
\newcommand{\TODO}{\color{red} \hl{TODO:} \color{black}}
|
||||||
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
|
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
|
||||||
@@ -92,6 +99,12 @@
|
|||||||
% Add a colorbox around your text with the color specified. Text is bold and underlined
|
% Add a colorbox around your text with the color specified. Text is bold and underlined
|
||||||
\newcommand{\fhlc}[2]{\textbf{\underline{\colorbox{#1}{#2}}}}
|
\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)
|
% Spacing (horizontal)
|
||||||
\newcommand{\smallhspace}{\hspace{2mm}}
|
\newcommand{\smallhspace}{\hspace{2mm}}
|
||||||
\newcommand{\mediumhspace}{\hspace{5mm}}
|
\newcommand{\mediumhspace}{\hspace{5mm}}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
|
|
||||||
\usepackage{booktabs}
|
\usepackage{booktabs}
|
||||||
\usepackage{tabulary}
|
|
||||||
|
|
||||||
% Create new table. #1 Layout, #2 title row
|
% Create new table. #1 Layout, #2 title row
|
||||||
\newenvironment{tables}[2]{
|
\newenvironment{tables}[2]{
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
\newcommand{\loadFull}{
|
\newcommand{\loadFull}{
|
||||||
\input{\dir/dist/recommended.tex}
|
\input{\dir/scopes/recommended.tex}
|
||||||
\loadRecommended
|
\loadRecommended
|
||||||
\input{\dir/extra/minted.tex}
|
\input{\dir/extra/minted.tex}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
\NeedsTeXFormat{LaTeX2e}
|
|
||||||
\ProvidesPackage{janishutz-helpers}
|
|
||||||
|
|
||||||
\usepackage{import}
|
|
||||||
\import{../}{config/config.tex}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
\newcommand{\loadMost}{
|
\newcommand{\loadMost}{
|
||||||
\typeout{[CustomLaTeXHelperLoader]: Loaded most}
|
\typeout{[CustomLaTeXHelperLoader]: Loaded most}
|
||||||
\input{\dir/dist/minimal.tex}
|
\input{\dir/scopes/minimal.tex}
|
||||||
\loadMinimal
|
\loadMinimal
|
||||||
\input{\dir/main/math.tex}
|
\input{\dir/main/math.tex}
|
||||||
\input{\dir/main/cs.tex}
|
\input{\dir/main/cs.tex}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
\newcommand{\loadRecommended}{
|
\newcommand{\loadRecommended}{
|
||||||
\typeout{[CustomLaTeXHelperLoader]: Loaded recommended}
|
\typeout{[CustomLaTeXHelperLoader]: Loaded recommended}
|
||||||
\input{\dir/dist/most.tex}
|
\input{\dir/scopes/most.tex}
|
||||||
\loadMost
|
\loadMost
|
||||||
\input{\dir/extra/bib.tex}
|
\input{\dir/extra/bib.tex}
|
||||||
\input{\dir/extra/glossary.tex}
|
\input{\dir/extra/glossary.tex}
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
"prefix": "latex-prepare",
|
"prefix": "latex-prepare",
|
||||||
"body": [
|
"body": [
|
||||||
"\\documentclass{article}\n",
|
"\\documentclass{article}\n",
|
||||||
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!",
|
"\\input{~/projects/latex/dist/recommended.tex}\n",
|
||||||
"\\input{\\dir/include.tex}",
|
|
||||||
"\\load{recommended}\n",
|
|
||||||
"\\setup{$1}\n",
|
"\\setup{$1}\n",
|
||||||
"\\begin{document}",
|
"\\begin{document}",
|
||||||
"\\startDocument",
|
"\\startDocument",
|
||||||
@@ -430,9 +428,7 @@
|
|||||||
"prefix": "latex-letter",
|
"prefix": "latex-letter",
|
||||||
"body": [
|
"body": [
|
||||||
"\\documentclass[12pt,a4paper]{scrlttr2}\n",
|
"\\documentclass[12pt,a4paper]{scrlttr2}\n",
|
||||||
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!",
|
"\\input{~/projects/latex/dist/letter.tex}\n",
|
||||||
"\\input{\\dir/include.tex}",
|
|
||||||
"\\load{letter}\n",
|
|
||||||
"% Subject",
|
"% Subject",
|
||||||
"\\setkomavar{subject}{$1}",
|
"\\setkomavar{subject}{$1}",
|
||||||
"\\begin{document}\\raggedright",
|
"\\begin{document}\\raggedright",
|
||||||
|
|||||||
Reference in New Issue
Block a user