Ich habe mich lose an dieses Beispiel gehalten: http://www.texample.net/tikz/examples/flexible-flow-chart/

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\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)
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Als ich das Flowchart erst top-bottom plante, hat das auch alles gut funktioniert mit der on chain Option. 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?

gefragt 23 Okt '16, 21:18

SF6's gravatar image

SF6
15953440
Akzeptiert-Rate: 0%

bearbeitet 24 Okt '16, 07:33

saputello's gravatar image

saputello
11.1k174365


Du nutzt chain eigentlich gar nicht, sondern positionierst relativ unter Verwendung der positioning Bibliothek. Bei der Platzierung des Node h stört die on chain Option sogar, die auf dem Schnittpunkt der vertikalen Linie durch 0 und der horizontalen Linie durch g landen soll. Vorausgesetzt natürlich, dass ich Deine Frage richtig verstanden habe.

Es gibt viele verschiedene Möglichkeiten Nodes anzuordnen. Mal eignet sich die eine besser, mal eine andere.

Ausgehend von Deinem Beispiel könnte man es auch wie folgt machen:

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows.meta,calc}
\colorlet{lcfree}{green}
\colorlet{lcnorm}{blue}
\colorlet{lccong}{red}
% globale Settings
\tikzset{
base/.style={draw, on grid, align=center, minimum height=4ex},
proc/.style={base, rectangle, text width=10em},
var/.style={base, circle, text width=4ex},
%% Stil für Hilfskoordinaten
coord/.style={coordinate, on grid, node distance=6mm and 20mm},
% Stile für Verbindungslinien
norm/.style={->, draw, lcnorm},
free/.style={->, draw, lcfree},
cong/.style={->, draw, lccong},
% Stil für Kreuzungen von Pfaden
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)
}
}
}
\begin{document}
\begin{tikzpicture}[%
>={Triangle[angle=60:5pt]},% Form der Pfeilspitzen
node distance=20mm and 30mm, % Vorgaben für Abstände zwischen Nodes in dieser Zeichnung
every join/.style={norm}, % Default linetype for connecting boxes
]
\begin{scope}[nodes=var]
\node (0) {0};
\node [right=of 0] (a) {a};
\node [right=of a] (b) {b};
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 24 Okt '16, 13:08

esdd's gravatar image

esdd
17.8k304257
Akzeptiert-Rate: 62%

Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×731
×41
×13

gestellte Frage: 23 Okt '16, 21:18

Frage wurde gesehen: 8,173 Mal

zuletzt geändert: 24 Okt '16, 13:08