Werden keine weiteren Vorgaben gemacht, berücksichtigt TikZ bei der Ermittlung der Bounding Box alle verwendeten Pfade, auch wenn sie weder gezeichnet noch gefüllt werden und damit gar nicht sichtbar sind. Die Bounding Box ist dabei der rechteckige Platz, der dann im Dokument für die Abbildung frei gehalten wird.
Die Beispiele dienen nur der Illustration. Die eigentliche Bounding Box ist jeweils rot und die eigentlich nicht gezeichneten Hilfslinien sind grün.
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\usepackage{blindtext}
\begin{document}
\begin{tikzpicture}[very thick,
hilfslinie/.style={draw,green!50!black,green,thin}
]
\draw[name path=dreieck](0,0)coordinate[label=above left:A](A)
--(3,-1)coordinate[label=below:B](B)--(4.5,3)coordinate[label=above:C](C)--cycle;
\path[hilfslinie,name path=kreis1](A)circle[radius=2cm];
\path[name intersections={of=kreis1 and dreieck,by={h1,h2}}];
\path(h1)[hilfslinie,name path=kreis2]circle[radius=1cm];
\path(h2)[hilfslinie,name path=kreis3]circle[radius=1cm];
\path[hilfslinie,name path=g,name intersections={of=kreis2 and kreis3}]($(A)!8cm!(intersection-2)$)--(A);
\draw[blue,name intersections={of=dreieck and g}](intersection-2)--(A);
%Bounding Box zeichnen
\draw[red](current bounding box.south west)rectangle(current bounding box.north east);
\end{tikzpicture}
\blindtext
\end{document}
![alt text][1]
Über die Optionen `overlay`, `use as bounding box` und `clip` bzw. die Befehle `\useasboundingbox` und `\clip`, den Befehl `\pgfresetboundingbox` und die Umgebung `pgfinterruptboundingbox` lässt sich die Berechnung der Bounding Box aber beeinflussen. Mit Ausnahme von `clip` werden die Pfade aber trotzdem gezeichnet und können deshalb „überstehen“ und gegebenenfalls den umgebenden Text überlappen.
**overlay**
- Pfade mit dieser Option werden bei der Ermittlung der Bounding Box ignoriert.
- gleiche Wirkung wie Umgebung `pgfinterruptboundingbox`
In obigem Beispiel könnte man die Option einfach bei der Stildefinition für die Hilfslinien ergänzen, so dass sie für alle Pfade mit diesem Stil gilt:
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\usepackage{blindtext}
\begin{document}
\begin{tikzpicture}[very thick,
hilfslinie/.style={draw,green!50!black,green,thin,
overlay % kein Einfluss auf Bounding Box
}
]
\draw[name path=dreieck](0,0)coordinate[label=above left:A](A)
--(3,-1)coordinate[label=below:B](B)--(4.5,3)coordinate[label=above:C](C)--cycle;
\path[hilfslinie,name path=kreis1](A)circle[radius=2cm];
\path[name intersections={of=kreis1 and dreieck,by={h1,h2}}];
\path(h1)[hilfslinie,name path=kreis2]circle[radius=1cm];
\path(h2)[hilfslinie,name path=kreis3]circle[radius=1cm];
\path[hilfslinie,name path=g,name intersections={of=kreis2 and kreis3}]($(A)!8cm!(intersection-2)$)--(A);
\draw[blue,name intersections={of=dreieck and g}](intersection-2)--(A);
%Bounding Box zeichnen
\draw[red](current bounding box.south west)rectangle(current bounding box.north east);
\end{tikzpicture}
\blindtext
\end{document}
![alt text][2]
**`use as bounding box` bzw. `\\useasboundingbox`**
- Der mit dieser Option oder diesem Befehl angegebene Pfad wird für die Ermittlung der Bounding Box verwendet. Alle *nachfolgenden* Pfade werden dagegen für die weitere Berechnung nicht mehr berücksichtigt.
- Haben vorher erstellte Pfade bereits eine größere Bounding Box erzeugt, wird diese jedoch nicht verkleinert. Ist das dennoch gewünscht muss man zusätzlich vorher `\pgfresetboundingbox` nutzen.
- Falls die Option innerhalb einer `scope` gesetzt wird, so beschränkt sich die Wirkung auf diese.
In obigem Beispiel könnte man das wie folgt einfügen:
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\usepackage{blindtext}
\begin{document}
\begin{tikzpicture}[very thick,
hilfslinie/.style={draw,green!50!black,green,thin}
]
\draw[name path=dreieck](0,0)coordinate[label=above left:A](A)
--(3,-1)coordinate[label=below:B](B)--(4.5,3)coordinate[label=above:C](C)--cycle;
\useasboundingbox(A)--(B)--(C)--cycle;
\path[hilfslinie,name path=kreis1](A)circle[radius=2cm];
\path[name intersections={of=kreis1 and dreieck,by={h1,h2}}];
\path(h1)[hilfslinie,name path=kreis2]circle[radius=1cm];
\path(h2)[hilfslinie,name path=kreis3]circle[radius=1cm];
\path[hilfslinie,name path=g,name intersections={of=kreis2 and kreis3}]($(A)!8cm!(intersection-2)$)--(A);
\draw[blue,name intersections={of=dreieck and g}](intersection-2)--(A);
%Bounding Box zeichnen
\draw[red](current bounding box.south west)rectangle(current bounding box.north east);
\end{tikzpicture}
\blindtext
\end{document}
![alt text][2]
text][3]
**`clip` bzw. `\\clip`**
- Alle *nachfolgenden* Pfade werden auf die Größe des mit dieser Option angegebenen Pfades beschnitten. Damit verändern nachfolgende Pfade die Größe der Abbildung nicht mehr.
- Schon vorher erstellte Pfade werden nicht beschnitten.
- Die Wirkung der Option bzw. des Befehles beschränkt sich auf die aktuelle `scope`.
Im Beispiel ist die Beschränkung des Beschneidens mittels `scope` nötig, da sonst die rot gezeichnete Bounding Box mit weg geschnitten weggeschnitten würde. (Alternativ könnte man das Zeichnen der Bounding Box vor das Clippen schieben und würde das gleiche Ergebnis erhalten).
\begin{scope}
\draw[name path=dreieck](0,0)coordinate[label=above left:A](A)
--(3,-1)coordinate[label=below:B](B)--(4.5,3)coordinate[label=above:C](C)--cycle;
\clip(A)--(B)--(C)--cycle;
...
\end{scope}
%Bounding Box zeichnen
\draw[red](current bounding box.south west)rectangle(current bounding box.north east);
![alt text][3]
text][4]
Mit einer Kombination von beiden Befehlen, könnte man auch die Bounding Box auf den wesentlichen Teil der Zeichnung beschränken, aber innerhalb von diesem die Hilfslinien mit anzeigen lassen:
\draw[name path=dreieck](0,0)coordinate[label=above left:A](A)
--(3,-1)coordinate[label=below:B](B)--(4.5,3)coordinate[label=above:C](C)--cycle;
\useasboundingbox(A)--(B)--(C)--cycle;
\clip[preaction={draw=red}](current bounding box.south west)rectangle(current bounding box.north east);
![alt text][4]
text][5]
**`\\pgfresetboundingbox`**
- Mit diesem Befehl kann die bisher ermittelte Bounding Box zurück gesetzt / gelöscht werden. In deren Berechnung fließen dann nur die nachfolgenden Pfade ein.
- Kann benutzt werden um anschließend mit `use as bounding box` eine neue Bounding Box festzulegen.
**Umgebung `pgfinterruptboundingbox`**
- Am Anfang der Umgebung wird die bisher ermittelte Bounding Box der gesamten Abbildung gespeichert. Diese wird dann am Ende der Umgebung wieder hergestellt. Sämtliche Pfade innerhalb der Umgebung haben deshalb keinerlei Einfluss auf die Bounding Box der gesamten Abbildung.
- gleiche Wirkung wie Option `overlay`
[1]: http://texwelt.de/wissen/upfiles/bb1.png
[2]: http://texwelt.de/wissen/upfiles/bb.png
[3]: http://texwelt.de/wissen/upfiles/bb2.png
[3]: [4]: http://texwelt.de/wissen/upfiles/bb3.png
[4]: http://texwelt.de/wissen/upfiles/bb4.png[5]: http://texwelt.de/wissen/upfiles/bb4.png