Seite 1 von 1

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

Verfasst: Mo 8. Jan 2018, 22:28
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]

Verfasst: Di 9. Jan 2018, 00:44
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}

Verfasst: Di 9. Jan 2018, 13:52
von Nightlady
Jaaaa danke, viel besser! Mal sehen ob och noch durchsteige, was die einzelnen Änderungen bewirken :)