In diesem Baum, den ich mit tikz-qtree erstellt habe, sind die child nodes unterschiedlich groß, und der Baum sieht nicht nicht gut aus:

\documentclass{article}
\usepackage{tikz-qtree}
\newcommand*{\knoten}[1]{\tikz\node[draw,thick,rounded corners,
    fill=yellow!15,inner sep=.8ex]{#1};}
\begin{document}
\begin{tikzpicture}[every tree node/.style={align=center}]
  \Tree
    [.{\knoten{Gruppieren in \TeX}}
      [.{\knoten{{$\mathtt{\{}$} \ldots\ $\mathtt{\}}$}} ]
      [.{\knoten{\texttt{\char`\\ begingroup} \\ \ldots \\ \texttt{\char`\\ endgroup}}} ]
      [.{\knoten{\texttt{\char`\\ bgroup} \\ \ldots \\ \texttt{\char`\\ egroup}}} ]] 
\end{tikzpicture}
\end{document}

Baum

Wie kann ich einstellen, dass alle Blätter an ihrer Oberkante aneinander ausgerichtet sind?

gefragt 15 Jul '13, 12:38

Felix's gravatar image

Felix
1.3k225366
Akzeptiert: 89%

bearbeitet 13 Aug '13, 08:02

Clemens's gravatar image

Clemens
19.0k112960


Dazu musst Du nur noch ein anchor=north mit angeben, damit TikZ weiß, wo verankert werden soll.

\documentclass{article}
\usepackage{tikz-qtree}
\newcommand*{\knoten}[1]{\tikz\node[draw,thick,rounded corners,
    fill=yellow!15,inner sep=.8ex]{#1};}
\begin{document}
\begin{tikzpicture}[every tree node/.style={align=center,anchor=north}]
  \Tree
    [.{\knoten{Gruppieren in \TeX}}
      [.{\knoten{{$\mathtt{\{}$} \ldots\ $\mathtt{\}}$}} ]
      [.{\knoten{\texttt{\char`\\ begingroup} \\ \ldots \\ \texttt{\char`\\ endgroup}}} ]
      [.{\knoten{\texttt{\char`\\ bgroup} \\ \ldots \\ \texttt{\char`\\ egroup}}} ]] 
\end{tikzpicture}
\end{document}

Ausgabe des Dokuments

Permanenter link

beantwortet 15 Jul '13, 12:55

saputello's gravatar image

saputello
18.4k22352

bearbeitet 17 Jul '13, 08:41

stefan's gravatar image

stefan ♦♦
5.8k12134

Den wesentlichen Punkt hat @saputello in seiner Antwort bereits genannt1: die Option anchor=north, die man einfach dem Stil für every tree node hinzufügt. Genauso sollte man, statt das Layout über ein weiteres tikzpicture (versteckt im \knoten Makro) zu definieren, dasselbe einfach dem Stil hinzugefügen.

Ich würde mir außerdem Makros für die Ausgabe von Befehlssequenzen und Glyphen definieren, was ich hier mit den beiden Makros \cs{} (für Befehlsequenzen) und \glyph{} (für Glyphen) gemacht habe:

Ergebnis

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tikz-qtree}

\tikzset{
  every tree node/.style={
    align=center,
    anchor=north,
    draw,
    thick,
    rounded corners,
    fill=yellow!15,
    inner sep=.8ex
  }
}

\newcommand*\cs[1]{\texttt{\textbackslash#1}}
\newcommand*\glyph[1]{\texttt{#1}}

\begin{document}
\begin{tikzpicture}
  \Tree
    [.{Gruppieren in \TeX}
      [.{\glyph{\{} \ldots\ \glyph{\}}} ]
      [.{\cs{begingroup} \\ \ldots \\ \cs{endgroup}} ]
      [.{\cs{bgroup} \\ \ldots \\ \cs{egroup}} ]] 
\end{tikzpicture}
\end{document}

1 und hat dafür eine Stimme verdient :)

Permanenter link

beantwortet 15 Jul '13, 13:03

Clemens's gravatar image

Clemens
19.0k112960

bearbeitet 17 Jul '13, 08:42

stefan's gravatar image

stefan ♦♦
5.8k12134

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×56
×29
×4

Frage gestellt: 15 Jul '13, 12:38

Frage wurde angeschaut: 3,773 Mal

Zuletzt aktualisiert: 13 Aug '13, 08:02