innoDoc

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}
```
TikZ Image
Beispiel eines TikZ-Bildes mit übersetztem Inhalt.
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}
```
TikZ Image

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}
```
TikZ Image
Beispiel 2.7.6
In diesem Beispiel greifen wir auf das selbst erstellte Makro \sayhello zurück.
```tikz
\begin{tikzpicture}
\node {$\sayhello$};
\end{tikzpicture}
```
TikZ Image