2.7.1 PGF/TikZ-Bilder
Die Sprache PGF/TikZ kann benutzt werden um Vektorgrafiken zu erstellen. Dafür wird ein Codeblock vom Typ
tikz
verwendet.Info 2.7.1
TikZ-Bilder können problemlos für sich alleine stehen, allerdings ist es empfehlenswert diese innerhalb in einer Abbildung zu verwenden. So kann optional auch ein Bilduntertitel angefügt werden, indem ein Paragraph direkt vor dem Codeblock hinzugefügt wird.
::: {.figure}
Untertitel
```tikz
\begin{tikzpicture}
[…]
\end{tikzpicture}
```
:::
Beispiel 2.7.2
Der folgende Code ist für die Englische Version leicht abgewandelt. So können Beschriftungen übersetzt und andere sprachspezifische Unterschiede realisiert werden.
```tikz
\begin{tikzpicture}
\shade[left color=blue,right color=red,rounded corners=8pt] (-0.5,-0.5) rectangle (2.5,3.45);
\draw[white,thick,dashed,rounded corners=8pt] (0,0) -- (0,2) -- (1,3.25)
-- (2,2) -- (2,0) -- (0,2) -- (2,2) -- (0,0) -- (2,0);
\node[white] at (1,-0.25) {\footnotesize Haus vom Nikolaus};
\end{tikzpicture}
```
Beispiel 2.7.3
Ein weiteres Beispiel zeigt die Verwendung von -Formeln innerhalb eines TikZ-Bildes.
```tikz
\begin{tikzpicture}
% coordinate system
\node (xMAX) at (2.8,0){};
\node (yMAX) at (0,4.8){};
\draw[->,color=black] (-2.5,0) -- (xMAX);
\foreach \x in {-2,-1,1,2}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0,-0.5) -- (yMAX);
\foreach \y in {1,2,3,4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
% axis labels
\draw (xMAX) node[anchor=north east] {$x$};
\draw (yMAX) node[anchor=east] {$f(x)$};
% graph
\draw[color=blue,smooth,samples=50,domain=-2.1:2.1] plot(\x,{(\x)^(2.0)});
\draw[color=blue] (2.1,4.41) node[anchor=south] {$f(x)=x^2$};
\end{tikzpicture}
```
Die -Präembel anpassen
PGF/TikZ ist ein äußerst umfangreiches -Paket. Um bestimmte Funktionen zu nutzen, müssen zusätzliche TikZ-Bibliotheken eingebunden werden.
Dafür werden Kommandos in der Präembel des -Dokumentes eingefügt. Das ist möglich, indem man den Wert von
tikz_preamble
in der Manifest-Datei des Kurses setzt.# manifest.yml
tikz_preamble: |
\usetikzlibrary{arrows}
\newcommand{\sayhello}{Hello\ World!}
Info 2.7.4
Diese Technik erlaubt es beliebige Kommandos in die Präembel einzufügen. So können beispielsweise eigene -Befehle definiert werden.
Beispiel 2.7.5
Das folgende Beispiel nutzt die
arrows
-Bibliothek. So können wir nun diamond
als spezielle Pfeilspitze verwenden.```tikz
\begin{tikzpicture}
\node (A) at (0, 0) {A};
\node (B) at (1, 0) {B};
\draw[-diamond,black] (A) -- (B);
\end{tikzpicture}
```
Beispiel 2.7.6
In diesem Beispiel greifen wir auf das selbst erstellte Makro
\sayhello
zurück.```tikz
\begin{tikzpicture}
\node {$\sayhello$};
\end{tikzpicture}
```