Compare commits

..

166 Commits

Author SHA1 Message Date
4577950acc [tables] Fix errors
All checks were successful
Update helpers / build_helpers (push) Successful in 29s
2026-01-10 08:35:09 +01:00
Helpers compiler [bot]
fd7ce878e5 [skip ci] Build helpers on push 2026-01-09 14:11:33 +00:00
457d7ce024 [CI] Trigger
All checks were successful
Update helpers / build_helpers (push) Successful in 29s
2026-01-09 15:11:01 +01:00
Helpers compiler [bot]
8c8cc53a8c [skip ci] Build helpers on push 2026-01-09 14:09:54 +00:00
73b6098463 Remove duplicated indent config
All checks were successful
Update helpers / build_helpers (push) Successful in 13s
2026-01-09 15:09:39 +01:00
Helpers compiler [bot]
635d32d260 [skip ci] Build helpers on push 2026-01-09 14:06:18 +00:00
bda3b92795 [CI] Trigger
All checks were successful
Update helpers / build_helpers (push) Successful in 12s
2026-01-09 15:06:06 +01:00
f2c337eaa9 Revert "[skip ci] Build helpers on push"
This reverts commit e16e4b3e7b.
2026-01-09 15:05:29 +01:00
141cf5d091 Latexfmt corrected 2026-01-09 15:05:08 +01:00
Helpers compiler [bot]
e16e4b3e7b [skip ci] Build helpers on push 2026-01-09 14:03:04 +00:00
566649ecc3 Trigger CI
All checks were successful
Update helpers / build_helpers (push) Successful in 26s
2026-01-09 15:02:36 +01:00
7f8c112556 Revert "[skip ci] Build helpers on push"
This reverts commit aaa6a709fc.
2026-01-09 15:02:04 +01:00
Helpers compiler [bot]
aaa6a709fc [skip ci] Build helpers on push 2026-01-09 13:59:11 +00:00
66aee3d780 Trigger CI
All checks were successful
Update helpers / build_helpers (push) Successful in 27s
2026-01-09 14:58:44 +01:00
da4eeebc6d Add indentconfig 2026-01-09 14:54:59 +01:00
ab3abb113c Revert "[skip ci] Build helpers on push"
This reverts commit 951458a867.
2026-01-09 14:53:39 +01:00
Helpers compiler [bot]
951458a867 [skip ci] Build helpers on push 2026-01-09 13:52:14 +00:00
4f03b8eebc [CI] Trigger
All checks were successful
Update helpers / build_helpers (push) Successful in 29s
2026-01-09 14:50:19 +01:00
3a67a42535 [CI] Trigger
Some checks failed
Update helpers / build_helpers (push) Failing after 27s
2026-01-09 14:25:56 +01:00
bcd7ed17d0 [Core] Improve layout
Some checks failed
Update helpers / build_helpers (push) Failing after 13s
2026-01-09 14:17:27 +01:00
2c0db60c7d [CI] Update to also format 2026-01-09 14:15:34 +01:00
Helpers compiler [bot]
90ce264992 [skip ci] Build helpers on push 2026-01-05 15:08:49 +00:00
579cbd96ca [Tables] Remove labeledTable again
All checks were successful
Build docs / build_docs (push) Successful in 19s
Build helpers / build_helpers (push) Successful in 6s
2026-01-05 16:08:22 +01:00
Helpers compiler [bot]
88e2dc1a70 [skip ci] Build helpers on push 2026-01-05 15:05:43 +00:00
b9d9f6772c [Tables] Add env for labeled table
All checks were successful
Build docs / build_docs (push) Successful in 21s
Build helpers / build_helpers (push) Successful in 5s
2026-01-05 16:05:14 +01:00
Helpers compiler [bot]
b0e161e133 [skip ci] Build helpers on push 2026-01-05 10:29:09 +00:00
676bbd9306 Update vector command
All checks were successful
Build docs / build_docs (push) Successful in 23s
Build helpers / build_helpers (push) Successful in 5s
2026-01-05 11:28:39 +01:00
Helpers compiler [bot]
5f691d9372 [skip ci] Build helpers on push 2026-01-05 09:17:39 +00:00
fd66333f7a Fix spacing compact theorems
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2026-01-05 10:17:31 +01:00
Helpers compiler [bot]
db2fbc4c70 [skip ci] Build helpers on push 2026-01-05 08:05:12 +00:00
dcb077e116 Remove unnecessary commands
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2026-01-05 09:05:03 +01:00
LaTeX compiler [bot]
be655d2387 [skip ci] Build docs on push 2026-01-04 11:01:13 +00:00
cb173908b4 Add better code support
All checks were successful
Build docs / build_docs (push) Successful in 47s
Build helpers / build_helpers (push) Successful in 5s
2026-01-04 11:58:10 +01:00
Helpers compiler [bot]
6803d1f62d [skip ci] Build helpers on push 2026-01-02 06:28:59 +00:00
4eff956d53 New changes
All checks were successful
Build docs / build_docs (push) Successful in 21s
Build helpers / build_helpers (push) Successful in 5s
2026-01-02 07:28:26 +01:00
f622e2be55 [CI] Update 2026-01-02 07:21:59 +01:00
LaTeX compiler [bot]
9a19639d10 [skip ci] Build docs on push 2026-01-02 06:20:18 +00:00
bfc62a37eb Add new commands for vspace removal
Some checks failed
Build docs / build_docs (push) Successful in 21s
Build helpers / build_helpers (push) Failing after 5s
2026-01-02 07:19:58 +01:00
01e20cef5d [CI] Try to fix breaking on both workflow run 2026-01-02 07:16:56 +01:00
Helpers compiler [bot]
eda396d617 [skip ci] Build helpers on push 2026-01-02 06:11:50 +00:00
4522e88c92 Fix CI
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2026-01-02 07:11:43 +01:00
LaTeX compiler [bot]
04b388c382 [skip ci] Build docs on push 2026-01-02 06:10:00 +00:00
3d6d6234de Add new space remove commands
Some checks failed
Build docs / build_docs (push) Successful in 31s
Build helpers / build_helpers (push) Failing after 4s
2026-01-02 07:09:25 +01:00
Helpers compiler [bot]
4344f8f09d [skip ci] Build helpers on push 2025-12-24 06:22:30 +00:00
b1d81bdd06 Improve limit command
All checks were successful
Build helpers / build_helpers (push) Successful in 7s
2025-12-24 07:22:18 +01:00
LaTeX compiler [bot]
1e766b8133 [skip ci] Build docs on push 2025-12-23 15:26:44 +00:00
c5fccabba9 CI working?
All checks were successful
Build docs / build_docs (push) Successful in 1m6s
2025-12-23 16:25:37 +01:00
LaTeX compiler [bot]
e2a725bc51 [skip ci] Build docs on push 2025-12-23 13:57:37 +00:00
cc3144b170 Trigger build
Some checks failed
Build docs / build_docs (push) Failing after 3m32s
2025-12-23 14:55:05 +01:00
b908ae3b29 Better link docs 2025-12-23 14:32:31 +01:00
0ea3d9245c [CI] update author 2025-12-23 14:29:36 +01:00
janishutz
27c96d26a0 [skip ci] Build helpers on push 2025-12-23 13:23:28 +00:00
c6aa4c8d80 [CI] Update
All checks were successful
Build helpers / build_helpers (push) Successful in 4s
2025-12-23 14:23:21 +01:00
f1b64e8ddb [CI] More debugging
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2025-12-23 14:21:47 +01:00
a5cb9bb54d [CI] More debugging
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2025-12-23 14:21:04 +01:00
432fcb4153 Trigger build
All checks were successful
Build helpers / build_helpers (push) Successful in 4s
2025-12-23 14:19:03 +01:00
159b37a3d3 [CI] Debug helpers build
All checks were successful
Build helpers / build_helpers (push) Successful in 7s
2025-12-23 14:17:30 +01:00
baf964792a Better logging
All checks were successful
Build helpers / build_helpers (push) Successful in 5s
2025-12-23 14:11:01 +01:00
01047ba385 Add badge 2025-12-23 14:09:13 +01:00
c321acd063 [CI] Only update on push to docs 2025-12-23 14:06:04 +01:00
janishutz
1462cc0198 [skip ci] Build docs on push 2025-12-23 13:02:52 +00:00
6dbcd64ed4 [CI] Fix upload action
All checks were successful
Build docs / build_docs (push) Successful in 21s
2025-12-23 14:02:30 +01:00
8346a558c7 [CI] Debugging
All checks were successful
Build docs / build_docs (push) Successful in 20s
2025-12-23 14:01:41 +01:00
91cfc52ec8 [CI] Download helpers
All checks were successful
Build docs / build_docs (push) Successful in 26s
2025-12-23 13:59:34 +01:00
dba7f93d0d Trigger CI
Some checks failed
Build docs / build_docs (push) Failing after 2m20s
2025-12-23 13:56:06 +01:00
098ffcc618 [CI] Use full container
Some checks failed
Build docs / build_docs (push) Failing after 2m33s
2025-12-23 09:11:21 +01:00
4102cafa6e Revert "[CI] Remove docs build"
This reverts commit bdb72b2e2a.
2025-12-23 09:00:15 +01:00
bdb72b2e2a [CI] Remove docs build 2025-12-23 08:40:37 +01:00
5169d20bed [CI] Update workflow
Some checks failed
Build docs / build_docs (push) Failing after 15s
2025-12-23 07:20:58 +01:00
86f080a705 [CI] Try fix
Some checks failed
Build docs / build_docs (push) Failing after 7s
2025-12-23 07:09:40 +01:00
23037f11f6 [CI] Use upstream action
Some checks failed
Build docs / build_docs (push) Failing after 10s
2025-12-23 07:01:47 +01:00
8b4d775d1a [CI] Add back login
Some checks failed
Build docs / build_docs (push) Failing after 2s
2025-12-22 21:49:37 +01:00
3406ad8951 [CI] Remove login
Some checks failed
Build docs / build_docs (push) Failing after 5s
2025-12-22 21:48:18 +01:00
495f3a8503 [CI] Try to fix
Some checks failed
Build docs / build_docs (push) Failing after 6s
2025-12-22 21:41:00 +01:00
7101d5f017 [CI] Update
Some checks failed
Build docs / build_docs (push) Failing after 8s
2025-12-22 21:08:07 +01:00
d3ebc929a0 [CI] Move to newer latex action
Some checks failed
Build docs / build_docs (push) Failing after 8s
2025-12-22 21:04:53 +01:00
284d957a92 [CI] Debugging
Some checks failed
Build docs / build_docs (push) Failing after 7s
2025-12-22 20:57:53 +01:00
dc62654e42 [CI] Try another fix
Some checks failed
Build docs / build_docs (push) Failing after 7s
2025-12-22 20:54:45 +01:00
6b052b8152 [CI] Use updated latex workflow
Some checks failed
Build docs / build_docs (push) Failing after 8s
2025-12-22 20:52:19 +01:00
100f16afda [CI] Fix syntax error
Some checks failed
Build docs / build_docs (push) Failing after 8s
2025-12-22 18:31:19 +01:00
491cdd9441 [CI] Fix syntax
Some checks failed
Build docs / build_docs (push) Failing after 3s
2025-12-22 18:30:30 +01:00
ca9fd7a66f [CI] Sign into registry 2025-12-22 18:29:49 +01:00
7bf361ccd4 [CI] Fix more syntax errors
Some checks failed
Build docs / build_docs (push) Failing after 6s
2025-12-22 18:23:12 +01:00
c0134e47c2 [CI] Fix syntax error
Some checks failed
Build docs / build_docs (push) Failing after 3s
2025-12-22 18:22:02 +01:00
e2974cea74 [CI] Trigger
Some checks failed
Build docs / build_docs (push) Failing after 0s
2025-12-22 18:21:24 +01:00
6394ce2591 [CI] Try fix 2025-12-22 18:21:08 +01:00
4db6733865 Trigger
Some checks failed
Build docs / build_docs (push) Failing after 0s
2025-12-22 18:19:56 +01:00
7a73c73687 [CI] Add docs auto-build 2025-12-22 18:19:27 +01:00
24b4fe0959 [CI] Trigger
All checks were successful
Build helpers / build_docs (push) Successful in 4s
2025-12-22 17:49:56 +01:00
43819d942c [CI] Remove latex compile action 2025-12-22 15:49:27 +01:00
7ee9152f41 [CI] Debug docs
Some checks failed
Build Docs / build_docs (push) Failing after 7s
2025-12-22 15:34:37 +01:00
1518007fe2 [CI] Debug docs
Some checks failed
Build Docs / build_docs (push) Failing after 6s
2025-12-22 15:14:22 +01:00
3864d838d6 [CI] Debug docs
Some checks failed
Build Docs / build_docs (push) Failing after 8s
2025-12-22 15:13:00 +01:00
98b3e7ee66 [CI] Do not build helpers if no corresponding files changed
Some checks failed
Build Docs / build_docs (push) Failing after 6s
2025-12-22 15:12:16 +01:00
dca911c00b [CI] Debug docs build
Some checks failed
Build Docs / build_docs (push) Failing after 6s
Build helpers / build_docs (push) Successful in 5s
2025-12-22 15:10:18 +01:00
bb42a2e803 [CI] Fix helpers auto-build
All checks were successful
Build helpers / build_docs (push) Successful in 5s
2025-12-22 15:04:35 +01:00
8a238d1a8c [CI] Debugging
Some checks failed
Build helpers / build_docs (push) Failing after 5s
2025-12-22 15:03:47 +01:00
e64a76745a [CI] Build fixes
Some checks failed
Build helpers / build_docs (push) Failing after 8s
2025-12-22 15:01:19 +01:00
978039b0d0 [CI] Add
Some checks failed
Build helpers / build_docs (push) Failing after 1m9s
Build Docs / build_docs (push) Failing after 2m44s
2025-12-22 14:54:57 +01:00
cc78cee14f [Math] Add conditioning shortcut 2025-12-22 08:20:10 +01:00
962989468b [Math] Improve argmin command 2025-12-22 07:46:03 +01:00
b05be21b92 [Math] Add argmin command 2025-12-22 07:38:10 +01:00
2be8109e90 [Build] Run build 2025-12-04 11:28:06 +01:00
a0893a9887 [Core] Add smaller loader 2025-12-04 11:27:57 +01:00
73b33777e3 [Math] Fix conflicts 2025-11-11 13:05:38 +01:00
54f58f0b3a [Math] Add more shortcuts for mathbb 2025-11-11 12:16:25 +01:00
5a696f57c4 [Style] Remove shortcut, conflicted 2025-11-11 09:12:59 +01:00
cf5879b9a4 [Style] Actually add shortcut & build 2025-11-11 09:11:29 +01:00
d600d6d8f3 [Style] Add shortcut for italic and bold 2025-11-11 09:10:20 +01:00
6e6bdba382 [Core] Remove unneeded packages 2025-11-11 09:05:26 +01:00
66725558bb [Include] Add deprecation warning and fix loading through old method 2025-11-10 11:49:57 +01:00
491adc1744 [Style] Add url and href highlighting 2025-11-10 09:15:13 +01:00
47ed047c7e [Docs] Update for new import scheme 2025-11-03 16:16:32 +01:00
b8473c5f68 [Build] Improve helper import 2025-11-03 16:07:03 +01:00
331bd01b8d [Build] More prep, moving to separate branch until done 2025-11-03 14:14:02 +01:00
9ff16fa182 [Build] Refactor for import style update 2025-11-03 13:51:01 +01:00
8442ac072a [Math] Add many more shortcuts 2025-11-03 13:33:22 +01:00
97e653b455 [CS] Add forloop package in case needed 2025-11-03 10:25:58 +01:00
a808d2e61b [Docs] Add docs on tables and figures now rendering with numbers 2025-10-28 09:42:33 +01:00
d2165eb986 [Counters] Add flexible table and figure numbering 2025-10-28 09:35:07 +01:00
a1aed89ee6 [Math] Add shortcut for writing partial derivatives 2025-10-24 18:01:24 +02:00
1385e189d9 [Snippets] Update 2025-10-24 15:27:57 +02:00
30f1781feb [Counters] Remove inserted spaces 2025-10-19 08:34:49 +02:00
a58464619c [Math] Add elementstack command 2025-10-19 08:25:47 +02:00
6a889e3c67 [Counters] compact descriptors spacing fix 2025-10-19 07:56:24 +02:00
83c588e53d [Style] Add larger rmvspace macro 2025-10-18 16:45:55 +02:00
c5043b8116 [Counters] Add better debugging 2025-10-18 13:52:59 +02:00
cbc028b75a [Counters] Handle no explicit initialization better 2025-10-18 13:43:38 +02:00
c8a2209999 [Counters] Finish up, add docs for them 2025-10-18 13:27:45 +02:00
94884a3646 [Counters] Fix refs not linking correctly 2025-10-18 13:04:12 +02:00
a113dceff2 [Counters] Finish up refs 2025-10-18 11:37:10 +02:00
bcd732c392 [Counters] Add refs to all numbered elements 2025-10-18 10:13:44 +02:00
212ee21521 Revert "[Counters] start adding refs"
This reverts commit 3b3144af9c.
2025-10-18 10:04:50 +02:00
3b3144af9c [Counters] start adding refs 2025-10-18 09:08:47 +02:00
0af534727c [Style] Fix quote macro 2025-10-17 16:28:12 +02:00
d0c4d54e9f [Style] Add quote macro 2025-10-16 11:57:46 +02:00
2c7f5a4dcf [Counters] Add toggling function 2025-10-10 08:14:03 +02:00
7394606963 [Snippets] Add snippet for new tcbox 2025-10-09 21:29:39 +02:00
a7d9915383 [Style] Fix wrong naming 2025-10-09 21:29:31 +02:00
f70ce6d2b3 [Style] Add new intuition macro 2025-10-09 21:09:15 +02:00
c977c98dcf [CS] Fix stylistic error 2025-10-09 16:18:19 +02:00
65ab228f9e [CS] Add more commands for words & alphabets 2025-10-09 16:17:26 +02:00
eb6df64aab [CS] Add command for classes in TI 2025-10-04 08:46:35 +02:00
af6063c5fe [CS] Add new macro for big vdash 2025-10-03 19:39:46 +02:00
4110159f10 [Math] Improve derivative d 2025-09-30 18:25:43 +02:00
a756902a4f [Style] Add remove whitespace macro 2025-09-30 15:37:50 +02:00
25fb100c4f [counter] Fix subsection numbering 2025-09-30 09:38:03 +02:00
072df5cf66 [Docs] Complete restructure 2025-09-29 16:29:51 +02:00
e8712fda9a [Font] Make font change better, document it 2025-09-29 15:48:07 +02:00
c4779f3d6a [Code] Add inline code snippets, docs on typeface change 2025-09-29 15:16:48 +02:00
6c75936b18 [Code] Add mathescape option to code blocks 2025-09-29 13:17:17 +02:00
4a98d7d3af [Code] Add better code snippets 2025-09-28 20:05:58 +02:00
14210ca1da [Counters] Completely redo numbering logic 2025-09-28 17:51:57 +02:00
5f66b9e1db [CS] Update macros 2025-09-26 18:19:04 +02:00
ba7e3f444a [CS] Update word math mode macro 2025-09-26 18:17:35 +02:00
05d5ef49e6 [CS] Add more macros for TI 2025-09-26 18:16:43 +02:00
1f296ccd56 [CS] Add new macro for words 2025-09-26 18:12:09 +02:00
4be2f5ed0d [Descriptors] Uniform style for all 2025-09-26 14:16:47 +02:00
4b4d5b0a32 [Docs] Fix error in organization, compile 2025-09-26 12:11:20 +02:00
565b600ef0 [Docs] Add docs on breaking change 2025-09-26 12:07:48 +02:00
bfaec9ba8c [CS] BREAKING: tc* commands now need to be in math environment 2025-09-26 11:20:56 +02:00
496ac27f02 [Docs] Document new macros 2025-09-22 19:18:09 +02:00
08ddefd342 [CS] Add new macros 2025-09-22 19:18:04 +02:00
696118c824 [Docs] Add nicer title page, document new functions 2025-09-22 15:31:59 +02:00
f228cae9f5 Fix me dumb 2025-09-22 13:28:07 +02:00
582a0275a4 Add a new remark environment 2025-09-22 13:14:11 +02:00
42 changed files with 5119 additions and 586 deletions

View 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"

View 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
View 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

View File

@@ -3,11 +3,18 @@
<h1>LaTeX Helper files</h1>
</div>
![Docs build](https://git.janishutz.com/janishutz/latex/actions/workflows/build-docs.yml/badge.svg?branch=main&event=push)
![Dist build](https://git.janishutz.com/janishutz/latex/actions/workflows/build-helpers.yml/badge.svg?branch=main&event=push)
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/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
@@ -22,4 +29,4 @@ The editors are ordered in terms of ease of use and my personal preference list
<a href="https://store.janishutz.com/donate" target="_blank"><img src="https://store-cdn.janishutz.com/static/support-me.jpg" width="150px"></a>
</div>
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2024 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2025 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)

68
build.sh Executable file
View File

@@ -0,0 +1,68 @@
#!/bin/sh
echo "
▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
█ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
█ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
█ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
█ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
█ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
"
mkdir dist/
echo "
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
" > ./dist/minimal.tex
# Build minimal scope
cat ./main/core.tex >>./dist/minimal.tex
echo "" >>./dist/minimal.tex
cat ./config/config.tex >>./dist/minimal.tex
echo "" >>./dist/minimal.tex
cat ./main/style/style.tex >>./dist/minimal.tex
echo "" >>./dist/minimal.tex
cat ./main/style/common.tex >>./dist/minimal.tex
# Build most
cat ./dist/minimal.tex >./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/math.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/cs.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/index.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/style/counters.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/style/cs.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/style/math.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/style/language.tex >>./dist/most.tex
echo "" >>./dist/most.tex
cat ./main/tables.tex >>./dist/most.tex
# Build recommended
cat ./dist/most.tex >./dist/recommended.tex
echo "" >>./dist/recommended.tex
cat ./extra/bib.tex >>./dist/recommended.tex
echo "" >>./dist/recommended.tex
cat ./extra/glossary.tex >>./dist/recommended.tex
# Build full
cat ./dist/recommended.tex >./dist/full.tex
echo "" >>./dist/full.tex
cat ./extra/minted.tex >>./dist/full.tex
# Copy letter
cp ./scopes/letter.tex ./dist/letter.tex
echo "==> Done"

1138
dist/full.tex vendored

File diff suppressed because it is too large Load Diff

407
dist/minimal.tex vendored
View File

@@ -1,7 +1,402 @@
\newcommand{\loadMinimal}{
\typeout{[CustomLaTeXHelperLoader]: Loaded minimal}
\input{\dir/main/core.tex}
\input{\dir/config/config.tex}
\input{\dir/main/style/style.tex}
\input{\dir/main/style/common.tex}
% ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄
% █ █ █ █ █ █ █▄█ █ █ █ █ █ █ █ █ █ █ ▄ █ █ █
% █ █ █ ▄ █▄ ▄█ ▄▄▄█ █ █ █▄█ █ ▄▄▄█ █ █ ▄ █ ▄▄▄█ █ █ █ █ ▄▄▄▄▄█
% █ █ █ █▄█ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄█ █ █▄▄▄█ █▄▄█▄█ █▄▄▄▄▄
% █ █▄▄▄█ █ █ █ █ ▄▄▄██ █ █ ▄ █ ▄▄▄█ █▄▄▄█ ▄▄▄█ ▄▄▄█ ▄▄ █▄▄▄▄▄ █
% █ █ ▄ █ █ █ █ █▄▄▄█ ▄ █ █ █ █ █ █▄▄▄█ █ █ █ █▄▄▄█ █ █ █▄▄▄▄▄█ █
% █▄▄▄▄▄▄▄█▄█ █▄▄█ █▄▄▄█ █▄▄▄▄▄▄▄█▄▄█ █▄▄█ █▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄█ █▄▄▄▄▄▄▄█▄▄▄█ █▄█▄▄▄▄▄▄▄█
%
% ▄▄█▀▀▀█▄█
% ▄██▀ ▀█
% ██▀ ▀ ▄██▀██▄▀███▄███ ▄▄█▀██
% ██ ██▀ ▀██ ██▀ ▀▀ ▄█▀ ██
% ██▄ ██ ██ ██ ██▀▀▀▀▀▀
% ▀██▄ ▄▀██▄ ▄██ ██ ██▄ ▄
% ▀▀█████▀ ▀█████▀▄████▄ ▀█████▀
% 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{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}
% ── 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
\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}
%░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
%░░░ ░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░
%▒ ▒▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒
%▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒ ▒ ▒▒▒▒ ▒▒▒▒
%▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓ ▓
%▓▓▓▓▓▓▓ ▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓
%▓ ▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓▓▓▓▓▓
%███ ██████ █████ ████ ███ ███
%██████████████████████ ███████████████████
% 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}

1060
dist/most.tex vendored

File diff suppressed because it is too large Load Diff

1092
dist/recommended.tex vendored

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,8 +1,6 @@
\documentclass{article}
\newcommand{\dir}{~/projects/latex}
\input{\dir/include.tex}
\load{full}
\input{~/projects/latex/dist/full.tex}
\setup{Docs - \LaTeX \hspace{0mm} helpers}
\setLang{en}
@@ -11,13 +9,47 @@
\startDocument
\usetcolorboxes
\vspace{4cm}
\begin{center}
\includegraphics[width=0.5\linewidth]{../assets/logo.jpg}
\end{center}
\newpage
\printtoc{Aquamarine}
\newpage
\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.
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}
Please note that the regex provided below are for NeoVim and you may need to replace \verb|\(\)| with \verb|()|
\subsection{Time complexity}
The timecomplexity commands have been updated to require math environment. You can use the following regex to fix them
\verb|/ \\tc\([olt]\){\(.*)}\([, .\n]\)/ \$\\tc\1{\2}\$\3/g| (execute first)\\
and \verb|/\\text{\\tc\([olt]\){\(.*\)}}/\\tc\1{\2}/g|
\subsection{Labels \& Environments}
The counter environments can now be referenced (see \ref{sec:counters}).
Due to the new requirements set out by that addition, it is now no longer possible to manually update the counters using
\verb|\setcounter|.
Use the below regex to replace all occurrences of \verb|\setcounter| with the new format.
Please note that this will overwrite \textit{all} occurrences of \verb|\setcounter| with the specific old format with \verb|\setLabelNumber|:
\verb|/\\setcounter{\(.*\)s}/\\setLabelNumber{\1}/g| and \verb|/\\setcounter{all}/\\setLabelNumber{all}/g|
and for the \verb|\stepcounter| as well
\verb|/\\stepcounter{\(.*\)s}/\\stepLabelNumber{\1}/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}
@@ -30,7 +62,21 @@ You may also install the VSCode snippets found in the vscode-snippets folder. Th
\input{./parts/custom-loader.tex}
\input{./parts/reference.tex}
% ┌ ┐
% │ Reference │
% └ ┘
\input{./parts/reference/intro.tex}
\input{./parts/reference/loading.tex}
\input{./parts/reference/math.tex}
\input{./parts/reference/cs.tex}
\input{./parts/reference/style/intro.tex}
\input{./parts/reference/style/tcolorbox/default.tex}
\input{./parts/reference/style/tcolorbox/counter.tex}
\input{./parts/reference/style/tcolorbox/other.tex}
\input{./parts/reference/style/descriptors.tex}
\input{./parts/reference/tables-index.tex}
\input{./parts/reference/extras.tex}
\input{./parts/troubleshooting.tex}

View File

@@ -1,432 +0,0 @@
\newsection
\section{Full Command Reference}
\subsection{Variables}
\begin{itemize}
\item \textit{scope}: \texttt{minimal}, \texttt{most}, \texttt{recommended}, \texttt{all} or \texttt{letter}
\item \textit{string}: Any normal text
\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}
\item \textit{langauge}: 2-character country code (currently only \texttt{de} and \texttt{en} supported)
\end{itemize}
\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{\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{\theoremde}|\{\textit{string}\} Change the translation for theorem in German (usually either ``Satz'' or ``Theorem'')
\item \verb|\setcounter{numberingConfig}|\{\textit{number}\} Change the numbering of definitions, lemmas, etc for this document. 1 = Separately, 2 = Combined (except for definition), 3 = Combined, 4 = Off
\item \verb|\setcounter{numberSubsections}|\{\textit{number}\} Change the format of the numbering of definition, lemma, etc.
0 = $<$section$>$.$<$number$>$,\\
1 = $<$section$>$.$<$subsection$>$.$<$number$>$,\\
2 = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$\\
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the one 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|\setLang|\{\textit{language}\} Change the language. Will automatically load babel in German. Can only be used once and only at the start of the document or in the preamble, as repeated usage leads to undefined behaviour
\end{itemize}
\subsection{Setup, Loading \& Translation}
\begin{itemize}
\item \verb|\load|\{\textit{scope}\} Load the selected \textit{scope}
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being 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|\startDocument| Initialize the document. 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|\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|
\end{itemize}
\newpage
\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|\hastoeq| or \verb|\mbeq| Has to equal symbol (non-standard), $\hastoeq$
\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|\divides| Divider or divides symbol, e.g. $a \divides b$
\item \verb|\lcm| Least common multiple, $\lcm$
\item \verb|\arcsinh| Inverse of hyperbolic sine, $\arcsinh$
\item \verb|\arcosh| Inverse of hyperbolic cosine, $\arcosh$
\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|\der|\{\textit{math}\} Derivative, $\displaystyle \der{x}$
\item \verb|\dern|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \dern{x}{2}$
\end{itemize}
\subsection{CS-Commands}
These commands have to be executed outside the math environment.
\begin{itemize}
\item \verb|\timecomplexity| Prints the word time complexity with a coloured box.
\item \verb|\tc| Shorthand for \verb|\tct|. Deprecated
\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)
\end{itemize}
\fhlc{Aquamarine}{Algorithms}
\begin{minted}{latex}
\begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\end{algo}
\end{minted}
\begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\end{algo}
\newpage
\subsection{Style}
General styling commands. All other commands, except these ones require at least \texttt{most} to be the selected \textit{scope}
\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|\fhlc|\{\textit{color}\}\{\textit{string}\} Print \fhlc{ForestGreen}{bold, underlined text in a coloured box}
\item \verb|\fhl|\{\textit{string}\} Print \fhl{bold, underlined text in a white box}
\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|\smallhspace| Prints a 2mm hspace
\item \verb|\mediumhspace| Prints a 5mm hspace
\item \verb|\largehspace| Prints a 10mm = 1cm hspace
\end{itemize}
\newpage
\subsubsection{Tcolorboxes}
\textit{Included in \texttt{most} and up}
Put \verb|\usetcolorboxes| right after \verb|\startDocument| (right after \verb|\begin{document}|) if you plan to use them.
\fhlc{Aquamarine}{General}
\begin{terms}[]{Title here}
\begin{minted}{latex}
\begin{terms}[]{Title here}
\end{terms}
\end{minted}
\end{terms}
\begin{notation}[]{Title here}
\begin{minted}{latex}
\begin{notation}[]{Title here}
\end{notation}
\end{minted}
\end{notation}
\begin{recall}[]{Title here}
\begin{minted}{latex}
\begin{recall}[]{Title here}
\end{recall}
\end{minted}
\end{recall}
\begin{remarks}[]{Title here}
\begin{minted}{latex}
\begin{remarks}[]{Title here}
\end{remarks}
\end{minted}
\end{remarks}
\begin{usage}[]{Title here}
\begin{minted}{latex}
\begin{usage}[]{Title here}
\end{usage}
\end{minted}
\end{usage}
\begin{guides}[]{Title here}{Tutorial}
\begin{minted}{latex}
\begin{guides}[]{Title here}{Tutorial}
% You can also change the right title on this one
\end{guides}
\end{minted}
\end{guides}
\begin{properties}[]{Title here}
\begin{minted}{latex}
\begin{properties}[]{Title here}
\end{properties}
\end{minted}
\end{properties}
\begin{restrictions}[]{Title here}
\begin{minted}{latex}
\begin{restrictions}[]{Title here}
\end{restrictions}
\end{minted}
\end{restrictions}
\begin{limitations}[]{Title here}
\begin{minted}{latex}
\begin{limitations}[]{Title here}
\end{limitations}
\end{minted}
\end{limitations}
\fhlc{Aquamarine}{Math-Specific}
\begin{formula}[]{Title here}
\begin{minted}{latex}
\begin{formula}[]{Title here}
\end{formula}
\end{minted}
\end{formula}
\newpage
\fhlc{Aquamarine}{Counter-enabled}
These ones also have two settings, namely, you can change the counter behaviour and the inclusion of subsections in the numbering. See \ref{sec:perFileConf}.
See \ref{sec:counters} for a guide on how to change the current number.
\begin{definition}[]{Title here}
\begin{minted}{latex}
\begin{definition}[]{Title here}
\end{definition}
\end{minted}
\end{definition}
\begin{theorem}[]{Title here}
\begin{minted}{latex}
\begin{theorem}[]{Title here}
\end{theorem}
\end{minted}
\end{theorem}
\begin{lemma}[]{Title here}
\begin{minted}{latex}
\begin{lemma}[]{Title here}
\end{lemma}
\end{minted}
\end{lemma}
\begin{corollary}[]{Title here}
\begin{minted}{latex}
\begin{corollary}[]{Title here}
\end{corollary}
\end{minted}
\end{corollary}
\begin{proposition}[]{Title here}
\begin{minted}{latex}
\begin{proposition}[]{Title here}
\end{proposition}
\end{minted}
\end{proposition}
\begin{fact}[]{Title here}
\begin{minted}{latex}
\begin{fact}[]{Title here}
\end{fact}
\end{minted}
\end{fact}
\begin{axiom}[]{Title here}
\begin{minted}{latex}
\begin{axiom}[]{Title here}
\end{axiom}
\end{minted}
\end{axiom}
\begin{example}[]{Title here}
\begin{minted}{latex}
\begin{example}[]{Title here}
\end{example}
\end{minted}
\end{example}
\newpage
\fhlc{Aquamarine}{Language-Specific}
\begin{conjugation}[]{Title here}
\begin{minted}{latex}
\begin{conjugation}[]{Title here}
\end{conjugation}
\end{minted}
\end{conjugation}
\begin{forms}[]{Title here}
\begin{minted}{latex}
\begin{forms}[]{Title here}
\end{forms}
\end{minted}
\end{forms}
\fhlc{Aquamarine}{CS-Specific}
\textit{Coming soon!}
\fhlc{Aquamarine}{Flexible}
\begin{general}[]{title}{second title}{red}
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.\\
\begin{minted}{latex}
\begin{general}[]{title}{second title}{red}
\end{general}
\end{minted}
\end{general}
\newpage
\subsubsection{Inline \& Shortened descriptors}
\textit{Included in \texttt{most} and up}
See \ref{sec:counters} for a guide on how to change the current number.
\fhlc{Aquamarine}{Inline}
\begin{tables}{ll}{Command & Output}
\verb|\inlineex| & \inlineex \\
\verb|\inlinedef| & \inlinedef \\
\verb|\inlinetheorem| & \inlinetheorem \\
\verb|\inlinelemma| & \inlinelemma \\
\verb|\inlinecorollary| & \inlinecorollary \\
\verb|\inlineproposition| & \inlineproposition \\
\verb|\inlinefact| & \inlinefact \\
\verb|\inlineaxiom| & \inlineaxiom \\
\verb|\inlineproof| & \inlineproof \\
\end{tables}
\fhlc{Aquamarine}{Shortened}
\begin{tables}{ll}{Command & Output}
\verb|\shortex| & \shortex \\
\verb|\shortdef| & \shortdef \\
\verb|\shorttheorem| & \shorttheorem \\
\verb|\shortlemma| & \shortlemma \\
\verb|\shortcorollary| & \shortcorollary \\
\verb|\shortproposition| & \shortproposition \\
\verb|\shortfact| & \shortfact \\
\verb|\shortaxiom| & \shortaxiom \\
\verb|\shortproof| & \shortproof \\
\end{tables}
\newpage
\fhlc{Aquamarine}{Inline (Named)}
\begin{tables}{ll}{Command & Output}
\verb|\fancyex|\{\textit{string}\} & \fancyex{Exercise} \\
\verb|\fancydef|\{\textit{string}\} & \fancydef{Definition} \\
\verb|\fancytheorem|\{\textit{string}\} & \fancytheorem{Theorem} \\
\verb|\fancylemma|\{\textit{string}\} & \fancylemma{Lemma} \\
\verb|\fancycorollary|\{\textit{string}\} & \fancycorollary{Corollary} \\
\verb|\fancyproposition|\{\textit{string}\} & \fancyproposition{Corollary} \\
\verb|\fancyfact|\{\textit{string}\} & \fancyfact{Fact} \\
\verb|\fancyaxiom|\{\textit{string}\} & \fancyaxiom{Axiom} \\
\verb|\fancyproof|\{\textit{string}\} & \fancyproof{Proof} \\
\end{tables}
\fhlc{Aquamarine}{Shortened (Named)}
\begin{tables}{ll}{Command & Output}
\verb|\compactex|\{\textit{string}\} & \compactex{Exercise} \\
\verb|\compactdef|\{\textit{string}\} & \compactdef{Definition} \\
\verb|\compacttheorem|\{\textit{string}\} & \compacttheorem{Theorem} \\
\verb|\compactlemma|\{\textit{string}\} & \compactlemma{Lemma} \\
\verb|\compactcorollary|\{\textit{string}\} & \compactcorollary{Corollary} \\
\verb|\compactproposition|\{\textit{string}\} & \compactproposition{Corollary} \\
\verb|\compactfact|\{\textit{string}\} & \compactfact{Fact} \\
\verb|\compactaxiom|\{\textit{string}\} & \compactaxiom{Axiom} \\
\verb|\compactproof|\{\textit{string}\} & \compactproof{Proof} \\
\end{tables}
\subsubsection{Changing the counters}
\label{sec:counters}
\textit{Included in \texttt{most} and up}
You may set the current number for the elements by setting their corresponding counter to the selected number. You can do this using \verb|\setcounter|\{\textit{name of the counter}\}\{\textit{number}\}, where you replace \textit{name of the counter} with one of the following:
\texttt{definitions}, \texttt{lemmas}, \texttt{theorems}, \texttt{corollaries}, \texttt{axioms}, \texttt{examples}. This only applies if you have set numberingConfig to $1$ (for all of them) and $2$ (only for \texttt{definitions}). To change the combined numbering, set \texttt{all} to your desired number.
\newpage
\subsection{Tables}
\textit{Included in \texttt{most} and up}
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
\begin{minted}{latex}
\begin{tables}{ll}{Left & Right}
Left content & Right Content\\
\end{tables}
\end{minted}
This outputs as
\begin{tables}{ll}{Left & Right}
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
\begin{minted}{latex}
\begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\
\end{fullTable}
\end{minted}
This outputs as
\begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\
\end{fullTable}
\subsection{Index}
\textit{Included in \texttt{most} and up}
If you want to use index, add \verb|\prepareIndex| to the preamble. Using \verb|\addIndexBold|\{\textit{string}\}, you can add entries to the index. They are printed in bold typeface in your document.
Using \verb|\addIndex|\{\textit{string}\}, you can do the same, but the text remains normal and using \verb|\addIndexItalic|\{\textit{string}\}, it is printed in italics
\subsection{Extras}
\subsubsection{BibTeX}
\textit{Included in \texttt{recommended} and up}
Use \verb|\setupBiber|\{\textit{/path/to/your/bib/sources.bib file}\} in the preamble to prepare, then use \verb|\printbib| to print your bibliography.
\subsubsection{Glossary}
\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|.
\subsubsection{Minted}
\textit{Included in \texttt{full}}
No extra configs or commands provided by this one, simply an import for minted. Be sure to enable \texttt{shell-escape} for your compiler!

View File

@@ -0,0 +1,32 @@
\newpage
\subsection{CS-Commands}
These commands have to be executed inside math environment, except \verb|\timecomplexity| and \verb|\tc|.
\begin{itemize}
\item \verb|\timecomplexity| Prints the word time complexity with a coloured box.
\item \verb|\tc| Shorthand for \verb|\tct|. Deprecated
\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}
\fhlc{Aquamarine}{Algorithms}
\begin{minted}{latex}
\begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\end{algo}
\end{minted}
\begin{algo}{functionName(A)}
\Procedure{functionName}{$(A)$}
\State\Return "Hello World"
\EndProcedure
\end{algo}

View File

@@ -0,0 +1,67 @@
\newpage
\subsection{Extras}
\subsubsection{BibTeX}
\textit{Included in \texttt{recommended} and up}
Use \verb|\setupBiber|\{\textit{/path/to/your/bib/sources.bib file}\} in the preamble to prepare, then use \verb|\printbib| to print your bibliography.
To add more sources, simply use bibter's built-in macro \verb|\addbibresource|\textit{\{filepath\}}, which will load your \texttt{.bib} file.
You need to use that inside the preamble as well.
% ────────────────────────────────────────────────────────────────────
\subsubsection{Glossary}
\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|.
% ────────────────────────────────────────────────────────────────────
\subsubsection{Minted}
\textit{Included in \texttt{full}}
Be sure to enable \texttt{-shell-escape} for your compiler
\textit{(Note: Some newer versions of LaTeX do no longer require this and it is better to keep it turned off for security reasons, if it works without)}!
When \texttt{minted} is available via these helpers, you will also have access to the \texttt{code} environment:
\begin{minted}{latex}
\begin{code}{language}
// Code goes here
\end{code}
\end{minted}
This is nothing different than a wrapper for a minted environment with a box drawn around it.
Example (in python):
\begin{code}{python}
def hello_world():
print("hello world!")
\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}.
\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|}

View File

@@ -0,0 +1,12 @@
\newsection
\section{Full Command Reference}
\subsection{Variables}
\begin{itemize}
\item \textit{scope}: \texttt{minimal}, \texttt{most}, \texttt{recommended}, \texttt{all} or \texttt{letter}
\item \textit{string}: Any normal text
\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}
\item \textit{langauge}: 2-character country code (currently only \texttt{de} and \texttt{en} supported)
\end{itemize}

View File

@@ -0,0 +1,40 @@
\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{\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{\theoremde}|\{\textit{string}\} Change the translation for theorem in German (usually either ``Satz'' or ``Theorem'')
\item \verb|\setNumberingStyle|\{\textit{number}\} Change the numbering of definitions, lemmas, etc for this document. 0 = off, 1 = Separately, 2 = Combined (except for definition), 3 = Combined
\item \verb|\setcounter{numberSubsections}|\{\textit{number}\} Change the format of the numbering of definition, lemma, etc.
0 = $<$section$>$.$<$number$>$,\\
1 = $<$section$>$.$<$subsection$>$.$<$number$>$,\\
2 = $<$section$>$.$<$subsection$>$.$<$subsubsection$>$.$<$number$>$\\
Changing this won't affect all of numbering prior to the command, only after. You can change this setting (and the one 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|\setLang|\{\textit{language}\} Change the language. Will automatically load babel in German. Can only be used once and only at the start of the document or in the preamble, as repeated usage leads to undefined behaviour
\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}
\newpage
\subsection{Setup, Loading \& Translation}
\begin{itemize}
\item \verb|\load|\{\textit{scope}\} Load the selected \textit{scope}
\item \verb|\setup|\{\textit{string}\} Prepare the document with the \textit{string} being 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|\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|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
\item \verb|\numberingOn| Turn on the numbering (will set back to config previously set by \verb|\setNumberingStyle|)
\item \verb|\numberingOff| Turn off the numbering (if you want to temporarily not use it. Do not use \verb|\setNumberingStyle| for that)
\end{itemize}

View File

@@ -0,0 +1,29 @@
\newpage
\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|\hastoeq| or \verb|\mbeq| Has to equal symbol (non-standard), $\hastoeq$
\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|\divides| Divider or divides symbol, e.g. $a \divides 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|\der|\{\textit{math}\} Derivative, $\displaystyle \der{x}$
\item \verb|\dern|\{\textit{math}\}\{\textit{math}\} Higher derivative, $\displaystyle \dern{x}{2}$
\item \verb|\elementstack|\{\textit{math}\}\{\textit{math}\} Stack two elements on top of eachother. Uses \verb|\genfrac| under the hood.
Can be used for example in limits as an alternative to \verb|\atop| or \verb|\substack|.
\end{itemize}

View File

@@ -0,0 +1,90 @@
\newpage
\subsubsection{Inline \& Shortened descriptors}
\textit{Included in \texttt{most} and up}
See \ref{sec:counters} for a guide on how to change the current number.
\fhlc{Aquamarine}{Inline}
\begin{tables}{ll}{Command & Output}
\verb|\inlineex| & \inlineex \\
\verb|\inlinedef| & \inlinedef \\
\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}
\fhlc{Aquamarine}{Shortened}
\begin{tables}{ll}{Command & Output}
\verb|\shortex| & \shortex \\
\verb|\shortdef| & \shortdef \\
\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
\fhlc{Aquamarine}{Inline (Named)}
\begin{tables}{ll}{Command & Output}
\verb|\fancyex|\{\textit{string}\} & \fancyex{Exercise} \\
\verb|\fancydef|\{\textit{string}\} & \fancydef{Definition} \\
\verb|\fancytheorem|\{\textit{string}\} & \fancytheorem{Theorem} \\
\verb|\fancylemma|\{\textit{string}\} & \fancylemma{Lemma} \\
\verb|\fancycorollary|\{\textit{string}\} & \fancycorollary{Corollary} \\
\verb|\fancyproposition|\{\textit{string}\} & \fancyproposition{Proposition} \\
\verb|\fancyfact|\{\textit{string}\} & \fancyfact{Fact} \\
\verb|\fancyaxiom|\{\textit{string}\} & \fancyaxiom{Axiom} \\
\verb|\fancyremark|\{\textit{string}\} & \fancyremark{Remark} \\
\verb|\fancyproof|\{\textit{string}\} & \fancyproof{Proof} \\
\end{tables}
\fhlc{Aquamarine}{Shortened (Named)}
\begin{tables}{ll}{Command & Output}
\verb|\compactex|\{\textit{string}\} & \compactex{Exercise} \\
\verb|\compactdef|\{\textit{string}\} & \compactdef{Definition} \\
\verb|\compacttheorem|\{\textit{string}\} & \compacttheorem{Theorem} \\
\verb|\compactlemma|\{\textit{string}\} & \compactlemma{Lemma} \\
\verb|\compactcorollary|\{\textit{string}\} & \compactcorollary{Corollary} \\
\verb|\compactproposition|\{\textit{string}\} & \compactproposition{Proposition} \\
\verb|\compactfact|\{\textit{string}\} & \compactfact{Fact} \\
\verb|\compactaxiom|\{\textit{string}\} & \compactaxiom{Axiom} \\
\verb|\compactremark|\{\textit{string}\} & \compactremark{Remark} \\
\verb|\compactproof|\{\textit{string}\} & \compactproof{Proof} \\
\end{tables}
\subsubsection{Changing the counters}
\label{sec:counters}
\textit{Included in \texttt{most} and up}
\textit{Starting from the version of October 18, 2025, you may no longer use \texttt{$\backslash$setcounter} directly}
You may set the current number for the elements by setting their corresponding counter to the selected number.
You can do this using \verb|\setLabelNumber|\{\textit{name of the environment}\}\{\textit{number}\},
where you replace \textit{name of the environment} with one of the following:
\texttt{definition}, \texttt{lemma}, \texttt{theorem}, \texttt{corollary}, \texttt{proposition}, \texttt{fact},
\texttt{formula}, \texttt{axiom}, \texttt{example}, \texttt{remark}
This only applies if you have set \texttt{numberingConfig} to $1$ (for all of them) and $2$ (only for \texttt{definitions}).
To change the combined numbering, use \verb|\setLabelNumber{all}| to your desired number.
You may also use \verb|\stepLabelNumber|\{\textit{name of the environment}\} to step the counter by one.
\subsubsection{Referencing counters}
\textit{Included in \texttt{most} and up, introduced on October 18, 2025}
If you wish to reference a counter, you can do so by writing
\verb|\ref{<counter name>:<section>-<subsection>-<subsubsection>-<counter value>}|,
or of course, if you do not label subsections and / or subsubsection, dropping them.

View File

@@ -0,0 +1,23 @@
\newpage
\subsection{Style}
General styling commands. All other commands, except these ones require at least \texttt{most} to be the selected \textit{scope}
\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|\fhlc|\{\textit{color}\}\{\textit{string}\} Print \fhlc{ForestGreen}{bold, underlined text in a coloured box}
\item \verb|\fhl|\{\textit{string}\} Print \fhl{bold, underlined text in a white box}
\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|\smallhspace| Prints a 2mm hspace
\item \verb|\mediumhspace| Prints a 5mm 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|\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}

View File

@@ -0,0 +1,86 @@
\newpage
\fhlc{Aquamarine}{Counter-enabled}
These ones also have two settings, namely, you can change the counter behaviour and the inclusion of subsections in the numbering. See \ref{sec:perFileConf}.
See \ref{sec:counters} for a guide on how to change the current number and how to reference them.
\begin{definition}[]{Title here}
\begin{minted}{latex}
\begin{definition}[]{Title here}
\end{definition}
\end{minted}
\end{definition}
\begin{theorem}[]{Title here}
\begin{minted}{latex}
\begin{theorem}[]{Title here}
\end{theorem}
\end{minted}
\end{theorem}
\begin{lemma}[]{Title here}
\begin{minted}{latex}
\begin{lemma}[]{Title here}
\end{lemma}
\end{minted}
\end{lemma}
\begin{corollary}[]{Title here}
\begin{minted}{latex}
\begin{corollary}[]{Title here}
\end{corollary}
\end{minted}
\end{corollary}
\begin{proposition}[]{Title here}
\begin{minted}{latex}
\begin{proposition}[]{Title here}
\end{proposition}
\end{minted}
\end{proposition}
\begin{fact}[]{Title here}
\begin{minted}{latex}
\begin{fact}[]{Title here}
\end{fact}
\end{minted}
\end{fact}
\begin{axiom}[]{Title here}
\begin{minted}{latex}
\begin{axiom}[]{Title here}
\end{axiom}
\end{minted}
\end{axiom}
\begin{example}[]{Title here}
\begin{minted}{latex}
\begin{example}[]{Title here}
\end{example}
\end{minted}
\end{example}
\begin{remark}[]{Title here}
\begin{minted}{latex}
\begin{remark}[]{Title here}
\end{remark}
\end{minted}
\end{remark}
\begin{formula}[]{Title here}
\begin{minted}{latex}
\begin{formula}[]{Title here}
\end{formula}
\end{minted}
\end{formula}

View File

@@ -0,0 +1,89 @@
\newpage
\subsubsection{Tcolorboxes}
\textit{Included in \texttt{most} and up}
Put \verb|\usetcolorboxes| right after \verb|\startDocument| (right after \verb|\begin{document}|) if you plan to use them.
\fhlc{Aquamarine}{General}
\begin{terms}[]{Title here}
\begin{minted}{latex}
\begin{terms}[]{Title here}
\end{terms}
\end{minted}
\end{terms}
\begin{notation}[]{Title here}
\begin{minted}{latex}
\begin{notation}[]{Title here}
\end{notation}
\end{minted}
\end{notation}
\begin{recall}[]{Title here}
\begin{minted}{latex}
\begin{recall}[]{Title here}
\end{recall}
\end{minted}
\end{recall}
\begin{remarks}[]{Title here}
\begin{minted}{latex}
\begin{remarks}[]{Title here}
\end{remarks}
\end{minted}
\end{remarks}
\begin{usage}[]{Title here}
\begin{minted}{latex}
\begin{usage}[]{Title here}
\end{usage}
\end{minted}
\end{usage}
\begin{guides}[]{Title here}{Tutorial}
\begin{minted}{latex}
\begin{guides}[]{Title here}{Tutorial}
% You can also change the right title on this one
\end{guides}
\end{minted}
\end{guides}
\begin{properties}[]{Title here}
\begin{minted}{latex}
\begin{properties}[]{Title here}
\end{properties}
\end{minted}
\end{properties}
\begin{restrictions}[]{Title here}
\begin{minted}{latex}
\begin{restrictions}[]{Title here}
\end{restrictions}
\end{minted}
\end{restrictions}
\begin{limitations}[]{Title here}
\begin{minted}{latex}
\begin{limitations}[]{Title here}
\end{limitations}
\end{minted}
\end{limitations}
\begin{intuition}[]{Title here}
\begin{minted}{latex}
\begin{intuition}[]{Title here}
\end{intuition}
\end{minted}
\end{intuition}
Can also be used inline using \verb|\inlineintuition|, which renders \inlineintuition

View File

@@ -0,0 +1,29 @@
\vspace{1cm}
\fhlc{Aquamarine}{Language-Specific}
\begin{conjugation}[]{Title here}
\begin{minted}{latex}
\begin{conjugation}[]{Title here}
\end{conjugation}
\end{minted}
\end{conjugation}
\begin{forms}[]{Title here}
\begin{minted}{latex}
\begin{forms}[]{Title here}
\end{forms}
\end{minted}
\end{forms}
\fhlc{Aquamarine}{Flexible}
\begin{general}[]{title}{second title}{red}
This Tcolorbox is flexible and can take any main and secondary title, as well as any colour.\\
\begin{minted}{latex}
\begin{general}[]{title}{second title}{red}
\end{general}
\end{minted}
\end{general}

View File

@@ -0,0 +1,39 @@
\newpage
\subsection{Tables}
\textit{Included in \texttt{most} and up}
You can set up nice looking tables using the \texttt{booktab} and \texttt{tabulary} environments.
\textit{New as of October 28 2025:} Tables and figures are now also numbered according to your settings
\begin{minted}{latex}
\begin{tables}{ll}{Left & Right}
Left content & Right Content\\
\end{tables}
\end{minted}
This outputs as
\begin{tables}{ll}{Left & Right}
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
\begin{minted}{latex}
\begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\
\end{fullTable}
\end{minted}
This outputs as
\begin{fullTable}{ll}{Left & Right}{This is a caption}
Left content & Right Content\\
\end{fullTable}
\subsection{Index}
\textit{Included in \texttt{most} and up}
If you want to use index, add \verb|\prepareIndex| to the preamble. Using \verb|\addIndexBold|\{\textit{string}\}, you can add entries to the index. They are printed in bold typeface in your document.
Using \verb|\addIndex|\{\textit{string}\}, you can do the same, but the text remains normal and using \verb|\addIndexItalic|\{\textit{string}\}, it is printed in italics

View File

@@ -13,6 +13,10 @@ You have most likely forgotten about the second argument. Then, the first letter
\subsection{pgfkeys: Don't know mainboxstyle}
You have most likely forgotten about \verb|\usetcolorboxes| after \verb|\startDocument|.
\subsection{Numbering incorrect after numberingOn}
Check the start of the document and make sure you have used \verb|\setNumberingStyle| to set the numbering style and not
\verb|\setcounter{numberingConfig}|
\subsection{Undefined commands}

View File

@@ -5,9 +5,7 @@ You can type \texttt{latex-prepare} and press tab, if you have installed the VSC
\begin{minted}{latex}
\documentclass{article}
\newcommand{\dir}{~/path/to/helper} % TODO: Change your path here! No trailing slashes!
\input{\dir/include.tex}
\load{recommended} % TODO: Change the inclusion level (if necessary), see below
\input{~/projects/latex/dist/recommended.tex} % TODO: Change here your inclusion level and path
\setup{Type your title here}
@@ -19,15 +17,19 @@ Type your \LaTeX here
\end{document}
\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}
\item \texttt{minimal} Just the core styling and core functionality.
\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{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})
\end{itemize}
If you are using the old import style, you can use the \verb|\load| command with these options
\subsection{Configuration}
You can set a global config in config file in helper files directory. The file is located at

View File

@@ -1 +1,47 @@
% ┌ ┐
% │ Minted │
% └ ┘
\usepackage{minted}
\usepackage{fancyvrb}
% Args: Code.
% Alternative: Use \mint{<language>}|code|
\newcommand{\inlinecode}[1]{\shade{gray}{\texttt{#1}}}
% Args: Language, Code
\newenvironment{code}[1]{
\VerbatimEnvironment
\begin{minted}[
autogobble,
breaklines,
breakindentnchars=2,
frame=lines,
framesep=2mm,
mathescape,
baselinestretch=1.1,
linenos
]{#1}}
{\end{minted}}
% Args: Language, file relative to root file
\newcommand{\inputcode}[2]{
\inputminted[
autogobble,
breaklines,
breakindentnchars=2,
frame=lines,
framesep=2mm,
mathescape,
baselinestretch=1.1,
linenos
]{#1}{#2}
}
% Args: Language, Base directory (with trailing slash), file (no slash at start)
\newcommand{\inputcodewithfilename}[3]{
\begin{figure}[h!]
\texttt{File: \detokenize{#3}}
\rmvspace
\inputcode{#1}{#2#3}
\end{figure}
}

View File

@@ -1,4 +1,5 @@
% Loader
\ClassWarning{janishutz-helpers}{Using legacy loading method. Please see the docs for updating}
\newcommand{\load}[1]{
\edef\recommended{recommended}
\edef\minimal{minimal}
@@ -8,30 +9,29 @@
\edef\temp{#1}
\ifx \temp\recommended
\typeout{[CustomLaTeXHelperLoader]: Loading config recommended}
\input{\dir/dist/recommended.tex}
\input{\dir/scopes/recommended.tex}
\loadRecommended
\else
\ifx \temp\minimal
\typeout{[CustomLaTeXHelperLoader]: Loading config minimal}
\input{\dir/dist/minimal.tex}
\input{\dir/scopes/minimal.tex}
\loadMinimal
\else
\ifx \temp\most
\typeout{[CustomLaTeXHelperLoader]: Loading config most}
\input{\dir/dist/most.tex}
\input{\dir/scopes/most.tex}
\loadMost
\else
\ifx \temp\full
\typeout{[CustomLaTeXHelperLoader]: Loading config full}
\input{\dir/dist/full.tex}
\input{\dir/scopes/full.tex}
\loadFull
\else
\ifx \temp\letters
\typeout{[CustomLaTeXHelperLoader]: Loading config letter}
\input{\dir/dist/minimal.tex}
\input{\dir/scopes/minimal.tex}
\loadMinimal
% \input{\dir/config/config.tex}
\input{\dir/dist/letter.tex}
\input{\dir/scopes/letter.tex}
\else
\typeout{[CustomLaTeXHelperLoader]: INVALID CONFIG SPECIFIED, NOTHING LOADED!}
\fi

View File

@@ -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
% Load this before the config file
% Imports %
% ── Imports ─────────────────────────────────────────────────────────
\typeout{[Core] Importing!}
\usepackage[table, dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{graphicx}
@@ -21,7 +24,6 @@
\usepackage{dsfont}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{lipsum}
\usepackage{ulem}
\usepackage{soul}
\usepackage{parskip}
@@ -38,7 +40,8 @@
\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
\newcounter{lang}
@@ -53,13 +56,14 @@
\ifx\lang\de
\typeout{[Lang Switcher] Loading German}
\setcounter{lang}{2}
\input{\dir/main/lang/de}
\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}
@@ -71,12 +75,14 @@
}
% ────────────────────────────────────────────────────────────────────
% Create config counters / variables. See the config file for changing them
\newcounter{numberingConfig}
\newcounter{numberSubsections}
\newcounter{descriptorShadeStrength}
\newcounter{shadeStrength}
% ── 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...}
@@ -84,8 +90,6 @@
\usepackage[a4paper,textwidth=17.5cm,textheight=25cm,includehead]{geometry}
\title{\Huge \textbf{#1}}
\author{\authorTitle}
\makeatletter
\makeatother
\fancyhead{}
\fancyhead[L]{#1}
\fancyhead[R]{\authorHeaders}
@@ -100,17 +104,24 @@
\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}}
@@ -119,6 +130,7 @@
% Set up the latex document for exam summaries (Extra wide body, small margins, no header)
\newcommand{\setupCheatSheet}[1]{
\typeout{[Setup] Using CheatSheet setup}
\loadLang
\usepackage[a4paper,textwidth=20cm,textheight=28.5cm]{geometry}
\title{\Huge \textbf{#1}}

View File

@@ -3,17 +3,32 @@
% ░▒█░░░░█░░█░█░▀░█░█▄▄█░█░▒█░░█░░█▀▀░█▄▄▀░░░░▀▀▀▄▄░█░░░░█▀░█▀▀░█░▒█░█░░░█▀▀
% ░▒█▄▄▀░░▀▀░░▀░░▒▀░█░░░░░▀▀▀░░▀░░▀▀▀░▀░▀▀░░░▒█▄▄▄█░▀▀▀░▀▀▀░▀▀▀░▀░░▀░▀▀▀░▀▀▀
% Extra imports
\usepackage{stmaryrd}
\usepackage{algorithm}
\usepackage{algpseudocodex}
\usepackage{setspace}
\usepackage{verbatim}
\usepackage{turnstile}
\usepackage{forloop}
\newcommand{\Indent}{\hspace{\algorithmicindent}}
% Extra commands
\newcommand{\timecomplexity}{\fhlc{orange}{\ifnum\value{lang}<2{Time complexity}\else {Laufzeit}\fi} \hspace{0.5em}}
\newcommand{\tc}[1]{\timecomplexity $\Theta\left(#1\right)$}
\newcommand{\tct}[1]{$\Theta\left(#1\right)$}
\newcommand{\tco}[1]{$\mathcal{O}\left(#1\right)$}
\newcommand{\tcl}[1]{$\Omega\left(#1\right)$}
\newcommand{\tct}[1]{\Theta\left(#1\right)}
\newcommand{\tco}[1]{\mathcal{O}\left(#1\right)}
\newcommand{\tcl}[1]{\Omega\left(#1\right)}
\newcommand{\wordbool}{(\Sigma_{\text{bool}})^*}
\newcommand{\words}[1]{(\Sigma_{\text{#1}})^*}
\newcommand{\word}{\Sigma^*}
\newcommand{\wordm}[1]{\Sigma_{\text{#1}}^*}
\newcommand{\alphabets}[1]{\Sigma_{\text{#1}}}
\newcommand{\alphabetbool}{\Sigma_{\text{bool}}}
\newcommand{\tR}{\text{R}}
\newcommand{\tC}{\text{C}}
\newcommand{\tN}{\text{N}}
\newcommand{\bigvdash}[2]{\sststile{#1}{#2}}
\newcommand{\class}{\text{\tr{Cl}{Kl}}}

View File

@@ -1 +0,0 @@
\usepackage[ngerman]{babel}

View File

@@ -8,16 +8,68 @@
% ▄███▄ ▀▀ ▄████▄████▀██▄ ▀███████ ████▄
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
% BB shortcuts (for number spaces, etc)
\newcommand{\A}{\mathbb{A}}
\newcommand{\B}{\mathbb{B}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\I}{\mathbb{I}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\D}{\mathbb{D}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\G}{\mathbb{G}}
\renewcommand{\H}{\mathbb{H}}
\newcommand{\I}{\mathbb{I}}
\newcommand{\J}{\mathbb{J}}
\newcommand{\K}{\mathbb{K}}
\renewcommand{\L}{\mathbb{L}}
\newcommand{\M}{\mathbb{M}}
\newcommand{\N}{\mathbb{N}}
\renewcommand{\O}{\mathbb{O}}
\renewcommand{\P}{\mathbb{P}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\renewcommand{\S}{\mathbb{S}}
\newcommand{\T}{\mathbb{T}}
\newcommand{\U}{\mathbb{U}}
\newcommand{\V}{\mathbb{V}}
\newcommand{\W}{\mathbb{W}}
\newcommand{\X}{\mathbb{X}}
\newcommand{\Y}{\mathbb{Y}}
\newcommand{\Z}{\mathbb{Z}}
% Caligraphic
\newcommand{\cA}{\mathcal{A}}
\newcommand{\cB}{\mathcal{B}}
\newcommand{\cC}{\mathcal{C}}
\newcommand{\cD}{\mathcal{D}}
\newcommand{\cE}{\mathcal{E}}
\newcommand{\cF}{\mathcal{F}}
\newcommand{\cG}{\mathcal{G}}
\newcommand{\cH}{\mathcal{H}}
\newcommand{\cI}{\mathcal{I}}
\newcommand{\cJ}{\mathcal{J}}
\newcommand{\cK}{\mathcal{K}}
\newcommand{\cL}{\mathcal{L}}
\newcommand{\cM}{\mathcal{M}}
\newcommand{\cN}{\mathcal{N}}
\newcommand{\cO}{\mathcal{O}}
\newcommand{\cP}{\mathcal{P}}
\newcommand{\cQ}{\mathcal{Q}}
\newcommand{\cR}{\mathcal{R}}
\newcommand{\cS}{\mathcal{S}}
\newcommand{\cT}{\mathcal{T}}
\newcommand{\cU}{\mathcal{U}}
\newcommand{\cV}{\mathcal{V}}
\newcommand{\cW}{\mathcal{W}}
\newcommand{\cX}{\mathcal{X}}
\newcommand{\cY}{\mathcal{Y}}
\newcommand{\cZ}{\mathcal{Z}}
% other useful shortcuts
\newcommand{\elementstack}[2]{\genfrac{}{}{0pt}{}{#1}{#2}}
\newcommand{\8}{\infty}
\newcommand{\dx}{\mbox{d}}
\newcommand{\cond}{\text{cond}}
\newcommand{\argmin}[1]{\underset{#1}{\text{argmin}}}
\newcommand{\dx}{\text{ d}}
\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
\newcommand{\hastoeq}{\overset{!}{=}}
@@ -28,15 +80,20 @@
\newcommand{\defAs}{\overset{\text{def}}{=}}
\newcommand{\der}[1]{\frac{\mbox{d}}{\mbox{d}#1}}
\newcommand{\dern}[2]{\frac{\mbox{d}^{#2}}{\mbox{d}^{#2}#1}}
\newcommand{\parder}[1]{\frac{\partial}{\partial #1}}
\newcommand{\pardern}[2]{\frac{\partial^{#2}}{\partial^{#2} #1}}
\newcommand{\defEquiv}{\overset{\text{def}}{\Leftrightarrow}}
\newcommand{\defImplies}{\overset{\text{def}}{\Rightarrow}}
\newcommand{\divides}{\hspace{0.25em}|\hspace{0.25em}}
\newcommand{\mbeq}{\overset{!}{=}}
\newcommand{\lcm}{\text{lcm}}
\newcommand{\limit}[2]{\lim_{#1 \rightarrow #2}}
\newcommand{\limit}[2]{\underset{#1 \rightarrow #2}{\lim}}
\newcommand{\seq}[1]{(#1_n)_{n \geq 1}}
\newcommand{\ser}[2]{\sum_{k = 1}^{#2} #1_k}
\newcommand{\limni}{\limit{n}{\infty}}
\newcommand{\limnz}{\limit{n}{0}}
\newcommand{\limxz}{\limit{x_0}{0}}
\newcommand{\limhz}{\limit{h}{0}}
\newcommand{\liminfni}{\liminf_{n \rightarrow \infty}}
\newcommand{\limsupni}{\limsup_{n \rightarrow \infty}}
\DeclareMathOperator\arctanh{arctanh}

View File

@@ -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},
overlay={\node[overlaystyle,draw=yellow!75!black,,fill=yellow!75!black] at (frame.north east) {\large \translate{Recall }{Repetition }};},#1}
@@ -23,6 +24,11 @@
\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},

View File

@@ -6,131 +6,399 @@
% ·▀▀▀ ▀█▄▀▪ ▀▀▀ ▀▀ █▪ ▀▀▀ ▀▀▀ .▀ ▀
\usepackage{xstring}
\usepackage{etoolbox}
% tcolorbox and other stylistic elements (i.e. inline versions of them) that have counters
\newcounter{lemmas}
\newcounter{definitions}
\newcounter{corollaries}
\newcounter{theorems}
\newcounter{axioms}
\newcounter{examples}
\newcounter{facts}
\newcounter{propositions}
\newcounter{formulas}
\newcounter{all}
\newcounter{lemma}[section]
\newcounter{definition}[section]
\newcounter{corollary}[section]
\newcounter{theorem}[section]
\newcounter{axiom}[section]
\newcounter{example}[section]
\newcounter{fact}[section]
\newcounter{proposition}[section]
\newcounter{formula}[section]
\newcounter{remark}[section]
\newcounter{all}[section]
\newcommand{\definitions}{definitions}
\newcommand{\useSubsection}{\ifnum\value{numberSubsections}>0{\arabic{subsection}.}\else{}\fi}
\newcommand{\useSubsubsection}{\ifnum\value{numberSubsections}>1{\arabic{subsubsection}.}\else{}\fi}
\newcounter{lemmass}[subsection]
\newcounter{definitionss}[subsection]
\newcounter{corollaryss}[subsection]
\newcounter{theoremss}[subsection]
\newcounter{axiomss}[subsection]
\newcounter{exampless}[subsection]
\newcounter{factss}[subsection]
\newcounter{propositionss}[subsection]
\newcounter{formulass}[subsection]
\newcounter{remarkss}[subsection]
\newcounter{allss}[subsection]
\newcommand{\usenumberArabic}[1]{\ifnum\value{numberingConfig}<4{\arabic{section}.\useSubsection\useSubsubsection\ifnum\value{numberingConfig}<3{\ifnum\value{numberingConfig}<2{\arabic{#1}\stepcounter{#1}}\else{
\ifx#1\definitions
\arabic{#1}\stepcounter{#1}
\else
\arabic{all}\stepcounter{all}
\fi}\fi}\else{\arabic{all}\stepcounter{all}}\fi}\else{}\fi}
\newcounter{lemmasss}[subsubsection]
\newcounter{definitionsss}[subsubsection]
\newcounter{corollarysss}[subsubsection]
\newcounter{theoremsss}[subsubsection]
\newcounter{axiomsss}[subsubsection]
\newcounter{examplesss}[subsubsection]
\newcounter{factsss}[subsubsection]
\newcounter{propositionsss}[subsubsection]
\newcounter{formulasss}[subsubsection]
\newcounter{remarksss}[subsubsection]
\newcounter{allsss}[subsubsection]
% Set the current number of a label
\newcommand{\setLabelNumber}[2]{%
\setcounter{#1}{#2}%
\addtocounter{#1}{-1}%
\setcounter{#1ss}{#2}%
\addtocounter{#1ss}{-1}%
\setcounter{#1sss}{#2}%
\addtocounter{#1sss}{-1}%
}
\newcommand{\stepLabelNumber}[1]{%
\stepcounter{#1}%
\stepcounter{#1ss}%
\stepcounter{#1sss}%
}
\newcommand{\printcounter}[1]{%
\csname the#1\endcsname
}
\newcommand{\suffix}{ss}
\newcommand{\sectionNumbering}{\thesection}
% ┌ ┐
% │ Counter numbering │
% └ ┘
\newcommand{\preTableAndFigHook}[1]{%
\ifnum\value{numberingConfig}>1%
\ifnum\value{numberSubsections}=1%
\stepcounter{allss}%
\else
\ifnum\value{numberSubsections}=2%
\stepcounter{allsss}%
\else%
\stepcounter{all}%
\fi
\fi
\fi
}
\AtBeginEnvironment{table}{\preTableAndFigHook{table}}
\AtBeginEnvironment{figure}{\preTableAndFigHook{figure}}
\newcommand{\applyTableAndFigureNumbering}{
% Tables & Figures
\ifnum\value{numberingConfig}=0
\renewcommand{\thetable}{\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
}
\newcommand{\applySubsectionNumbering}{
\ifnum\value{numberSubsections}=1
\renewcommand{\sectionNumbering}{\thesubsection}
\renewcommand{\suffix}{ss}
\typeout{Numbering as section.subsection.number}
\else
\ifnum\value{numberSubsections}=2
\renewcommand{\sectionNumbering}{\thesubsubsection}
\renewcommand{\suffix}{sss}
\typeout{Numbering as section.subsection.subsubsection.number}
\else
\renewcommand{\sectionNumbering}{\thesection}
\renewcommand{\suffix}{}
\typeout{Numbering as section.number}
\fi
\fi
\applyTableAndFigureNumbering
\renewcommand{\thelemma}{\sectionNumbering.\arabic{lemma}}
\renewcommand{\thedefinition}{\sectionNumbering.\arabic{definition}}
\renewcommand{\thecorollary}{\sectionNumbering.\arabic{corollary}}
\renewcommand{\thetheorem}{\sectionNumbering.\arabic{theorem}}
\renewcommand{\theaxiom}{\sectionNumbering.\arabic{axiom}}
\renewcommand{\theexample}{\sectionNumbering.\arabic{example}}
\renewcommand{\thefact}{\sectionNumbering.\arabic{fact}}
\renewcommand{\theproposition}{\sectionNumbering.\arabic{proposition}}
\renewcommand{\theformula}{\sectionNumbering.\arabic{formula}}
\renewcommand{\theremark}{\sectionNumbering.\arabic{remark}}
\renewcommand{\theall}{\sectionNumbering.\arabic{all}}
\renewcommand{\thelemmass}{\sectionNumbering.\arabic{lemmass}}
\renewcommand{\thedefinitionss}{\sectionNumbering.\arabic{definitionss}}
\renewcommand{\thecorollaryss}{\sectionNumbering.\arabic{corollaryss}}
\renewcommand{\thetheoremss}{\sectionNumbering.\arabic{theoremss}}
\renewcommand{\theaxiomss}{\sectionNumbering.\arabic{axiomss}}
\renewcommand{\theexampless}{\sectionNumbering.\arabic{exampless}}
\renewcommand{\thefactss}{\sectionNumbering.\arabic{factss}}
\renewcommand{\thepropositionss}{\sectionNumbering.\arabic{propositionss}}
\renewcommand{\theformulass}{\sectionNumbering.\arabic{formulass}}
\renewcommand{\theremarkss}{\sectionNumbering.\arabic{remarkss}}
\renewcommand{\theallss}{\sectionNumbering.\arabic{allss}}
\renewcommand{\thelemmasss}{\sectionNumbering.\arabic{lemmasss}}
\renewcommand{\thedefinitionsss}{\sectionNumbering.\arabic{definitionsss}}
\renewcommand{\thecorollarysss}{\sectionNumbering.\arabic{corollarysss}}
\renewcommand{\thetheoremsss}{\sectionNumbering.\arabic{theoremsss}}
\renewcommand{\theaxiomsss}{\sectionNumbering.\arabic{axiomsss}}
\renewcommand{\theexamplesss}{\sectionNumbering.\arabic{examplesss}}
\renewcommand{\thefactsss}{\sectionNumbering.\arabic{factsss}}
\renewcommand{\thepropositionsss}{\sectionNumbering.\arabic{propositionsss}}
\renewcommand{\theformulasss}{\sectionNumbering.\arabic{formulasss}}
\renewcommand{\theremarksss}{\sectionNumbering.\arabic{remarksss}}
\renewcommand{\theallsss}{\sectionNumbering.\arabic{allsss}}
}
\applySubsectionNumbering
% ── Label generation ────────────────────────────────────────────────
\newcommand{\labelSectionGeneration}{%
\ifnum\value{numberSubsections}=1
\arabic{section}-\arabic{subsection}%
\else
\ifnum\value{numberSubsections}=2
\arabic{section}-\arabic{subsection}-\arabic{subsubsection}%
\else
\arabic{section}%
\fi
\fi}
\newcommand{\labelIt}[1]{\refstepcounter{#1\suffix}\edef\tempLabel{\genLabel{#1}{\arabic{#1\suffix}}}\label{\tempLabel}}
\newcommand{\genLabel}[2]{#1:\labelSectionGeneration-#2}
% ┌ ┐
% │ Number the counters appropriately │
% └ ┘
\newcommand{\usenumberArabic}[1]{%
\ifnum\value{numberingConfig}=1
\labelIt{#1}
\printcounter{#1\suffix}%
\else
\ifnum\value{numberingConfig}=2
\ifthenelse{\equal{#1}{definitions}}{%
\labelIt{definition}
\printcounter{definition\suffix}%
}{%
\labelIt{all}
\printcounter{all\suffix}%
}%
\else
\ifnum\value{numberingConfig}=3
\labelIt{all}
\printcounter{all\suffix}%
\else
\relax%
\fi
\fi
\fi}
% Reset definition, lemma, etc counters, add a new page
% ────────────────────────────────────────────────────────────────────
% ┌ ┐
% │ Enable or disable numbering │
% └ ┘
% Initialize with config file
\newcounter{numberingConfigStore}
\setcounter{numberingConfigStore}{\value{numberingConfig}}
% For later change
\newcommand{\setNumberingStyle}[1]{
\typeout{Setting NumberingStyle to #1}
\setcounter{numberingConfig}{#1}
\ifthenelse{\equal{#1}{0}}{}{
\setcounter{numberingConfigStore}{#1}
}
\applyTableAndFigureNumbering
}
% Enable / disable numbering
\newcommand{\numberingOff}{
\setcounter{numberingConfig}{0}
\applyTableAndFigureNumbering
}
\newcommand{\numberingOn}{
\setcounter{numberingConfig}{\value{numberingConfigStore}}
\applyTableAndFigureNumbering
}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Reset definition, lemma, etc counters, add a │
% │ new page │
% ╰────────────────────────────────────────────────╯
\newcommand{\newsection}{
\newpage
\newsectionNoPB
}
% Reset definitions, lemma, etc counters, do not add new page
% ── Reset definitions, lemma, etc counters, do not add new page ─────
\newcommand{\newsectionNoPB}{
\setcounter{lemmas}{1}
\setcounter{definitions}{1}
\setcounter{corollaries}{1}
\setcounter{theorems}{1}
\setcounter{axioms}{1}
\setcounter{examples}{1}
\setcounter{facts}{1}
\setcounter{propositions}{1}
\setcounter{formulas}{1}
\setcounter{all}{1}
}
\newsectionNoPB
\setcounter{lemma}{0}
\setcounter{definition}{0}
\setcounter{corollary}{0}
\setcounter{theorem}{0}
\setcounter{axiom}{0}
\setcounter{example}{0}
\setcounter{fact}{0}
\setcounter{proposition}{0}
\setcounter{formula}{0}
\setcounter{remark}{0}
\setcounter{all}{0}
\setcounter{lemmass}{0}
\setcounter{definitionss}{0}
\setcounter{corollaryss}{0}
\setcounter{theoremss}{0}
\setcounter{axiomss}{0}
\setcounter{exampless}{0}
\setcounter{factss}{0}
\setcounter{propositionss}{0}
\setcounter{formulass}{0}
\setcounter{remarkss}{0}
\setcounter{allss}{0}
\setcounter{lemmasss}{0}
\setcounter{definitionsss}{0}
\setcounter{corollarysss}{0}
\setcounter{theoremsss}{0}
\setcounter{axiomsss}{0}
\setcounter{examplesss}{0}
\setcounter{factsss}{0}
\setcounter{propositionsss}{0}
\setcounter{formulasss}{0}
\setcounter{remarksss}{0}
\setcounter{allsss}{0}
% Tables & Figures
\setcounter{table}{0}
\setcounter{figure}{0}
}
\newsectionNoPB % Initializes
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Tcolorboxes │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Definitions
\newtcolorbox{definition}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large Definition \usenumberArabic{definitions}};},#1}
\newtcolorbox{definition}[2][]{mainboxstyle,colback=blue!5!white,colframe=blue!75!black,colbacktitle=blue!75!black,title={\large #2},overlay={\node[overlaystyle,draw=blue!75!black,fill=blue!75!black] at (frame.north east) {\large Definition\usenumberArabic{definition}};},#1}
% Theorems
\newtcolorbox{theorem}[2][]{mainboxstyle,colback=ForestGreen!5!white,colframe=ForestGreen!75!black,colbacktitle=ForestGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde} \usenumberArabic{theorems}};},#1}
overlay={\node[overlaystyle,draw=ForestGreen!75!black,fill=ForestGreen!75!black] at (frame.north east) {\large \translate{Theorem}{\theoremde}\usenumberArabic{theorem}};},#1}
% Lemmas
\newtcolorbox{lemma}[2][]{mainboxstyle,colback=Aquamarine!5!white,colframe=Aquamarine!75!black,colbacktitle=Aquamarine!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma \usenumberArabic{lemmas}};},#1}
overlay={\node[overlaystyle,draw=Aquamarine!75!black,fill=Aquamarine!75!black] at (frame.north east) {\large Lemma\usenumberArabic{lemma}};},#1}
% Corollaries
\newtcolorbox{corollary}[2][]{mainboxstyle,colback=teal!5!white,colframe=teal!75!black,colbacktitle=teal!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar} \usenumberArabic{corollaries}};},#1}
overlay={\node[overlaystyle,draw=teal!75!black,fill=teal!75!black] at (frame.north east) {\large \translate{Corollary}{Korollar}\usenumberArabic{corollary}};},#1}
% Axioms
\newtcolorbox{axiom}[2][]{mainboxstyle,colback=JungleGreen!5!white,colframe=JungleGreen!75!black,colbacktitle=JungleGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom \usenumberArabic{axioms}};},#1}
overlay={\node[overlaystyle,draw=JungleGreen!75!black,fill=JungleGreen!75!black] at (frame.north east) {\large Axiom\usenumberArabic{axiom}};},#1}
% Facts
\newtcolorbox{fact}[2][]{mainboxstyle,colback=SeaGreen!5!white,colframe=SeaGreen!75!black,colbacktitle=SeaGreen!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt} \usenumberArabic{facts}};},#1}
overlay={\node[overlaystyle,draw=SeaGreen!75!black,fill=SeaGreen!75!black] at (frame.north east) {\large \translate{Fact}{Fakt}\usenumberArabic{fact}};},#1}
% Propositions
\newtcolorbox{proposition}[2][]{mainboxstyle,colback=Cyan!5!white,colframe=Cyan!75!black,colbacktitle=Cyan!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition \usenumberArabic{propositions}};},#1}
overlay={\node[overlaystyle,draw=Cyan!75!black,fill=Cyan!75!black] at (frame.north east) {\large Proposition\usenumberArabic{proposition}};},#1}
% Examples
\newtcolorbox{example}[2][]{mainboxstyle,colback=gray!5!white,colframe=gray!75!black,colbacktitle=gray!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel} \usenumberArabic{examples}};},#1}
overlay={\node[overlaystyle,draw=gray!75!black,fill=gray!75!black] at (frame.north east) {\large \translate{Example}{Beispiel}\usenumberArabic{example}};},#1}
% Formula
\newtcolorbox{formula}[2][]{mainboxstyle,colback=red!5!white,colframe=red!75!black,colbacktitle=red!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel} \usenumberArabic{formulas}};},#1}
overlay={\node[overlaystyle,draw=red!75!black,fill=red!75!black] at (frame.north east) {\large \translate{Formula}{Formel}\usenumberArabic{formula}};},#1}
% Remark
\newtcolorbox{remark}[2][]{mainboxstyle,colback=green!5!white,colframe=green!75!black,colbacktitle=green!75!black,title={\large #2},
overlay={\node[overlaystyle,draw=green!75!black,fill=green!75!black] at (frame.north east) {\large \translate{Remark}{Bemerkung} \usenumberArabic{remark}};},#1}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Inline environments │
% ╰────────────────────────────────────────────────╯
% ────────────────────────────────────────────────────────────────────
% Inline environments (inline)
\newcommand{\inlineex}{\textbf{\translate{Example}{Beispiel} \usenumberArabic{examples}:}}
\newcommand{\inlinedef}{\bg{blue}{Definition \usenumberArabic{definitions}:}}
\newcommand{\inlineformula}{\bg{red}{\translate{Formula}{Formel} \usenumberArabic{formulas}:}}
\newcommand{\inlinelemma}{\bg{Aquamarine}{Lemma \usenumberArabic{lemmas}:}}
\newcommand{\inlinetheorem}{\bg{ForestGreen}{\translate{Theorem}{\theoremde} \usenumberArabic{theorems}:}}
\newcommand{\inlineaxiom}{\bg{JungleGreen}{Axiom \usenumberArabic{axioms}:}}
\newcommand{\inlinecorollary}{\bg{teal}{\translate{Corollary}{Korollar} \usenumberArabic{corollaries}:}}
\newcommand{\inlinefact}{\bg{SeaGreen}{\translate{Fact}{Fakt} \usenumberArabic{facts}:}}
\newcommand{\inlineproposition}{\bg{Cyan}{Proposition \usenumberArabic{propositions}:}}
\newcommand{\inlineex}{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:}}
\newcommand{\inlinedef}{\bg{blue}{Definition\usenumberArabic{definition}:}}
\newcommand{\inlineformula}{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:}}
\newcommand{\inlinelemma}{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:}}
\newcommand{\inlinetheorem}{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:}}
\newcommand{\inlineaxiom}{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:}}
\newcommand{\inlinecorollary}{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:}}
\newcommand{\inlinefact}{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:}}
\newcommand{\inlineproposition}{\bg{Cyan}{Proposition\usenumberArabic{proposition}:}}
\newcommand{\inlineremark}{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:}}
\newcommand{\inlineproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced inline environments
\newcommand{\fancyex}[1]{\bg{gray}{\translate{Example}{Beispiel} \usenumberArabic{examples}:} \textit{(#1)}}
\newcommand{\fancydef}[1]{\bg{blue}{Definition \usenumberArabic{definitions}:} \textit{(#1)}}
\newcommand{\fancyformula}[1]{\bg{red}{\translate{Formula}{Formel} \usenumberArabic{formulas}:} \textit{(#1)}}
\newcommand{\fancylemma}[1]{\bg{Aquamarine}{Lemma \usenumberArabic{lemmas}:} \textit{(#1)}}
\newcommand{\fancytheorem}[1]{\bg{ForestGreen}{\translate{Theorem}{\theoremde} \usenumberArabic{theorems}:} \textit{(#1)}}
\newcommand{\fancyaxiom}[1]{\bg{JungleGreen}{Axiom \usenumberArabic{axioms}:} \textit{(#1)}}
\newcommand{\fancycorollary}[1]{\bg{teal}{\translate{Corollary}{Korollar} \usenumberArabic{corollaries}:} \textit{(#1)}}
\newcommand{\fancyfact}[1]{\bg{SeaGreen}{\translate{Fact}{Fakt} \usenumberArabic{facts}:} \textit{(#1)}}
\newcommand{\fancyproposition}[1]{\bg{Cyan}{Proposition \usenumberArabic{propositions}:} \textit{(#1)}}
\newcommand{\fancyex}[1]{\bg{gray}{\translate{Example}{Beispiel}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\fancydef}[1]{\bg{blue}{Definition\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\fancyformula}[1]{\bg{red}{\translate{Formula}{Formel}\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\fancylemma}[1]{\bg{Aquamarine}{Lemma\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\fancytheorem}[1]{\bg{ForestGreen}{\translate{Theorem}{\theoremde}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\fancyaxiom}[1]{\bg{JungleGreen}{Axiom\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\fancycorollary}[1]{\bg{teal}{\translate{Corollary}{Korollar}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\fancyfact}[1]{\bg{SeaGreen}{\translate{Fact}{Fakt}\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\fancyproposition}[1]{\bg{Cyan}{Proposition\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\fancyremark}[1]{\bg{green}{\translate{Remark}{Bemerkung}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\fancyproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}
% short environments (abbreviated)
\newcommand{\shortex}{\textbf{\translate{Ex}{Bsp} \usenumberArabic{examples}:}}
\newcommand{\shortdef}{\bg{blue}{D \usenumberArabic{definitions}:}}
\newcommand{\short}{\bg{red}{F \usenumberArabic{formulas}:}}
\newcommand{\shortlemma}{\bg{Aquamarine}{L \usenumberArabic{lemmas}:}}
\newcommand{\shorttheorem}{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}} \usenumberArabic{theorems}:}}
\newcommand{\shortaxiom}{\bg{JungleGreen}{A \usenumberArabic{axioms}:}}
\newcommand{\shortcorollary}{\bg{teal}{\translate{C}{K} \usenumberArabic{corollaries}:}}
\newcommand{\shortfact}{\bg{SeaGreen}{F \usenumberArabic{facts}:}}
\newcommand{\shortproposition}{\bg{Cyan}{P \usenumberArabic{propositions}:}}
\newcommand{\shortex}{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:}}
\newcommand{\shortdef}{\bg{blue}{D\usenumberArabic{definition}:}}
\newcommand{\short}{\bg{red}{F\usenumberArabic{formula}:}}
\newcommand{\shortlemma}{\bg{Aquamarine}{L\usenumberArabic{lemma}:}}
\newcommand{\shorttheorem}{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:}}
\newcommand{\shortaxiom}{\bg{JungleGreen}{A\usenumberArabic{axiom}:}}
\newcommand{\shortcorollary}{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:}}
\newcommand{\shortfact}{\bg{SeaGreen}{F\usenumberArabic{fact}:}}
\newcommand{\shortproposition}{\bg{Cyan}{P\usenumberArabic{proposition}:}}
\newcommand{\shortremark}{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:}}
\newcommand{\shortproof}{\bg{magenta}{\translate{Proof}{Beweis}:}}
% Enhanced short environments (abbreviated)
\newcommand{\compactex}[1]{\bg{gray}{\translate{Ex}{Bsp} \usenumberArabic{examples}:} \textit{(#1)}}
\newcommand{\compactdef}[1]{\bg{blue}{D \usenumberArabic{definitions}:} \textit{(#1)}}
\newcommand{\compactformula}[1]{\bg{red}{F \usenumberArabic{formulas}:} \textit{(#1)}}
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L \usenumberArabic{lemmas}:} \textit{(#1)}}
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}} \usenumberArabic{theorems}:} \textit{(#1)}}
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A \usenumberArabic{axioms}:} \textit{(#1)}}
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K} \usenumberArabic{corollaries}:} \textit{(#1)}}
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F \usenumberArabic{facts}:} \textit{(#1)}}
\newcommand{\compactproposition}[1]{\bg{Cyan}{P \usenumberArabic{propositions}:} \textit{(#1)}}
\newcommand{\compactex}[1]{\bg{gray}{\translate{Ex}{Bsp}\usenumberArabic{example}:} \textit{(#1)}}
\newcommand{\compactdef}[1]{\bg{blue}{D\usenumberArabic{definition}:} \textit{(#1)}}
\newcommand{\compactformula}[1]{\bg{red}{F\usenumberArabic{formula}:} \textit{(#1)}}
\newcommand{\compactlemma}[1]{\bg{Aquamarine}{L\usenumberArabic{lemma}:} \textit{(#1)}}
\newcommand{\compacttheorem}[1]{\bg{ForestGreen}{\translate{T}{\StrMid{\theoremde}{1}{1}}\usenumberArabic{theorem}:} \textit{(#1)}}
\newcommand{\compactaxiom}[1]{\bg{JungleGreen}{A\usenumberArabic{axiom}:} \textit{(#1)}}
\newcommand{\compactcorollary}[1]{\bg{teal}{\translate{C}{K}\usenumberArabic{corollary}:} \textit{(#1)}}
\newcommand{\compactfact}[1]{\bg{SeaGreen}{F\usenumberArabic{fact}:} \textit{(#1)}}
\newcommand{\compactproposition}[1]{\bg{Cyan}{P\usenumberArabic{proposition}:} \textit{(#1)}}
\newcommand{\compactremark}[1]{\bg{green}{\tr{R}{B}\usenumberArabic{remark}:} \textit{(#1)}}
\newcommand{\compactproof}[1]{\bg{magenta}{\translate{Proof}{Beweis}: \textit{(#1)}}}

View File

@@ -5,7 +5,7 @@
% ▀▀ █▪▀▀▀ ▀ ▀ ▀▀▀ ▀▀▀ · ▀▀▀▀ ▀▀▀ ▀ • .▀▀▀ ▀▀▀
% Replace some commonly used commands with better ones
\renewcommand{\vec}[1]{\overrightarrow{#1}}
\newcommand{\vect}[1]{\overrightarrow{#1}}
\renewcommand{\hat}[1]{\widehat{#1}}
\renewcommand{\tilde}[1]{\widetilde{#1}}
\newcommand{\proven}{$\hspace{17cm}\square$}

View File

@@ -44,9 +44,31 @@
% -------------------- %
% 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,
@@ -77,6 +99,12 @@
% 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}}

View File

@@ -7,7 +7,6 @@
\usepackage{booktabs}
\usepackage{tabulary}
% Create new table. #1 Layout, #2 title row
\newenvironment{tables}[2]{

5
scopes/full.tex Normal file
View File

@@ -0,0 +1,5 @@
\newcommand{\loadFull}{
\input{\dir/scopes/recommended.tex}
\loadRecommended
\input{\dir/extra/minted.tex}
}

32
scopes/letter.tex Normal file
View 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}
}
}%

7
scopes/minimal.tex Normal file
View File

@@ -0,0 +1,7 @@
\newcommand{\loadMinimal}{
\typeout{[CustomLaTeXHelperLoader]: Loaded minimal}
\input{\dir/main/core.tex}
\input{\dir/config/config.tex}
\input{\dir/main/style/style.tex}
\input{\dir/main/style/common.tex}
}

13
scopes/most.tex Normal file
View File

@@ -0,0 +1,13 @@
\newcommand{\loadMost}{
\typeout{[CustomLaTeXHelperLoader]: Loaded most}
\input{\dir/scopes/minimal.tex}
\loadMinimal
\input{\dir/main/math.tex}
\input{\dir/main/cs.tex}
\input{\dir/main/index.tex}
\input{\dir/main/tables.tex}
\input{\dir/main/style/counters.tex}
\input{\dir/main/style/cs.tex}
\input{\dir/main/style/math.tex}
\input{\dir/main/style/language.tex}
}

7
scopes/recommended.tex Normal file
View File

@@ -0,0 +1,7 @@
\newcommand{\loadRecommended}{
\typeout{[CustomLaTeXHelperLoader]: Loaded recommended}
\input{\dir/scopes/most.tex}
\loadMost
\input{\dir/extra/bib.tex}
\input{\dir/extra/glossary.tex}
}

View File

@@ -3,9 +3,7 @@
"prefix": "latex-prepare",
"body": [
"\\documentclass{article}\n",
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!",
"\\input{\\dir/include.tex}",
"\\load{recommended}\n",
"\\input{~/projects/latex/dist/recommended.tex}\n",
"\\setup{$1}\n",
"\\begin{document}",
"\\startDocument",
@@ -53,6 +51,15 @@
},
"Important Remarks": {
"prefix": "remarks",
"body": [
"\\begin{remark}[]{$1}",
"\t$2",
"\\end{remark}"
],
"description": "Inserts a tcolorbox to provide remarks (green), but here numbered"
},
"Remark (numbered)": {
"prefix": "remark",
"body": [
"\\begin{remarks}[]{$1}",
"\t$2",
@@ -87,6 +94,15 @@
],
"description": "Inserts a tcolorbox to inform about restrictions"
},
"Intuition": {
"prefix": "restrictions",
"body": [
"\\begin{intuition}[]{$1}",
"\t$2",
"\\end{intuition}"
],
"description": "Tcolorbox to highlight sections about intuition"
},
"Limitations": {
"prefix": "limitations",
"body": [
@@ -378,8 +394,8 @@
"\\underbar{$1}"
]
},
"algebra": {
"prefix": "algebra",
"angles": {
"prefix": "angles",
"body": [
"\\langle $1 \\rangle"
]
@@ -412,9 +428,7 @@
"prefix": "latex-letter",
"body": [
"\\documentclass[12pt,a4paper]{scrlttr2}\n",
"\\newcommand{\\dir}{~/projects/latex} % IMPORTANT: No trailing slashes!",
"\\input{\\dir/include.tex}",
"\\load{letter}\n",
"\\input{~/projects/latex/dist/letter.tex}\n",
"% Subject",
"\\setkomavar{subject}{$1}",
"\\begin{document}\\raggedright",