diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json
index 15bcf27..e32e1e8 100644
--- a/.obsidian/appearance.json
+++ b/.obsidian/appearance.json
@@ -1,7 +1,7 @@
{
"theme": "moonstone",
"interfaceFontFamily": "Noto Sans",
- "cssTheme": "",
+ "cssTheme": "Tokyo Night",
"enabledCssSnippets": [
"export",
"matugen"
diff --git a/.obsidian/plugins/better-export-pdf/data.json b/.obsidian/plugins/better-export-pdf/data.json
new file mode 100644
index 0000000..ff96062
--- /dev/null
+++ b/.obsidian/plugins/better-export-pdf/data.json
@@ -0,0 +1,30 @@
+{
+ "showTitle": true,
+ "maxLevel": "6",
+ "displayHeader": true,
+ "displayFooter": true,
+ "headerTemplate": "
",
+ "footerTemplate": " /
",
+ "printBackground": false,
+ "generateTaggedPDF": false,
+ "displayMetadata": false,
+ "debug": false,
+ "isTimestamp": false,
+ "enabledCss": false,
+ "concurrency": "5",
+ "prevConfig": {
+ "pageSize": "A4",
+ "marginType": "1",
+ "showTitle": false,
+ "open": true,
+ "scale": 100,
+ "landscape": false,
+ "marginTop": "10",
+ "marginBottom": "10",
+ "marginLeft": "10",
+ "marginRight": "10",
+ "displayHeader": true,
+ "displayFooter": true,
+ "cssSnippet": "0"
+ }
+}
\ No newline at end of file
diff --git a/.obsidian/plugins/obsidian-file-color/data.json b/.obsidian/plugins/obsidian-file-color/data.json
index aeb5ea2..587ba26 100644
--- a/.obsidian/plugins/obsidian-file-color/data.json
+++ b/.obsidian/plugins/obsidian-file-color/data.json
@@ -1,5 +1,5 @@
{
- "cascadeColors": true,
+ "cascadeColors": false,
"colorBackground": false,
"palette": [],
"fileColors": []
diff --git a/.obsidian/snippets/export.css b/.obsidian/snippets/export.css
deleted file mode 100644
index dab8706..0000000
--- a/.obsidian/snippets/export.css
+++ /dev/null
@@ -1,70 +0,0 @@
-/* ULTRA-COMPACT EXAM CHEAT SHEET MODE */
-@media print {
-
- /* 1. Obliterate Page Margins */
- @page {
- margin: 0.5cm;
- size: A4 portrait;
- }
-
- /* 2. Tiny but readable base font */
- body {
- font-size: 8pt !important;
- line-height: 1.1 !important;
- }
-
- /* 3. Force 3-Column Layout */
- .markdown-rendered {
- column-count: 3;
- column-gap: 0.4cm;
- column-rule: 1px dashed #ccc;
- }
-
- /* 4. Crush Headings and Whitespace */
- h1,
- h2,
- h3,
- h4,
- h5 {
- font-size: 9pt !important;
- margin: 4px 0 2px 0 !important;
- padding: 0 !important;
- line-height: 1.1 !important;
- }
-
- p,
- ul,
- ol,
- blockquote {
- margin: 0 0 3px 0 !important;
- padding-left: 12px !important;
- }
-
- /* 5. Shrink Tables & Callouts */
- table {
- font-size: 7pt !important;
- margin: 2px 0 !important;
- }
-
- th,
- td {
- padding: 2px 4px !important;
- }
-
- .callout {
- padding: 4px !important;
- margin: 2px 0 !important;
- }
-
- .callout-title {
- font-size: 8pt !important;
- }
-
- /* 6. Prevent awkward page breaks in the middle of math/tables */
- table,
- img,
- .math-block,
- .callout {
- break-inside: avoid;
- }
-}
diff --git a/.obsidian/snippets/matugen.css b/.obsidian/snippets/matugen.css
deleted file mode 100644
index 3ef43d2..0000000
--- a/.obsidian/snippets/matugen.css
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Matugen Obsidian Dynamic Colors Snippet
- * Place output in: /.obsidian/snippets/matugen.css
- * Then enable it in: Settings → Appearance → CSS Snippets
- */
-
-.theme-dark, .theme-light {
-
- /* ── Material You RGB helpers ──────────────────────────── */
- --mat-bg-rgb: 14, 21, 13;
- --mat-surface-rgb: 14, 21, 13;
- --mat-on-surface-rgb: 221, 229, 215;
- --mat-primary-rgb: 88, 225, 104;
- --mat-on-primary-rgb: 0, 57, 13;
-
- /* ── Core Backgrounds ──────────────────────────────────── */
- --background-primary: #0e150d;
- --background-primary-alt: #0e150d;
- --background-secondary: #161d15;
- --background-secondary-alt: #1a2219;
-
- /* ── Titlebar ──────────────────────────────────────────── */
- --titlebar-background: #0e150d;
- --titlebar-background-focused: #161d15;
- --titlebar-text-color: #dde5d7;
-
- /* ── Borders & Dividers ────────────────────────────────── */
- --background-modifier-border: #3d4a3b;
- --background-modifier-border-focus: #879583;
- --background-modifier-border-hover: #879583;
-
- /* ── Text Colors ───────────────────────────────────────── */
- --text-normal: #dde5d7;
- --text-muted: #bccbb7;
- --text-faint: #879583;
- --text-on-accent: #00390d;
- --text-selection: rgba(88, 225, 104, 0.25);
-
- /* ── Accent & Interactive ──────────────────────────────── */
- --interactive-accent: #58e168;
- --interactive-accent-hover: #16af3e;
- --interactive-accent-rgb: 88, 225, 104;
- --text-accent: #58e168;
- --text-accent-hover: #16af3e;
-
- /* ── Hover & Active Modifiers ──────────────────────────── */
- --background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06);
- --background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15);
- --background-modifier-success: #fe5f8c;
- --background-modifier-error: #93000a;
- --background-modifier-error-hover: #ffb4ab;
-
- /* ── Obsidian Color Scale (--color-base-XX) ────────────── */
- --color-base-00: #0e150d;
- --color-base-05: #0e150d;
- --color-base-10: #091008;
- --color-base-20: #161d15;
- --color-base-25: #1a2219;
- --color-base-30: #242c23;
- --color-base-35: #2f372d;
- --color-base-40: #3d4a3b;
- --color-base-50: #879583;
- --color-base-60: #bccbb7;
- --color-base-70: #dde5d7;
- --color-base-100: #dde5d7;
-
- /* ── Semantic Colors ───────────────────────────────────── */
- --color-red: #ffb4ab;
- --color-orange: #ffb1c1;
- --color-yellow: #98d695;
- --color-green: #fe5f8c;
- --color-cyan: #1a5422;
- --color-blue: #58e168;
- --color-purple: #98d695;
- --color-pink: #ffb1c1;
-
- /* ── Headings ──────────────────────────────────────────── */
- --h1-color: #58e168;
- --h2-color: #58e168;
- --h3-color: #98d695;
- --h4-color: #ffb1c1;
- --h5-color: #bccbb7;
- --h6-color: #879583;
-
- /* ── Links ─────────────────────────────────────────────── */
- --link-color: #58e168;
- --link-color-hover: #000601;
- --link-external-color: #ffb1c1;
- --link-unresolved-color: #879583;
-
- /* ── Tags ──────────────────────────────────────────────── */
- --tag-color: #000601;
- --tag-background: #16af3e;
- --tag-border-color: #58e168;
- --tag-color-hover: #00390d;
- --tag-background-hover: #58e168;
-
- /* ── Checkboxes ────────────────────────────────────────── */
- --checkbox-color: #58e168;
- --checkbox-color-hover: #16af3e;
- --checkbox-border-color: #879583;
- --checkbox-marker-color: #00390d;
-
- /* ── Code Blocks ───────────────────────────────────────── */
- --code-background: #161d15;
- --code-normal: #dde5d7;
- --code-comment: #879583;
- --code-function: #58e168;
- --code-important: #ffb4ab;
- --code-keyword: #98d695;
- --code-operator: #ffb1c1;
- --code-property: #bccbb7;
- --code-punctuation: #3d4a3b;
- --code-string: #ffb1c1;
- --code-tag: #ffb4ab;
- --code-value: #98d695;
-
- /* ── Scrollbar ─────────────────────────────────────────── */
- --scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12);
- --scrollbar-active-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.25);
- --scrollbar-bg: transparent;
-
- /* ── Inputs ────────────────────────────────────────────── */
- --input-shadow: none;
- --input-shadow-hover: 0 0 0 2px #879583;
-
- /* ── Graph View ────────────────────────────────────────── */
- --graph-node: #58e168;
- --graph-node-unresolved: #879583;
- --graph-node-focused: #000601;
- --graph-node-tag: #98d695;
- --graph-node-attachment: #ffb1c1;
- --graph-line: #3d4a3b;
- --graph-background: #0e150d;
-
-}
-
-/* ── Active line highlight ─────────────────────────────────── */
-.cm-active {
- background-color: rgba(var(--mat-on-surface-rgb), 0.03) !important;
-}
\ No newline at end of file
diff --git a/00 Inbox/29605546 - 29593852 - Strings.md b/00 Inbox/29605546 - 29593852 - Strings.md
deleted file mode 100644
index 2ca480a..0000000
--- a/00 Inbox/29605546 - 29593852 - Strings.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-created: 2026-04-08 08:52
-course: "[[29593850 - Automationtheory]]"
-topic: strings
-related: "[[29593929 - Alphabets]]"
-type: lecture
-status: 🔴
-tags:
- - university
----
-## 📌 Summary
-
-> [!abstract]
-> Overview of lecture 1 on `Wednesday, 2026/Apr/08`
-
----
-
-## 📝 Content
-
-A word (or _string_) is a finite sequence $w = a_1 a_2 ... a_n$ if characters from $Sigma$.
-
-> [!CONVENTION]
-> We will use small letters to describe strings that are part of a language.
-
-> [!EXAMPLE]
-> $"aa", "ab", "bba"$ and $"baab"$ are strings over $Sigma = {a, b}.
-
-#### Length of a string
-The _length_ $abs(x)$ of a string $x = a_1 ... a_n$ is its number $abs(x) = n$ of characters.
-#### Empty String
-The empty string is denoted by $epsilon$, this is the neutral element.
--> $abs(epsilon) = 0$
-
-## String Operations
-### Concatenation
-String can be concatenated, where one string is appended to another.
-For strings $x = a_1 ... a_n$ and $y = b_1 ... b_m$ over alphabets $Sigma_x$ and $Sigma_y$, their _concatenation_ over the alphabet $Sigma = Sigma_x union Sigma_y$ is the string
-$$x circle.small y = x y = a_1 a_2 ... a_n b_1 b_2 ... b_m$$
-> This string is of the length $abs(x y) = n + m$
-
-> [!EXAMPLE]
-> $x = "apple"$
-> $y = "pie"$
-> $x circle.small y = "applepie"$
-
-Order of operations / Brackets do _not matter_. (Concatenation is associative but **not** commutative $x y eq.not y x$)
-> $(x circle.small y) circle.small z = x circle.small (y circle.small z)$
-
-Any string concatenated with the empty string $epsilon$ will result in itself.
-> $x circle.small epsilon = x = epsilon circle.small x$
-
-### Exponentiation
-
-The $n^"th"$ power $x^n$ of a string $x$ is the $(n-1)$-fold concatenation of $x$ with itself.
-> $x^0 := epsilon$
-> $x^n := x^(n-1) circle.small x$ for $n in NN$
-
-> [!Example]
-> $x^4 = x x x x$
-> $(a b)^3 = a b a b a b$
-
-### Reversing / Mirroring
-For a string $x = a_1 a_2 ... a_(n-1) a_n$ of length $n$, it's _mirrored string_ is given by
-$$ x^("Rev") = a_n a_(n-1)...a_2 a_1$$
-## Substrings
-A string $x$ is a _substring_ of a string $y$ if $y = u x v$, where $u$ and $v$ can be arbitrary strings.
-- If $u = epsilon$ then $x$ is a _prefix_ of $y$.
-- If $v = epsilon$ then $x$ is a suffix of $y$.
-
-For strings $x$ and $y$ the quantity $abs(y)_x$ is the number of times that $x$ is a substring of $y$.
-
diff --git a/00 Inbox/29605547 - 29605397 - OOP.md b/00 Inbox/29605547 - 29605397 - OOP.md
deleted file mode 100644
index 2dff315..0000000
--- a/00 Inbox/29605547 - 29605397 - OOP.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-created: 2026-04-16 11:47
-course: "[[29605547 - 29605397 - OOP]]"
-tags:
- - university
-topic:
-related:
-type: lecture
-status: 🔴
----
-## 📌 Summary
-
-> [!abstract]
->
-
----
-
-## 📝 Content
diff --git a/00 Inbox/29593975 - Regular Expressions.md b/10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593975 - Regular Expressions.md
similarity index 100%
rename from 00 Inbox/29593975 - Regular Expressions.md
rename to 10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593975 - Regular Expressions.md
diff --git a/10 Courses/02 - SoSe 2026/OOP/29605321 - Classes.md b/10 Courses/02 - SoSe 2026/OOP/29605321 - Classes.md
index 8fe8b13..ec53dfb 100644
--- a/10 Courses/02 - SoSe 2026/OOP/29605321 - Classes.md
+++ b/10 Courses/02 - SoSe 2026/OOP/29605321 - Classes.md
@@ -1,6 +1,6 @@
---
created: 2026-04-16 08:01
-course: "[[29605548 - 29605397 - OOP]]"
+course: "[[29605397 - OOP]]"
topic: classes
related:
type: lecture
diff --git a/00 Inbox/29605548 - 29605397 - OOP.md b/10 Courses/02 - SoSe 2026/OOP/29605397 - OOP.md
similarity index 79%
rename from 00 Inbox/29605548 - 29605397 - OOP.md
rename to 10 Courses/02 - SoSe 2026/OOP/29605397 - OOP.md
index b34839e..2cd4dfc 100644
--- a/00 Inbox/29605548 - 29605397 - OOP.md
+++ b/10 Courses/02 - SoSe 2026/OOP/29605397 - OOP.md
@@ -1,6 +1,6 @@
---
created: 2026-04-16 11:48
-course: "[[29605548 - 29605397 - OOP]]"
+course: "[[29605397 - OOP]]"
tags:
- university
topic: