TikZ: Flowchart: Kästen sauber postieren
Hallo,
ich arbeite immer noch brav an meinem Flowchart. Soweit habe ich es gebracht:
\documentclass[]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pdfpages}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows,chains,shapes,intersections,calc}
\begin{document}
\tikzstyle{int}=[draw, fill=blue!20, minimum size=2em]
\tikzstyle{init} = [pin edge={to-,thin,black}]
\colorlet{lcfree}{green}
\colorlet{lcnorm}{blue}
\colorlet{lccong}{red}
\begin{tikzpicture}[%
>=triangle 60, % Nice arrows; your taste may be different
start chain=going below, % General flow is top-to-bottom
node distance=20mm and 30mm, % Global setup of box spacing
every join/.style={norm}, % Default linetype for connecting boxes
]
\tikzset{
base/.style={draw, on chain, on grid, align=center, minimum height=4ex},
proc/.style={base, rectangle, text width=10em},
var/.style={base, circle, text width=4ex},
% coord node style is used for placing corners of connecting lines
coord/.style={coordinate, on chain, on grid, node distance=6mm and 20mm},
% Connector line styles for different parts of the diagram
norm/.style={->, draw, lcnorm},
free/.style={->, draw, lcfree},
cong/.style={->, draw, lccong},
jump/.style args={(#1) to (#2) over (#3) by #4}{
insert path={
let \p1=($(#1)-(#3)$), \n1={veclen(\x1,\y1)},
\n2={atan2(\y1,\x1)}, \n3={abs(#4)}, \n4={#4>0 ?180:-180} in
(#1) -- ($(#1)!\n1-\n3!(#3)$)
arc (\n2:\n2+\n4:\n3) -- (#2)
}
}
}
\node [var] (0) {0};
\node [var, right=of 0] (a) {a};
\node [var, right=of a] (b) {b};
\node [var, right=of b] (c) {c};
\node [var, below=of a] (d) {d};
\node [var, below=of b] (e) {e};
\node [coord, below=of e] (hilf) {};
\node [proc, below=of hilf] (f) {f};
\draw [->,lcfree] (a.south) -- (d);
\draw [->,lcfree] (b.south) -- (e);
\draw [->,lcfree] (c.south) |- (f.east);
%über Kreuz
\draw [->,lcfree,name path=ae] (a) -- (e);
\path [name path=bd] (b) -- (d);
%intersection of tspc and tapr
\path [name intersections={of=bd and ae, by=bd-ae}];
\draw [->,lcfree,jump=(b) to (d) over (bd-ae) by 6pt];
\draw [->,lcfree] (d.south) |- (f.west);
\draw [->,lcfree] (e.south) -- (f);
\node [proc, below=of f] (g) {ggg};
\node [coord, left=of f] (hilf2) {};
\node [proc, left=of hilf2] (h) {hhh};
\draw [->,lcfree] (0.south) -- (h);
\draw [->,lcfree] (f.south) -- (g);
\draw [->,lcfree] (h.east) -- (g);
\end{tikzpicture}
\end{document}
\end{document}
Ich habe mich lose an dieses Beispiel gehalten: http://www.texample.net/tikz/examples/flexible-flow-chart/
Als ich das Flowchart erst top-bottom plante, hat das auch alles gut funktioniert mit dem on chain Befehl. Meine Topologie sieht jetzt aber etwas komplexer aus.
**Frage:** Wie postiere ich den offensichtlich deplatzierten Kasten so, dass er auf einer Linie mit "ggg" und "0" liegt?
Es sollen noch mehrere Boxen platziert werden. Es scheint, als komme ich mit der relativen Platzierung nicht mehr richtig weiter. Wie löse ich das Problem ganz allgemein?
Danke.