Tikz WBS - Abstände/Größe der Boxen anpassen

Tabellen und Grafiken erstellen und anordnen


Nightlady
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 27. Jul 2017, 15:32
Wohnort: Ilmenau

Tikz WBS - Abstände/Größe der Boxen anpassen

Beitrag von Nightlady »

Für meine MA benötige ich diese Übersicht, die ich mir mit tikz gebastelt habe. Wie bekomme ich jetzt die nodes der untersten Ebene hübsch angeordnet, dh der Text passt überall hinein und die haben gleichmäßige Abstände?
\documentclass[
    BCOR=12mm,
    DIV=18,
    headsepline,
    oneside,
    index=totoc,
    bibliography=totoc,
    listof=totoc,
    openany,
    numbers=noenddot,
    11pt]{scrbook}

\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}                       %Schemas zeichnen
\usetikzlibrary{arrows,shapes,positioning,shadows,trees}            %settings
\tikzset{
  % Specifications for style of nodes:
            basic/.style  = {draw, text width=3cm, font=\sffamily, rectangle},
            root/.style   = {basic, rounded corners=2pt, thin, align=center},
            level 2/.style = {basic, rounded corners=6pt, thin, align=center, text width=8em},
            level 3/.style = {basic, thin, align=left, text width=7em}}

\begin{document}
 
  \begin{tikzpicture}[
  level 1/.style={sibling distance=40mm},
  edge from parent/.style={->,draw},
  >=latex]

% root of the the initial tree, level 1
\node[root] {Mischansaetze}
% The first level, as children of the initial tree
  child {node[level 2] (c1) {Fest}}
  child {node[level 2] (c2) {Nass}}
  child {node[level 2] (c3) {Sol-Gel}};

% The second level, relatively positioned nodes
\begin{scope}[every node/.style={level 3}]
\node [below of = c1, xshift=15pt] (c11) {Standardverfahren};
\node [below of = c11] (c12) {Mischen mit Eirichmischer};
\node [below of = c12] (c13) {Variation der Vormischung};
\node [below of = c13] (c14) {Vordotiertes Glas/Mineral};

\node [below of = c2, xshift=15pt] (c21) {Standard-Schlicker\\Granulation ueber Spruehen};


\node [below of = c3, xshift=15pt] (c31) {Vormischung Sol-Gel};
\node [below of = c31] (c32) {Vertropfen};
\node [below of = c32] (c33) {Reine Sol-Gel-Strecke};

\end{scope}

% lines from each level 1 node to every one of its "children"
\foreach \value in {1,2,3,4}
  \draw[->] (c1.195) |- (c1\value.west);

\foreach \value in {1,...,1}
  \draw[->] (c2.195) |- (c2\value.west);

\foreach \value in {1,...,3}
  \draw[->] (c3.195) |- (c3\value.west);
\end{tikzpicture}
 
 
\end{document}
Ich verzweifel da gerade etwas daran...[/code]

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mein Änderungsvorschlag:
\documentclass[tikz, border=5pt]{standalone}
\usepackage{selinput}% http://texwelt.de/wissen/fragen/5546
\SelectInputMappings{
	adieresis={ä},
	germandbls={ß}
}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usetikzlibrary{arrows.meta,shapes,shadows,trees}

\tikzset{font=\sffamily}

\begin{document}
\begin{tikzpicture}[
	-Latex,
	edge from parent fork down,% <- eingefügt
	basic/.style = {
		draw, 
		thin, 
		align=center, 
		text width=8em
	},
	root/.style = {
		basic, 
		rounded corners=2pt
	},
	level 1/.style = {
		sibling distance=4.5cm, 
		nodes={
			basic, 
			rounded corners=6pt
		}
	},
	vertical listed box/.style = {
		basic, 
		align=left, 
		text width=9em
	}
]

% root of the the initial tree, level 1
\node[root] {Mischansätze}
% The first level, as children of the initial tree
  child {node (c1) {Fest}}
  child {node (c2) {Nass}}
  child {node (c3) {Sol-Gel}};

% The second level, relatively positioned nodes
\begin{scope}[
	nodes={vertical listed box}, 
	node distance=3.5em,
	first node/.style={xshift=20pt, anchor=base}
]
\node [below of = c1, first node] (c11) {Standardverfahren};
\node [below of = c11] (c12) {Mischen mit\\Eirichmischer};
\node [below of = c12] (c13) {Variation der\\Vormischung};
\node [below of = c13] (c14) {Vordotiertes Glas/Mineral};

\node [below of = c2, first node] (c21) {Standard-Schlicker\\Granulation über Sprühen};

\node [below of = c3, first node] (c31) {Vormischung Sol-Gel};
\node [below of = c31] (c32) {Vertropfen};
\node [below of = c32] (c33) {Reine Sol-Gel-Strecke};
\end{scope}

% lines from each level 1 node to every one of its "children"
\foreach \value in {1,...,4}
	\draw (c1.180) |- (c1\value.west);

\draw (c2.180) |- (c21.west);

\foreach \value in {1,2,3}
	\draw (c3.180) |- (c3\value.west);
\end{tikzpicture}
\end{document}

Nightlady
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Do 27. Jul 2017, 15:32
Wohnort: Ilmenau

Beitrag von Nightlady »

Jaaaa danke, viel besser! Mal sehen ob och noch durchsteige, was die einzelnen Änderungen bewirken :)

Antworten