PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Flussdiagramm mit tikz - Pfeil will nicht wie ich will



mgoe
22-05-2009, 10:50
Hallo,

ich bin noch relativ neu in latex und schreibe gerade an meiner Projektdokumentation und wollte ein kleines Flussdiagramm erstellen.

Doch ich schaffe es nicht, das der Pfeil nach oben recht an den Elementen vorbei und nicht durch sie geht.

Hat irgendjemand eine Idee was ich falsch mache?

Hier mein kleiner Code - und im Anhang einen Screenshot, wie es jetzt aussieht.



\documentclass{scrreprt}
\usepackage{tikz}
\usepackage{pgflibraryshapes}
\usetikzlibrary{trees,arrows}

\begin{document}

\begin{tikzpicture}
[auto,
decision/.style={diamond, draw=blue, thick, fill=blue!20, text width=5em, text badly centered, inner sep=1pt},
block/.style ={rectangle, draw=blue, thick, fill=blue!20, text width=10em, text centered, rounded corners, minimum height=4em},
line/.style ={draw, thick, -latex',shorten >=0pt},
cloud/.style ={draw=red, thick, ellipse, fill=red!20, minimum height=4em}]
\matrix [column sep=5mm,row sep=7mm]
{
& \node [block] (write) {A}; & \\
& \node [decision] (write-done) {B}; & \\
& \node [block] (review) {D}; & \\
& \node [decision] (review-done) {E}; & \\
& \node [block] (send) {F}; & \\
};
\begin{scope}[every path/.style=line]
\path (write) -- (write-done);
\path (write-done) |- node [right] {nein} (write); % TODO fix
\path (write-done) -- node [midway] {ja} (review);
\path (review) -- (review-done);
\path (review-done) |- node [right] {nein} (write); % TODO fix
\path (review-done) -- node [midway] {ja} (send);

\end{scope}
\end{tikzpicture}

\end{document}


Ich bin für jeden Tipp sehr dankbar.

gruß
mgoe

voss
22-05-2009, 13:50
ich bin noch relativ neu in latex und schreibe gerade an meiner Projektdokumentation und wollte ein kleines Flussdiagramm erstellen.


es ist immer kontraproduktiv eine Frage gleichzeitig in anderen Foren zu stellen ...

Herbert

mgoe
22-05-2009, 16:08
ja - ich weiß. - Wollte sie zuerst nur hier stellen, aber da ich hier noch nicht registriert war und nach der E-Mail Registrierung zusätzlich noch eine manuelle Freischaltung durch den Admin erfolgen musste (und ich keine Ahnung hatte - wie lange das dauern kann) - habe ich die Frage inzwischen in einem anderem Forum auch in dieser Art und Weise gestellt.

Ich hoffe du nimmst mir das nicht ganz so übel - aber es ist bei mir relativ dringend - muss die Doku nächsten Donnerstag fertig haben und bei der IHK einreichen. - Entscheidet so ein bisschen über den Rest meines Lebens :(

rais
24-05-2009, 20:43
Moin moin,

ja - ich weiß. - Wollte sie zuerst nur hier stellen, aber da ich hier noch nicht registriert war und nach der E-Mail Registrierung zusätzlich noch eine manuelle Freischaltung durch den Admin erfolgen musste (und ich keine Ahnung hatte - wie lange das dauern kann) - habe ich die Frage inzwischen in einem anderem Forum auch in dieser Art und Weise gestellt.

warum Du Dich auf mehreren Brettern bewegst, kann mir eigentlich schnurz sein, aber es liegt an Dir, alle in Frage kommenden `Themen' -- im Grunde ist es ja nur eines -- zu vereinen, damit in Forum A auch bekannt ist, was sich inzwischen wohlmoeglich in Forum B dazu getan hat ... und umgekehrt.
Und das moeglichst bevor Du eine Antwort erhalten hast.


\documentclass{scrreprt}
\usepackage{tikz}
\usepackage{pgflibraryshapes}
\usetikzlibrary{trees,arrows}

\begin{document}

\begin{tikzpicture}
[auto,
decision/.style={diamond, draw=blue, thick, fill=blue!20, text width=5em, text badly centered, inner sep=1pt},
block/.style ={rectangle, draw=blue, thick, fill=blue!20, text width=10em, text centered, rounded corners, minimum height=4em},
line/.style ={draw, thick, -latex',shorten >=0pt},
cloud/.style ={draw=red, thick, ellipse, fill=red!20, minimum height=4em}]
\matrix [column sep=5mm,row sep=7mm]
{
& \node [block] (write) {A}; & \coordinate (dummy-write);\\
& \node [decision] (write-done) {B}; & \coordinate (dummy-write-done);\\
& \node [block] (review) {D}; & \\
& \node [decision] (review-done) {E}; & \coordinate (dummy-review-done);\\
& \node [block] (send) {F}; & \\
};
\begin{scope}[every path/.style=line, rounded corners]
\path (write) -- (write-done);
\path (write-done.east) -> node[above] {nein} (dummy-write-done.east);
\path (write-done) -- node [midway] {ja} (review);
\path (review) -- (review-done);
\path (review-done.east) -- node[above] {nein} (dummy-review-done) -- (dummy-write-done) -- (dummy-write) -- (write.east);
\path (review-done) -- node [midway] {ja} (send);
\end{scope}
\end{tikzpicture}
\end{document}

... auf die Gefahr hin, dass Deine Frage bereits in Forum XY geklaert wurde :rolleyes:

MfG

mgoe
25-05-2009, 09:05
Nein - war noch nicht gelöst.

vielen, vielen dank. - das ist genau das, wonach ich gesucht hatte.