PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : leere Knoten in usetikzlibrary{trees}



cantoni
12-04-2013, 14:15
Hallo,

ich versuche einen unregelmäßigen Baum, also keinen Binärbaum, mit \usetikzlibrary{trees} zu realisieren. Ich habe jedoch das Problem, dass sich Knoten überlappen können. Um dies zu vermeiden habe ich einen leeren Knoten eingefügt. Kann man das eleganter lösen?

documentclass{article}
\usepackage[landscape]{geometry}
\usepackage{textfit}
\usepackage{graphicx}
\usepackage{qtree}
\usepackage{picins}
\usepackage{tikz}
\usepackage{yfonts}
\usepackage{color}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{fancybox}
\usepackage{amssymb}
\usepackage{xspace}
\usepackage{calligra}
\usepackage[onehalfspacing]{setspace}
\usetikzlibrary{shapes,trees,positioning}
\usepackage{verbatim}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\usetikzlibrary{trees}
\begin{document}
\newcommand{\knotenfarbe}{gray!40!yellow!50!}
\newcommand{\boxart}[1]{\fbox{\makebox[75pt]{\begin{tabular}{c}#1\end{tabular}}}}
\newcommand{\schriftart}[1]{\scalebox{0.425}{\textbf{\textcolor{black}{#1}}}}
\tikzstyle{every node}=[]
\begin{tikzpicture}[grow=up, line width=3.5pt, brown!100!]
\coordinate
node[draw, fill=\knotenfarbe]{
\boxart{
\schriftart{1. Zeile}\\
\schriftart{2. Zeile}
}
}
[edge from parent fork up]
[sibling distance=3.75cm,level distance=8cm]
child{
node[draw, fill=\knotenfarbe]{
\boxart{
\schriftart{1. Zeile}\\
\schriftart{2. Zeile}
}
}
}
child{
node[]{ %"leerer Knoten"
\boxart{
}
}
}
child{
node[draw, fill=\knotenfarbe]{
\boxart{
\schriftart{1. Zeile}\\
\schriftart{2. Zeile}
}
}
child{
node[draw, fill=\knotenfarbe]{
\boxart{
\schriftart{1. Zeile}\\
\schriftart{2. Zeile}
}
}
}
child{
node[draw, fill=\knotenfarbe]{
\boxart{
\schriftart{1. Zeile}\\
\schriftart{2. Zeile}
}
}
}
}
;
\end{tikzpicture}
\end{document}

esdd
12-04-2013, 14:45
Hallo,

du könntest

child[missing]
an Stelle des leeren Knotens einfügen.

Oder du passt sibling distance für die einzelnen Level an.

Gruß
Elke

cantoni
12-04-2013, 14:55
Hallo,

vielen Dank! Habe mir doch gleich gedacht das die Lösung ganz einfach ist ...

Wie kann man eigentlich über den Baum eine Überschrift und hinter den Baum ein (jpg-)Bild als Hintergrund einfügen?

Viele Grüße