Kreis-Ablaufdiagramm - Größe der einzelnen Nodes

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Kreis-Ablaufdiagramm - Größe der einzelnen Nodes

von Besserwisser » Mo 9. Mai 2016, 22:04

Elbflorentiner hat geschrieben:Danke für die Mühe. Leider hat diese den Text innerhalb der Nodes nach links gerückt.
Nicht im Beispiel von "Noch so einer", wie der Online-Editor-Link zeigt.

Extra in dem Mathemodus zu schalten, dann aber mit \textbf einen Textfont zu verwenden ist auch eher seltsam. Den Font direkt via scope mit einzustellen, erspart einem außerdem die Font-Einstellung mehrfach zu wiederholen.

von Elbflorentiner » Mo 9. Mai 2016, 21:28

Danke für die Mühe. Leider hat diese den Text innerhalb der Nodes nach links gerückt. Ich habe aber eine für mich funktionierende Lösung gefunden. Erstaunlicherweise funtioniert sie jetzt, bei meinen ersten Versuchen im Laufe des Tages leider nicht.

Das minimum size=3cm brachte für mich die Lösung. Erzeugt für mich völlig ausreichend Nodes mit dem Mindestradius von 3 cm.
\documentclass[12pt,a4paper]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,positioning}
\begin{document}
\begin{tikzpicture}[
   node distance=15mm,
   >=stealth, auto,
   every state/.style={draw=black, minimum size=3cm, % Das war die Lösung!!
  line width=0.4mm, inner sep=3pt, font=\bfseries},
   ]
   \node[state] (1) {$\textbf{eins}$};
   \node[state] (2) [above right=of 1] {$\textbf{zwei}$};
   \node[state] (3) [below right=of 2] {$\textbf{langedrei}$};
   \node[state] (4) [below right=of 1] {$\textbf{vier}$};
   \begin{scope}[bend left]%
   \path[->]   (1) edge node {\textit{initiiert}} (2)
   (2) edge node {\textit{ermöglicht}} (3)
   (3) edge node {\textit{verursacht}} (4)
   (4) edge node {\textit{erzwingt}} (1);
   \end{scope}
   \end{tikzpicture}  
\end{document}

von Noch so einer » Mo 9. Mai 2016, 18:24

text width ist Dein Freund:
\documentclass[12pt,a4paper]{standalone}
\usepackage[utf8]{inputenc}% Das ist die Codierung des Online-Editors und die Voreinstellung der meisten LaTeX-Editoren.
\usepackage{tikz}
\usetikzlibrary{arrows,automata,calc,positioning}
\begin{document}
\begin{tikzpicture}[
   node distance=15mm,
   >=stealth, auto,
   every state/.style={draw=black, line width=0.4mm, inner sep=3pt, font=\bfseries},
   ]
   \begin{scope}[
     font=\bfseries,
     text width={width("langedrei")+6pt},% 6pt = 2 inner sep
     align=center
   ]
   \node[state] (1) {eins};
   \node[state] (2) [above right=of 1] {zwei};
   \node[state] (3) [below right=of 2] {langedrei};
   \node[state] (4) [below right=of 1] {vier};
   \end{scope}
   \begin{scope}[bend left,font=\itshape]%
   \path[->]   (1) edge node {initiiert} (2)
   (2) edge node {ermöglicht} (3)
   (3) edge node {verursacht} (4)
   (4) edge node {erzwingt} (1);
   \end{scope}
   \end{tikzpicture}   
\end{document}

Kreis-Ablaufdiagramm - Größe der einzelnen Nodes

von Elbflorentiner » Mo 9. Mai 2016, 17:39

Hallo,

ich versuche ein Ablafdiagramm in Kreisform zu erstellen, bei welchem die vier Positionen via Pfeilbögen miteinander verbunden sind. Allerdings werden die jeweilgen Node-Größen nicht gleich groß erstellt, da die darin befindlichen Worte unterschiedlich lang sind. Hier mein Minimalbeispiel, welches auf einem Beispiel aufbaut, das ich online fand:
\documentclass[12pt,a4paper]{standalone}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,positioning}
\begin{document}
\begin{tikzpicture}[
	node distance=15mm,
	>=stealth, auto,
	every state/.style={draw=black, line width=0.4mm, inner sep=3pt, font=\bfseries},
	]
	\node[state] (1) {$\textbf{eins}$};
	\node[state] (2) [above right=of 1] {$\textbf{zwei}$};
	\node[state] (3) [below right=of 2] {$\textbf{langedrei}$};
	\node[state] (4) [below right=of 1] {$\textbf{vier}$};
	\begin{scope}[bend left]%
	\path[->]   (1) edge node {\textit{initiiert}} (2)
	(2) edge node {\textit{ermöglicht}} (3)
	(3) edge node {\textit{verursacht}} (4)
	(4) edge node {\textit{erzwingt}} (1);
	\end{scope}
	\end{tikzpicture}	
\end{document}
Mein Ziel ist es, dass sämtliche Nodes, also auch die von "eins", "zwei" und "vier" die durch "superlangedrei" bestimmte Größe annehmen. Kurz gesagt: alls Kreise sollen gleich groß sein.

Wie schaffe ich das? :?:
Dateianhänge
Kreisablaufdiagramm.pdf
(22.19 KiB) 172-mal heruntergeladen

Nach oben