Seite 1 von 1

Flussdiagramm - Linien bei decision wollen nicht richtig

Verfasst: So 25. Jul 2010, 21:22
von misterET
Hallo,
ich verstehe nicht so recht wie das mit den Linien bei den decisions funktioniert. Habe schon lange gesucht, um diese Ablaufpläne überhaupt hinzubekommen, und nun scheitere ich wieder an diesen Linien. Hat vielleicht jemand ein gutes Skript, wo Ablaufpläne mit dieser Methode erklärt sind? Habe es durch probieren schon etwas verbessert,aber leider sieht es immer noch erschreckend aus
\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}

%%%<
%\usepackage{verbatim}
%\usepackage[active,tightpage]{preview}
%\PreviewEnvironment{tikzpicture}
%\setlength\PreviewBorder{5pt}%%%%>


\begin{document}


% Define block styles
\tikzstyle{decision} = [diamond, draw, fill=yellow!20, 
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=green!20, 
    text width=5em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=blue!20, node distance=3cm,
    minimum height=2em]
    
\begin{tikzpicture}[node distance = 2cm, auto]
    % Place nodes
    \node [cloud] (start) {start};
    \node [block, below of=start]				(A)   						{A};
    \node [decision, below of=A]				(B)								{B?};
    \node [decision, below of=B]				(C)								{C?};
    \node [block, below of=tag]					(D)								{D};
    \node [block, below of=adressetag]  (E)								{E};
    \node [block, below of=schreiben1]  (F)								{F};
    \node [block, below of=adressestd]	(G)								{G};
    
    
    \path [line] (start) -- (A);
    \path [line] (B) |- node [left] {no} (A);			%hier das klappt nicht ;-((
    \path [line] (B) -- node [midway] {yes} (C);
    
    \path [line] (C) |-  node [left] {no} (F);		%hier das klappt nicht ;-((
    \path [line] (C) --  node [midway] {yes} (D);
    \path [line] (D) -- (E);
    \path [line] (E) -- (F);
      
    \path [line] (F) -- (G);
    \path [line] (G) -| (A);   
    
    
    
\end{tikzpicture}


\end{document}



Fehlerhaftes Beispiel

Verfasst: So 25. Jul 2010, 21:51
von localghost
Du solltest dir schon die Mühe machen und ein Beispiel vorher testen. Denn dein Code läuft nicht. Die kritischen Zeilen sie die, in denen die Knoten D bis G deklariert werden sollen.


MfG
Thorsten

Re: Flussdiagramm - Linien bei decision wollen nicht richtig

Verfasst: Mo 26. Jul 2010, 00:25
von skater
misterET hat geschrieben:Hat vielleicht jemand ein gutes Skript, wo Ablaufpläne mit dieser Methode erklärt sind?
\node [decision, below of=A] (B) {B?};
\node [decision, below of=B] (C) {C?};
\node [block, below of=tag] (D) {D};
In deinem Beispiel soll ›D‹ unterhalb von ›tag‹ sein, diese Node wird aber nirgens definiert. Das Beispiel ist so nicht mal ansatzweise lauffähig.

Du kennst schon http://www.texample.net/tikz/examples/?

Verfasst: Mo 26. Jul 2010, 00:27
von Gast
Entschuldigung. Ich hatte vorher was anderes anstatt Buchstaben drin stehen. Hatte es dann durch Buchstaben ersetzt und bin von ausgegangen, dass es läuft.
So, dieses habe ich jetzt getestet. Wäre super, wenn mir jemand helfen könnte.
\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}

%%%<
%\usepackage{verbatim}
%\usepackage[active,tightpage]{preview}
%\PreviewEnvironment{tikzpicture}
%\setlength\PreviewBorder{5pt}%%%%>
% Von http://vorhilfe.de/read?i=703563 bzw http://www.texample.net/tikz/examples/simple-flow-chart/

\begin{document}


% Define block styles
\tikzstyle{decision} = [diamond, draw, fill=yellow!20, 
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=green!20, 
    text width=5em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=blue!20, node distance=3cm,
    minimum height=2em]
    
\begin{tikzpicture}[node distance = 2cm, auto]
    % Place nodes
    \node [cloud] (start) {start};
    \node [block, below of=start]				(A)   						{A};
    \node [decision, below of=A]				(B)								{B?};
    \node [decision, below of=B]				(C)								{C?};
    \node [block, below of=C]						(D)								{D};
    \node [block, below of=D]					  (E)								{E};
    \node [block, below of=E]  					(F)								{F};
    \node [block, below of=F]						(G)								{G};
    
    
    \path [line] (start) -- (A);
    \path [line] (B) |- node [left] {no} (A);			%hier das klappt nicht ;-((
    \path [line] (B) -- node [midway] {yes} (C);
    
    \path [line] (C) |-  node [left] {no} (F);		%hier das klappt nicht ;-((
    \path [line] (C) --  node [midway] {yes} (D);
    \path [line] (D) -- (E);
    \path [line] (E) -- (F);
      
    \path [line] (F) -- (G);
    \path [line] (G) -| (A);   
    
    
    
\end{tikzpicture}


\end{document}




Verfasst: Mo 26. Jul 2010, 04:03
von skater
In Anbetracht der Uhrzeit möchte ich es mal so formulieren: »Eat this« ;-)
\path [line] (start) -- (A);
\path [line] (B) -- ++(-2cm,0cm) |- (A) node [near start] {no};
\path [line] (B) -- (C) node [midway] {yes};
\path [line] (C) -- ++(-2cm,0) |- (F) node [near start,left] {no};
\path [line] (C) -- node [midway] {yes} (D);
\path [line] (D) -- (E);
\path [line] (E) -- (F);
\path [line] (F) -- (G);
\path [line] (G) -- ++(2cm,0) |- (A);