Quantcast
Channel: Antworten auf: Tikz: zu große Bildhöhe durch Kontrollpunkt
Viewing all articles
Browse latest Browse all 2

Antwort von esdd

$
0
0

Wie in der Antwort bei Pfade verbergen TikZ beschrieben, gibt es viele verschiedene Möglichkeiten die Bounding Box einer Zeichnung zu korrigieren, die sonst durch nicht gezeichnete Hilfslinien oder eben verwendete Kontrollpunkte zu groß würde. Welche man einsetzt bzw. welche sich überhaupt einsetzen lässt, hängt von der konkreten Zeichnung ab. Hier sind zusätzlich zu den Vorschlägen in der Antwort von @Henri noch zwei weitere:

Option overlay

Du könntest auch overlay als Option bei der Kurve setzen, da sich diese komplett innerhalb des von den Achsen bestimmten Rechtecks befindet. Damit der Beschriftungsnode dagegen berücksichtigt wird, kann für diesen explizit die Option overlay=false gesetzt werden.

Open in Online-Editor
\documentclass{article}\usepackage{tikz}\begin{document}\frame{\begin{tikzpicture}\draw[very thick,red,overlay] 
  (0,0)--(0,-2.5)--(2,-2.5)--(2,0) 
  .. controls (2,4) and (2.5,0.2) ..
  (4.5,0.15) node[pos=0.6,right,overlay=false] {Coulomb-Wall}
;
\draw[very thick,->] (0,0)--(4.5,0) node [pos=0.96,below] {$r$};
\draw[very thick,->] (0,-5)--(0,2) node [pos=0.96,left] {$E$};
\end{tikzpicture}}\end{document}

alt text

Kombination aus \pgfresetboundingbox und \useasboundingbox

Am Ende der Zeichung kann man zwei Koordinaten speichern, die die gewünschte Ausdehnung der Zeichnung beschreiben. Danach wird die bisher ermittelte Bounding Box mittels \pgfresetboundingbox gelöscht und anschließend mit \useasboundingbox und den beiden gespeicherten Koordinaten neu definiert.

Open in Online-Editor
\documentclass{article}\usepackage{tikz}\begin{document}\frame{\begin{tikzpicture}\draw[very thick,red] 
  (0,0)--(0,-2.5)--(2,-2.5)--(2,0) 
  .. controls (2,4) and (2.5,0.2) ..
  (4.5,0.15) node[pos=0.6,right] {Coulomb-Wall}
;
\draw[very thick,->] (0,0)--(4.5,0) node [pos=0.96,below] {$r$};
\draw[very thick,->] (0,-5)--(0,2) node [pos=0.96,left] {$E$}coordinate(oben);
\path
  (current bounding box.south west)coordinate(unten links)
  (current bounding box.east|-oben)coordinate(oben rechts)
;
\pgfresetboundingbox\useasboundingbox(unten links)rectangle(oben rechts);
\end{tikzpicture}}\end{document}

Das Ergebnis ist das gleiche wie oben.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles