Ich möchte ein Flussdiagramm erzeugen, in welchem Pfadpfeile mit Richtungswechsel enthalten sind. Wie erzeuge ich solche besonderen Pfadpfeile mit "Knick" auf ein Element.

Öffne in Overleaf
\documentclass[12pt]{article}
\usepackage{tikz}                   % Graphikpaket laden
\usetikzlibrary{calc,trees,positioning,arrows.meta,chains,shapes.geometric,
    decorations.pathreplacing,decorations.pathmorphing,shapes,%
    matrix,shapes.symbols,decorations.markings}     % Formen und Pfeiltypen etc. des Graphikpaketes laden

%Geometrische Objekte definieren
\tikzstyle{rechteckrund} = [rectangle, rounded corners, minimum width=20mm, minimum height=8mm,text centered, draw=black, fill=blue!15, line width=0.8]             % Definition Rahmen mit Rundungen
\tikzstyle{rechteck} = [rectangle, minimum width=20mm, minimum height=8mm,text centered, draw=black, fill=green!15, line width=0.8]             % Definition Rahmen ohne Rundungen

\newcommand\circlearound[1]{%
  \tikz[baseline]\node[draw,shape=circle,anchor=base] {#1} ;}

%Pfeile definieren
\tikzstyle{arrow} = [thick,->,>=stealth]

%Kreis definieren
\tikzstyle{Kreis} = [circle,draw=black, fill=yellow!10,line width=0.8]

\begin{document}

\begin{tikzpicture}[node distance=25mm]
\node (start) [rechteckrund] {program};
\node (identifier) [rechteck, right of=start] {identifier};
\node (Kreis) [Kreis, right of=identifier, below of=identifier] {(};
\node (identifier1) [rechteck, right of=Kreis] {identifier};
\node (Kreis1) [Kreis, right of=identifier1] {)};
\node (Kreis2) [Kreis, right of=Kreis1, above of=Kreis1] {;};
\node (Kreis3) [Kreis, below of=identifier1] {,};
\draw[->,>=stealth](identifier)edge(Kreis);
\draw[->,>=stealth](start)edge(identifier);
\draw[->,>=stealth](identifier)edge(Kreis2);
\draw[->,>=stealth](Kreis)edge(identifier1);
\draw[->,>=stealth](identifier1)edge(Kreis1);
\end{tikzpicture}

\end{document}

gefragt 12 Jun '18, 18:26

VLehner's gravatar image

VLehner
5124
Akzeptiert-Rate: 0%

bearbeitet 13 Jun '18, 08:05

Ijon%20Tichy's gravatar image

Ijon Tichy
9.6k31228


Dein Code ist relativ verhaut. Jetzt nicht mehr, Danke an Henri! Ich habe ihn erst mal in etwas kompilierbares verwandelt. Ich habe die \tikzstyles durch die entsprechende \tikzset Syntax ersetzt. Die Pfeile mit Knick kannst Du einfach mit -| bzw. |- erreichen. Um die Pfeile umzukehren, brauchst Du nur -> durch <- ersetzen.

Öffne in Overleaf
 \documentclass[12pt]{article}
\usepackage{tikz} % Graphikpaket laden usetikzlibrary{calc,trees,positioning,arrows.meta,chains,shapes.geometric, decorations.pathreplacing,decorations.pathmorphing,shapes,% matrix,shapes.symbols,decorations.markings} % Formen und Pfeiltypen etc. des Graphikpaketes laden

%Geometrische Objekte definieren 
\tikzset{rechteckrund/.style={rectangle, rounded corners, minimum width=20mm,
minimum height=8mm,text centered, draw=black, fill=blue!15, line width=0.8}}

% Definition Rahmen mit Rundungen

\tikzset{rechteck/.style={rectangle, minimum
width=20mm, minimum height=8mm,text centered, draw=black, fill=green!15, line
width=0.8}}

% Definition Rahmen ohne Rundungen
\newcommand{\circlearound}[1]{% 
\tikz[baseline]node[draw,shape=circle,anchor=base] {#1} ;}

%Pfeile definieren 
\tikzset{arrow/.style={thick,->,>=stealth}}

%Kreis definieren 
\tikzset{Kreis/.style={circle,draw=black, fill=yellow!10,line width=0.8}}

\begin{document}

\begin{tikzpicture}[node distance=25mm,>=stealth] 
\node (start) [rechteckrund] {program}; 
\node (identifier) [rechteck, right of=start] {identifier}; 
\node (Kreis) [Kreis, below right of=identifier] {(}; 
\node (identifier1) [rechteck, right of=Kreis] {identifier}; 
\node (Kreis1) [Kreis, right of=identifier1] {)}; 
\node (Kreis2) [Kreis, right of=Kreis1, above of=Kreis1] {;}; \
\node (Kreis3) [Kreis, below of=identifier1] {,};
\draw[->] (start)  -- (identifier);
\draw[->] (identifier)  |- (Kreis);
\draw[->] (Kreis)  -- (identifier1);
\draw[->] (identifier1)  -- (Kreis1);
\draw[->] (Kreis1)  -| (Kreis2);
\end{tikzpicture}

\end{document}

alt text

Permanenter link

beantwortet 12 Jun '18, 19:31

Community's gravatar image

Community
11
Akzeptiert-Rate: 56%

bearbeitet 13 Jun '18, 08:03

Ijon%20Tichy's gravatar image

Ijon Tichy
9.6k31228

Hi! Vielen Dank an Euch, wieder was gelernt :-)

(13 Jun '18, 20:52) VLehner
1

@VLehner »Danke« geht bei uns übrigens einfach mit einem Klick auf den Daumen hoch links neben Antwort. Das kann jeder, der eine Antwort (oder eine Frage) gut oder nützlich findet. Der Fragesteller kann zusätzlich auf den Haken links neben der Antwort klicken, um so genau eine Antwort als die von ihm bevorzugte Lösung zu akzeptieren. Das ganze System hat den Sinn, anderen Hilfesuchenden eine Orientierung zu geben. Es wäre daher schön, wenn Du Dich daran beteiligen würdest. Nebenbei bekommen Fragesteller und Helfer dadurch Punkte, die letztlich zu weiteren Rechten führen.

(16 Jun '18, 13:51) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×689
×41
×32
×2

gestellte Frage: 12 Jun '18, 18:26

Frage wurde gesehen: 3,475 Mal

zuletzt geändert: 16 Jun '18, 13:52