Seite 1 von 1

Baumdiagramm überschneidet sich

Verfasst: Fr 4. Nov 2016, 14:41
von cyr74
Hallo,

Habe mein Problem als Minimalbeispiel, ihr werdet gleich sehen was los ist.
Ich habe viel probiert, leider konnte ich das Problem nicht selbst lösen..
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[h]
\resizebox{7cm}{!}{
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick]
\tikzstyle{every node}=[fill=white,draw=black,rectangle,text=black]
\node (S) {$S_{0}^1 = 100$}
    child{ node (A) {$S_{1}^1 (\omega_{1}) = 200$}}
    child{ node (B) {$S_{1}^1 (\omega_{2}) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\end{document}
Lieben Gruß,
Kai

Verfasst: Fr 4. Nov 2016, 15:03
von markusv
\tikzstyle{level 1}=[sibling distance=30mm] ergänzt:
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[h]
\resizebox{7cm}{!}{
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick]
\tikzstyle{every node}=[fill=white,draw=black,rectangle,text=black]
\tikzstyle{level 1}=[sibling distance=30mm]
\node (S) {$S_{0}^1 = 100$}
    child{ node (A) {$S_{1}^1 (\omega_{1}) = 200$}}
    child{ node (B) {$S_{1}^1 (\omega_{2}) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\end{document}

Verfasst: Fr 4. Nov 2016, 15:49
von Bartman
@cyr74

Du darfst die Größe Deines Baumdiagramms auch mithilfe von TikZ verändern:
\documentclass{scrbook}

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{tikz}

\usetikzlibrary{arrows}

\begin{document} 

\begin{figure}[htbp]
\centering
\resizebox{7cm}{!}{
\begin{tikzpicture}[
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick,
	nodes={fill=white,draw=black,rectangle,text=black},
	level 1/.style={sibling distance=30mm}
]
\node (S) {$S_0^1 = 100$}
    child{ node (A) {$S_1^1 (\omega_1) = 200$}}
    child{ node (B) {$S_1^1 (\omega_2) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick,
	scale=1.2,transform shape,% <- eingefügt
	nodes={fill=white,draw=black,rectangle,text=black},
	level 1/.style={sibling distance=30mm}
]
\node (S) {$S_0^1 = 100$}
    child{ node (A) {$S_1^1 (\omega_1) = 200$}}
    child{ node (B) {$S_1^1 (\omega_2) = 150$}}
        ;
\end{tikzpicture}
\end{figure}

\end{document}

Verfasst: Fr 4. Nov 2016, 17:36
von cyr74
Danke, das hat geholfen.

Ich habe jetzt noch zwei Folgefragen, die sich bei ähnlichen Grafiken ergeben haben:

Erste Frage:
Wie kriege ich die Boxen in derselben Größe? (Aktuell sind die Boxen, die mit einer Kommazahl befüllt sind größer als die anderen):
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[ 
   ->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick, 
   scale=1.2,transform shape,
   nodes={fill=white,draw=black,rectangle,text=black}, 
   level 1/.style={sibling distance=30mm} 
] 
\node (S) {$95$}
    child{ node (A) {$90$}
        }
    child{ node (D) {$104,5$} 
        }
        ;
\end{tikzpicture}
\end{figure}

\end{document}
Zweite Frage:
Wie kriege ich es hin, dass in dieser Grafik die Pfeile nicht abgeschnitten werden?
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick,scale=1.2,transform shape, nodes={fill=white,draw=black,rectangle,text=black},
               level 1/.style={sibling distance=30mm} 
               ]
\node (S) {$S_{0}^1$}
    child{ node (A) {$d S_{0}^1$}
        child{node (B) {$d^2 S_{0}^1$}}
        child{node (C) {$ud S_{0}^1$}}}
    child{ node (D) {$u S_{0}^1$} 
       child{node (E) {$ud S_{0}^1$}}
       child {node (F) {$u^2 S_{0}^1$}}}
        ;

\path  (A) -- (B) node[draw=none, midway, left=5pt]{$(1-p)$};
\path  (S) -- (A) node[draw=none, midway, left=5pt]{$(1-p)$};
\path  (D) -- (S) node[draw=none, midway, right=5pt]{$p$};
\path  (D) -- (F) node[draw=none, midway, right=5pt]{$p$};
\end{tikzpicture}
\end{figure}

\end{document}
Lieben Gruß,
Kai

Verfasst: Fr 4. Nov 2016, 19:18
von Beinschuss
Erste Frage:
Wie kriege ich die Boxen in derselben Größe? (Aktuell sind die Boxen, die mit einer Kommazahl befüllt sind größer als die anderen):
Z.B., indem Du eine minimale Breite angibst:
nodes={fill=white,draw=black,rectangle,minimum width=20mm,text=black},

Verfasst: Fr 4. Nov 2016, 19:24
von Beinschuss
Zweite Frage:
Wie kriege ich es hin, dass in dieser Grafik die Pfeile nicht abgeschnitten werden?
Die Beschriftung ragt über die Pfeile drüber. Du kannst Transparenzen nutzen (s. [d]tikz[/d]) oder die Beschriftung etwas verschieben:
\path  (A) -- (B) node[draw=none, midway, left=5pt, xshift=-.3cm]{$(1-p)$};

Verfasst: Fr 4. Nov 2016, 19:39
von cyr74
Danke :)

Verfasst: Fr 4. Nov 2016, 21:06
von Bartman
@cyr74

Die Boxen mit einer Kommazahl sind nicht nur breiter, sie sind auch höher.

Ich habe das Komma in der Box geklammert, damit das Leerzeichen danach verschwindet. Es gibt dafür noch andere Wege, wenn dieser Fall öfter vorkommen sollte.
\documentclass[tikz, border=5pt]{standalone}

\usetikzlibrary{arrows}

\begin{document}
\begin{tikzpicture}[ 
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick, 
	scale=1.2,transform shape,
	nodes={
		fill=white,
		draw=black,
		rectangle,
		text=black,
		minimum width=10mm,
		minimum height=6mm% <- eingefügt
	}, 
	level 1/.style={sibling distance=30mm} 
] 
\node (S) {$95$}
    child{ node (A) {$90$}
        }
    child{ node (D) {$104{,}5$} 
        }
        ;
\end{tikzpicture}
\end{document}

Verfasst: Fr 4. Nov 2016, 21:34
von cyr74
Habe ich schon so abgeändert, trotzdem danke.

Lieben Gruß,
Kai