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, 12:26

VLehner's gravatar image

VLehner
513
Akzeptiert: 0%

bearbeitet 13 Jun, 02:05

Ijon%20Tichy's gravatar image

Ijon Tichy
7.6k11019


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, 13:31

Murmeltier's gravatar image

Murmeltier
1.3k64

bearbeitet 13 Jun, 02:03

Ijon%20Tichy's gravatar image

Ijon Tichy
7.6k11019

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

(13 Jun, 14: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, 07:51) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×603
×40
×29
×2

Frage gestellt: 12 Jun, 12:26

Frage wurde angeschaut: 406 Mal

Zuletzt aktualisiert: 16 Jun, 07:52