Sarmate.net Sarmate.net
Startseite Funktionen Preise Dokumentation Kontakt
Anmelden Registrieren

TikZ-Tutorial für Anfänger

TikZ ist die LaTeX-Bibliothek zum Zeichnen von Figuren, Graphen und Diagrammen direkt im Dokument, ohne externe Software. Dieses Tutorial behandelt die Grundlagen — ausreichend für 90 % aller Figuren, die Sie jemals benötigen werden. Jedes Beispiel ist direkt im Browser kompilierbar: klicken Sie auf « In der Demo öffnen », um das Ergebnis sofort zu sehen, ohne LaTeX zu installieren.

Neu bei TikZ? Stöbern Sie auch in unserer Galerie mit über 300 TikZ-Figuren, um zu sehen, was möglich ist. Klicken Sie auf eine Figur, um ihren Code zu sehen.

Was ist TikZ?

TikZ (rekursives Akronym: « TikZ ist kein Zeichenprogramm ») ist eine Vektor-Zeichenbibliothek für LaTeX. Sie baut auf der Sprache PGF auf und bietet eine zugänglichere Syntax.

Konkret: Sie beschreiben Ihre Figur mit Textbefehlen (z. B. \draw (0,0) -- (1,1) zeichnet eine Linie), und TikZ rendert sie als PDF in professioneller Qualität. Ideal für mathematische Schemata, wissenschaftliche Diagramme, Flussdiagramme und alles, was Präzision erfordert.

Um TikZ zu verwenden, fügen Sie einfach zwei Zeilen in die Präambel Ihres Dokuments ein:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  % Vos commandes TikZ ici
\end{tikzpicture}

\end{document}

Alle Zeichenbefehle müssen zwischen \begin{tikzpicture} und \end{tikzpicture} geschrieben werden. Diese Umgebung definiert den Zeichenbereich.

Erste Zeichnung: eine Linie

Der grundlegende TikZ-Befehl ist \draw. Um eine Linie zu zeichnen, gibt man zwei Punkte, verbunden durch --.

Koordinaten werden in Klammern als (x,y) angegeben; Standardeinheit ist Zentimeter. (0,0) ist der Ursprung, (3,2) liegt 3 cm rechts und 2 cm oberhalb.

\begin{tikzpicture}
  \draw (0,0) -- (3,2);
\end{tikzpicture}
Vorschau : Erste Zeichnung: eine Linie

Koordinaten und Punkte

Um zu sehen, wo Sie zeichnen, hilft eine Referenzgitter mit \draw[help lines] (0,0) grid (4,3);.

Einen Punkt kann man durch das Füllen eines kleinen Kreises mit \fill markieren und mit einem \node beschriften (siehe Kapitel weiter unten).

\begin{tikzpicture}
  % Hintergrundraster (visuelle Hilfe)
  \draw[help lines, gray!30] (0,0) grid (4,3);
  % Einige Punkte
  \fill[red] (1,1) circle (2pt);
  \fill[blue] (3,2) circle (2pt);
  \fill[green!60!black] (2,0) circle (2pt);
  % Beschriftungen
  \node[above right] at (1,1) {(1,1)};
  \node[above right] at (3,2) {(3,2)};
  \node[above right] at (2,0) {(2,0)};
\end{tikzpicture}
Vorschau : Koordinaten und Punkte

Farben

TikZ akzeptiert vordefinierte Farben: red, blue, green, black, white, gray, orange, purple usw.

Sie können auch die Intensität mit ! anpassen: red!50 ist ein 50-%-Rot (heller), green!60!black mischt 60 % Grün und 40 % Schwarz (Dunkelgrün).

Eine Farbe wird in den eckigen Klammern von \draw übergeben.

\begin{tikzpicture}
  \draw[red, thick]      (0,2) -- (4,2) node[right] {rot};
  \draw[blue, thick]     (0,1) -- (4,1) node[right] {blau};
  \draw[green!60!black, thick] (0,0) -- (4,0) node[right] {grün};
\end{tikzpicture}
Vorschau : Farben

Linienstile

Die Linienstärke setzt man mit thin, thick, very thick, ultra thick, oder mit line width=1pt für einen genauen Wert.

Das Linienmuster setzt man mit dashed (gestrichelt), dotted (gepunktet), loosely dashed, densely dotted usw.

\begin{tikzpicture}
  \draw[thick]                (0,3) -- (4,3) node[right] {normale Linie};
  \draw[ultra thick]          (0,2.2) -- (4,2.2) node[right] {ultra thick};
  \draw[dashed, thick]        (0,1.4) -- (4,1.4) node[right] {gestrichelt};
  \draw[dotted, thick]        (0,0.6) -- (4,0.6) node[right] {gepunktet};
  \draw[loosely dashed]       (0,-0.2) -- (4,-0.2) node[right] {loosely dashed};
\end{tikzpicture}
Vorschau : Linienstile

Rechteck, Kreis, Ellipse

Ein Rechteck zeichnet man mit (Ecke1) rectangle (Ecke2), wobei Ecke1 und Ecke2 zwei gegenüberliegende Ecken sind (typischerweise unten-links und oben-rechts).

Einen Kreis zeichnet man mit (Mittelpunkt) circle (Radius).

Eine Ellipse benötigt zwei Radien (horizontal und vertikal): (Mittelpunkt) ellipse (rx and ry).

\begin{tikzpicture}
  % Rechteck: (untere linke Ecke) rectangle (obere rechte Ecke)
  \draw[blue, thick] (0,0) rectangle (3,2);
  % Kreis: (Mittelpunkt) circle (Radius)
  \draw[red, thick] (5,1) circle (1cm);
  % Ellipse: (Mittelpunkt) ellipse (X-Radius and Y-Radius)
  \draw[green!60!black, thick] (8,1) ellipse (1.2 and 0.7);
\end{tikzpicture}
Vorschau : Rechteck, Kreis, Ellipse

Knoten und Text

Ein Knoten (node) ist ein positionierbares Objekt, das Text oder Formen enthält. Der grundlegende Befehl ist \node at (x,y) {Inhalt};.

Mit Optionen kann der Knoten umrahmt werden: draw (Umriss zeichnen), rectangle oder circle (Form), fill=blue!10 (Hintergrundfarbe).

\begin{tikzpicture}
  % Ein rechteckiger Knoten
  \node[draw, rectangle, fill=blue!10] at (0,0) {Box};
  % Ein runder Knoten
  \node[draw, circle, fill=red!10] at (3,0) {Rund};
  % Reiner Text ohne Rahmen
  \node at (6,0) {Nur Text};
\end{tikzpicture}
Vorschau : Knoten und Text

Knoten positionieren (right=of, below=of…)

Die Koordinaten jedes Knotens manuell auszurechnen wird schnell mühsam. Mit der Bibliothek positioning platzieren Sie einen Knoten relativ zu einem anderen: right=of A setzt den Knoten rechts von A, below=of A darunter usw. Dafür \usetikzlibrary{positioning} in die Präambel aufnehmen.

Verfügbare Richtungen: right, left, above, below und ihre Kombinationen (above right, below left…). Sie können einen Abstand angeben: below=2cm of A, oder global mit node distance=15mm als Option des tikzpicture.

Jeder Knoten hat außerdem benannte Anker (north, south, east, west, north east, center…). Zugriff über (A.south) — das ist unerlässlich, um zwei Knoten sauber zu verbinden: \draw (A.east) -- (B.west); zeichnet einen Pfeil zwischen den Rändern, ohne sie zu durchqueren.

Tipp: Einen Knoten mit (A) direkt nach \node zu benennen ist zwingend, um später darauf zu verweisen: \node[draw] (A) at (0,0) {Text};.

\usetikzlibrary{positioning}
\begin{tikzpicture}[node distance=10mm and 14mm]
  % Knoten A: absolute Position (Ankerpunkt)
  \node[draw, rectangle, fill=blue!15, minimum size=10mm] (A) {A};

  % B rechts von A (Standardabstand)
  \node[draw, rectangle, fill=red!15, minimum size=10mm, right=of A] (B) {B};

  % C unter A
  \node[draw, rectangle, fill=green!15, minimum size=10mm, below=of A] (C) {C};

  % D unten-rechts von A, eigener Abstand
  \node[draw, rectangle, fill=orange!20, minimum size=10mm,
        below right=15mm and 25mm of A] (D) {D};

  % Anker: bestimmte Ränder verbinden (south, north east…)
  \draw[->, thick] (A.south) -- (C.north);
  \draw[->, thick, dashed] (B.south west) -- (D.north);
  \draw[->, thick] (B.east) -- ++(0.6,0) node[right] {(B.east)};
\end{tikzpicture}
Vorschau : Knoten positionieren (right=of, below=of…)

Pfeile

Pfeile erhält man durch Spitzen-Optionen: -> (Pfeil nach rechts), <- (nach links), <-> (beidseitig).

Für elegantere Spitzen laden Sie die Bibliothek arrows.meta in der Präambel: \usetikzlibrary{arrows.meta}. Dann lassen sich -{Stealth}, -{Latex}, -{Triangle} usw.\ verwenden.

\begin{tikzpicture}
  \draw[->, thick]    (0,3) -- (4,3) node[right] {Pfeil nach rechts};
  \draw[<-, thick]    (0,2) -- (4,2) node[right] {Pfeil nach links};
  \draw[<->, thick]   (0,1) -- (4,1) node[right] {beidseitig};
  % Feine Pfeilspitze (Bibliothek arrows.meta)
  \draw[-{Stealth}, very thick, red] (0,0) -- (4,0) node[right] {Stealth};
\end{tikzpicture}
Vorschau : Pfeile

Polygone und geschlossene Pfade

Um ein Polygon zu zeichnen, verkettet man mehrere -- und beendet mit -- cycle, das den Pfad sauber schließt.

Zum Füllen (zusätzlich zum Umriss) die Option fill=Farbe innerhalb von \draw verwenden.

\begin{tikzpicture}
  % Geschlossenes Dreieck mit 'cycle'
  \draw[blue, thick] (0,0) -- (2,0) -- (1,1.7) -- cycle;
  % Unregelmäßiges Polygon
  \draw[red, thick, fill=red!10] (3,0) -- (5,0) -- (5.5,1.5) -- (3.5,2) -- cycle;
\end{tikzpicture}
Vorschau : Polygone und geschlossene Pfade

Bögen und Kurven

Ein Kreisbogen wird mit (Startpunkt) arc (Startwinkel:Endwinkel:Radius) gezeichnet. Winkel sind in Grad.

Für glatte Kurven verwenden Sie Bézier-Kurven (nächstes Kapitel).

\begin{tikzpicture}
  % Kreisbogen: (Start) arc (Winkel1:Winkel2:Radius)
  \draw[blue, thick] (0,0) arc (0:180:1);
  % Bézier-Kurve: (Start) .. controls (P1) and (P2) .. (Ende)
  \draw[red, thick] (3,0) .. controls (4,2) and (5,-1) .. (6,1);
\end{tikzpicture}
Vorschau : Bögen und Kurven

Bézier-Kurven

Eine kubische Bézier-Kurve wird mit (A) .. controls (P1) and (P2) .. (B) gezeichnet. Der Pfad beginnt bei A, endet bei B und wird durch zwei Kontrollpunkte P1 und P2 geführt — die Kurve verläuft nicht zwingend durch diese Punkte, sie ziehen die Kurve wie Magneten an.

Eine quadratische Bézier-Kurve verwendet nur einen Kontrollpunkt: (A) .. controls (P) .. (B). Einfacher zu kontrollieren bei symmetrischen Kurven.

Didaktischer Tipp: die Kontrollpunkte mit \fill + ihrem gestrichelten Kontrollpolygon zu zeichnen, hilft enorm beim Verständnis der Konstruktion.

\begin{tikzpicture}
  % Kubische Bézier-Kurve: (A) .. controls (P1) and (P2) .. (B)
  \draw[blue, thick] (0,0) .. controls (1,2) and (3,2) .. (4,0)
    node[right, blue] {kubische Bézier};
  % Sichtbare Kontrollpunkte
  \fill[blue!50] (1,2) circle (1.5pt) node[above] {\scriptsize $P_1$};
  \fill[blue!50] (3,2) circle (1.5pt) node[above] {\scriptsize $P_2$};
  \draw[blue!50, dashed, thin] (0,0) -- (1,2) -- (3,2) -- (4,0);

  % Quadratische Bézier-Kurve (einziger Kontrollpunkt)
  \draw[red, thick] (0,-2) .. controls (2,-4) .. (4,-2)
    node[right, red] {quadratische Bézier};
  \fill[red!50] (2,-4) circle (1.5pt) node[below] {\scriptsize $P$};
\end{tikzpicture}
Vorschau : Bézier-Kurven

Füllung

Um eine Form ohne Umriss zu füllen, verwenden Sie \fill. Zum Füllen mit Umriss verwenden Sie \filldraw oder fügen Sie die Option fill=... Ihrem \draw hinzu.

Sie können auch Transparenz mit fill opacity=0.3 für halbtransparente Überlagerungen anwenden.

\begin{tikzpicture}
  % \fill füllt (ohne Umriss)
  \fill[blue!30] (0,0) rectangle (2,1.5);
  % \filldraw füllt UND zeichnet den Umriss
  \filldraw[red!30, draw=red, thick] (3,0) rectangle (5,1.5);
  % \draw[fill=...] gleichwertig
  \draw[fill=green!30, thick, green!60!black] (6,0) circle (0.8);
\end{tikzpicture}
Vorschau : Füllung

Achsen und Gitter

Für ein einfaches Koordinatensystem verwenden Sie zwei \draw[->] mit einem \node am Ende zur Achsenbeschriftung.

Mit \foreach \x in {1,2,3,4} wiederholen Sie eine Zeichnung für jeden Wert — praktisch für Skalenstriche.

\begin{tikzpicture}
  % Achsen
  \draw[->, thick] (-0.5,0) -- (4.5,0) node[right] {$x$};
  \draw[->, thick] (0,-0.5) -- (0,3.5) node[above] {$y$};
  % Skalenmarkierungen
  \foreach \x in {1,2,3,4}
    \draw[gray!50] (\x,-0.05) -- (\x,0.05) node[below=2pt] {\x};
  \foreach \y in {1,2,3}
    \draw[gray!50] (-0.05,\y) -- (0.05,\y) node[left=2pt] {\y};
  % Ein Punkt
  \fill[red] (3,2) circle (2pt) node[above right] {A};
\end{tikzpicture}
Vorschau : Achsen und Gitter

Eine Funktion plotten

Um den Graphen einer Funktion zu plotten, nutzt man \draw plot (\x, {Ausdruck}), wobei \x die Variable und der mathematische Ausdruck in geschweiften Klammern steht.

Drei essentielle Optionen: domain=a:b definiert das Intervall, samples=N die Anzahl der Punkte (mehr = glatter), und smooth aktiviert glatte Interpolation.

Diese Syntax nutzt reines TikZ, ohne pgfplots. Perfekt für die meisten schulischen Graphen.

\begin{tikzpicture}[scale=1.2]
  % Achsen
  \draw[->, thick] (-3.2,0) -- (3.2,0) node[right] {$x$};
  \draw[->, thick] (0,-1.5) -- (0,4.5) node[above] {$y$};
  % Funktionsgraph y = x²
  \draw[blue, thick, smooth, samples=100, domain=-2:2]
    plot (\x, {\x*\x}) node[right] {$y = x^2$};
\end{tikzpicture}
Vorschau : Eine Funktion plotten

Mehrere Funktionen im selben Plot

Um mehrere Kurven zu überlagern, wiederholt man einfach \draw plot mit unterschiedlichen Farben und Ausdrücken.

Wichtig für trigonometrische Funktionen: TikZ arbeitet standardmäßig in Grad. Um Radianten zu verwenden (mit π), fügen Sie r nach dem Argument an: sin(\x r).

\begin{tikzpicture}[scale=1.2]
  % Achsen
  \draw[->, thick] (-3.5,0) -- (3.5,0) node[right] {$x$};
  \draw[->, thick] (0,-2.5) -- (0,2.5) node[above] {$y$};
  % Einige Skalenmarkierungen
  \foreach \x in {-3,-2,-1,1,2,3} \draw (\x, 0.05) -- (\x, -0.05) node[below] {\scriptsize\x};
  % Sinus in Blau
  \draw[blue, thick, smooth, samples=100, domain=-3.14:3.14]
    plot (\x, {sin(\x r)}) node[right] {$\sin x$};
  % Kosinus in Rot
  \draw[red, thick, smooth, samples=100, domain=-3.14:3.14]
    plot (\x, {cos(\x r)}) node[above right] {$\cos x$};
\end{tikzpicture}
Vorschau : Mehrere Funktionen im selben Plot

Fläche unter einer Kurve

Um die Fläche unter einer Kurve darzustellen (typischerweise zur Illustration eines Integrals), kombiniert man \fill mit einem plot und schließt den Bereich über -- cycle entlang der Achsen.

Die Option opacity=0.2 macht die Füllung halbtransparent, sodass die Kurve sichtbar bleibt.

Für fortgeschrittenere Graphen (beschriftete Achsen, automatische Legende, logarithmische Skalen, Statistiken) das Paket pgfplots in unserer Galerie erkunden.

\begin{tikzpicture}[scale=1.0]
  % Achsen
  \draw[->, thick] (-0.5,0) -- (5.5,0) node[right] {$x$};
  \draw[->, thick] (0,-0.5) -- (0,3.5) node[above] {$y$};
  % y = sqrt(x) auf [0;5]
  \draw[teal, thick, smooth, samples=80, domain=0:5]
    plot (\x, {sqrt(\x)}) node[right] {$y = \sqrt{x}$};
  % Fläche unter der Kurve (gefüllt)
  \fill[teal, opacity=0.2, smooth, samples=80, domain=0:4]
    plot (\x, {sqrt(\x)}) -- (4,0) -- (0,0) -- cycle;
  % Beschriftung
  \node[below] at (2, -0.3) {$\int_0^4 \sqrt{x}\,dx$};
\end{tikzpicture}
Vorschau : Fläche unter einer Kurve

Weiterführendes

Sie beherrschen nun die Grundlagen. Für den nächsten Schritt:

  • TikZ-Galerie: über 300 nach Kategorien sortierte Figuren (Mathematik, Physik, Chemie, Machine Learning, Diagramme…). Klicken Sie auf eine Figur, um den vollständigen Code zu sehen und in der Demo zu bearbeiten.
  • pgfplots für Funktionsgraphen und Statistiken: \usepackage{pgfplots}.
  • tikz-cd für kommutative Diagramme in der Mathematik.
  • circuitikz für elektrische Schaltpläne.
  • Nützliche TikZ-Bibliotheken: arrows.meta, positioning, calc, decorations.markings, patterns.