Compare commits

145 Commits

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

View File

@@ -3,15 +3,14 @@
<h1>LaTeX Helper files</h1> <h1>LaTeX Helper files</h1>
</div> </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. 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 # Getting started
See the docs [here](https://git.janishutz.com/janishutz/latex/src/branch/main/docs/docs.pdf) to get started. See the docs [here](https://git.janishutz.com/janishutz/latex/raw/branch/main/docs/docs.pdf) to get started.
# Recommended LaTeX editors # Recommended LaTeX editors
@@ -26,4 +25,4 @@ The editors are ordered in terms of ease of use and my personal preference list
<a href="https://store.janishutz.com/donate" target="_blank"><img src="https://store-cdn.janishutz.com/static/support-me.jpg" width="150px"></a> <a href="https://store.janishutz.com/donate" target="_blank"><img src="https://store-cdn.janishutz.com/static/support-me.jpg" width="150px"></a>
</div> </div>
[LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2025 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/) [LaTeX helper files](https://git.janishutz.com/janishutz/latex) © 2026 by [Janis Hutz](https://janishutz.com) is licensed under [Creative Commons Attribution-NonCommercial 4.0 International](https://creativecommons.org/licenses/by-nc/4.0/)

View File

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

Binary file not shown.

View File

@@ -7,6 +7,7 @@
\begin{document} \begin{document}
\startDocument \startDocument
% ── Title page ────────────────────────────────────────────────────── % ── Title page ──────────────────────────────────────────────────────
\vspace{2cm} \vspace{2cm}
@@ -36,6 +37,7 @@
% └ ┘ % └ ┘
\input{./parts/intro.tex} \input{./parts/intro.tex}
\input{./parts/usage.tex} \input{./parts/usage.tex}
\input{./parts/beamer.tex}
\input{./parts/migration.tex} \input{./parts/migration.tex}

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

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

View File

@@ -20,4 +20,3 @@ The docs contain a section (section \ref{sec:migration}) on migrating from V1.X
You can install these helper files by downloading this repo and storing it to any location on your PC, remembering where that location is. You can install these helper files by downloading this repo and storing it to any location on your PC, remembering where that location is.
You may also install the VSCode snippets found in the vscode-snippets folder. These snippets provide autocompletion for many of the commands that this helper file provides. You may also install the VSCode snippets found in the vscode-snippets folder. These snippets provide autocompletion for many of the commands that this helper file provides.

View File

@@ -51,6 +51,7 @@
\item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}| \item \verb|\startDocument| Initialize the document. Has to be called after \verb|\begin{document}|
\item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected \item \verb|\translate|\{\textit{string}\}\{\textit{string}\} First \textit{string} is English, second \textit{string} is German. Switches automatically based on language selected
\item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate| \item \verb|\tr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|
\item \verb|\safetr|\{\textit{string}\}\{\textit{string}\} Shorthand for \verb|\translate|, safe to use in section titles
\item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config) \item \verb|\numberingOn| Turn on the numbering (if previously turned off using \verb|\numberingOff| or set in the config)
\item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering) \item \verb|\numberingOff| Turn off the numbering (useful to temporarily turn off numbering)
\end{itemize} \end{itemize}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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