Seite 1 von 1

Tikz: Winkel in einem Baumdiagramm ändern

Verfasst: Mo 15. Mai 2017, 00:37
von StarFlesh
Hi!
Ich habe einen Baum mit dem Tikz Paket erstellt.
Nur leider sind die Knoten teilweise sehr dicht beieinander, so dass die Lesbarkeit drunter leidet.
Ich habe den Code eines Beispiel Baums genommen und so weit ich konnte angepasst.
Nur das mit den Winkel der Äste, bzw den Abstand der Knoten, hab ich noch nicht herausgefunden.

Wäre nett wenn ihr mir da helfen könntet.

Hier mein Latex Baum:
 \begin{center}
		\tikzset{
			treenode/.style = {align=center, inner sep=0pt, text centered,
				font=\sffamily},
			arn_n/.style = {treenode, circle, white, font=\sffamily\bfseries, draw=black,
				fill=black, text width=1.5em},
			arn_r/.style = {treenode, circle, black, draw=black, 
				text width=4em, thin, draw=none,fill=none},
			arn_x/.style = {treenode, rectangle, draw=black,
				minimum width=0.5em, minimum height=0.5em}
		}
	
		
			\begin{tikzpicture}[-,>=stealth',level/.style={sibling distance = 5cm/#1,
				level distance = 2cm}] 
			\node [arn_r] {program}
			child{ node [arn_r] {=} 
				child{ node [arn_r] {null xs} 
				}
				child{ node [arn_r] {@}
					child{ node [arn_r] {@}
						child{ node [arn_r] {= \\(compare)}}
						child{ node [arn_r] {xs}}   
						   }
					   child{ node [arn_r] {nil}}   
				}                            
			}
			child{ node [arn_r] {where}
				child{ node [arn_r] {@} 
					child{ node [arn_r] {var(null)}
					}   
					child{ node [arn_r] {var(l)}
					}   
				}
				child{ node [arn_r] {=}
					child{ node [arn_r] {l}
					} 
					child{ node [arn_r] {@}
						child{ node [arn_r] {@}
							child{ node [arn_r] {:\\(List)}
							}
							child{ node [arn_r] {l}
							}      
						} 
						child{ node [arn_r] {nil}
						}     
					}     
				}
			}
			; 
			\end{tikzpicture}
		\end{center}

Verfasst: Mo 15. Mai 2017, 07:13
von Bartman
Mögliche Helfer müssten Dein Beispiel erst einmal vervollständigen, um es testen zu können. In diesem Fall ist das zwar nicht besonders aufwendig, aber es läge an Dir, bei weiteren Beispielen auf deren Vollständigkeit zu achten.

Was hältst Du davon?
\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}[
	nodes = {
		align=center, 
		inner sep=10pt, 
		text centered,
		font=\ttfamily
	},
	level/.style = {
		sibling distance = 8cm/#1,% <- Zähler vergrößert
		level distance = 2cm
	},
	level 3/.style = {sibling distance = 2cm}% <- eingefügt
] 
\node {program}
	child{ node {=} 
		child{ node {null xs} }
		child{ node {@}
			child{ node {@}
				child{ node {=\\(compare)}}
				child{ node {xs}}   
			}
			child{ node {nil}}   
		}                            
	}
	child{ node {where}
		child{ node {@} 
			child{ node {var(null)} }   
			child{ node {var(l)} }   
		}
		child{ node {=}
			child{ node {l} } 
			child{ node {@}
				child{ node {@}
					child{ node {:\\(List)} }
					child{ node {l} }      
				} 
				child{ node {nil} }     
			}     
		}
	}; 
\end{tikzpicture}
\end{document}

Verfasst: Di 16. Mai 2017, 08:21
von StarFlesh
Danke das sieht gut aus :)