Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Makros und Wiederverwendung

1. Warum Makros?

Makros verbessern:

Beispiel:

\newcommand{\R}{\mathbb{R}}
\newcommand{\set}[2]{\left\{#1\,\middle|\,#2\right\}}

\newcommand{\Name}{...} definiert einen neuen Befehl. Bei \set bedeuten [2] zwei Argumente; im Makrotext stehen sie als #1 und #2.

Anwendung:

$\set{x\in\R}{x>0}$

Beim Aufruf werden die zwei Argumente in die vorher definierten Platzhalter eingesetzt.

2. Pflicht- und optionale Argumente

\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}
\newcommand{\skalar}[2]{\left\langle #1,#2 \right\rangle}
\newcommand{\integral}[2][x]{\int #2\,d#1}

[1] bzw. [2] gibt die Anzahl der Pflichtargumente an. Bei \integral ist das erste Argument optional mit Standardwert x. Aufrufbeispiele: \integral{f} ergibt fdx\int f\, dx, \integral[y]{f} ergibt fdy\int f\, dy.

3. Bestehende Befehle sicher ersetzen

4. Makrodesign in großen Projekten

5. Schlechte und gute Makros

Schlecht:

Gut:

6. Beispiel für ein Theorem-Makroset

\newtheorem{satz}{Satz}[section]
\newtheorem{lemma}[satz]{Lemma}
\newtheorem{korollar}[satz]{Korollar}

Die erste Zeile erzeugt den Zähler satz pro section. lemma und korollar teilen sich denselben Zähler durch die Referenz [satz]. Dadurch bleibt die Reihenfolge über alle Aussage-Typen hinweg konsistent: Nach Satz 2.1 kann direkt Lemma 2.2 folgen. Ohne gemeinsame Zähler würden getrennte Reihen entstehen (z. B. Satz 2.1, aber gleichzeitig Lemma 2.1), was Verweise unübersichtlicher macht. Praktisch ist diese Struktur auch für Referenzen: Mit Labels wie \label{thm:...} und \label{lem:...} bleibt die Nummerierung eindeutig, aber fachlich sauber getrennt.

So teilen sich alle Umgebungen eine gemeinsame Nummerierung pro Abschnitt.