TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.
3
1

Wie kriege ich mit Tikz am besten einen ungewurzelten Baum hin, sodass er wie im 2. Bild aussieht. Mein 1. Versuch ist noch etwas unschön. Auch würde ich gern die beiden Zwischenknoten wie im 2. Bild "ausblenden" können.

Open in writeLaTeX
\begin{tikzpicture}[scale=0.9,level/.style={sibling distance=60mm/#1},grow=right]
\node[circle,draw] (i){$i$}
  child {node[circle,draw] (a) {$ $}
    child {node[grow=down,circle,draw] (j) {$j$}}
    child {node[circle,draw] (c) {$ $}
        child {node[circle,draw] (k) {$k$}}
        child {node[circle,draw] (l) {$l$}}}};

\path (i) -- (a) node [midway, right] {\; a \;};
\path (j) -- (a) node [midway, right] {\; b \;};
\path (a) -- (c) node [midway, left] {\; c \;};
\path (c) -- (k) node [midway, right] {\; d \;};
\path (c) -- (l) node [midway, left] {\; e \;};
\end{tikzpicture}

alt text

alt text

gefragt 12 Mai '14, 23:21

BorrNar's gravatar image

BorrNar
7736
Akzeptiert-Rate: 0%

bearbeitet 15 Mai '14, 21:26

esdd's gravatar image

esdd
15.2k123954


Um Zwischenknoten "auszublenden" kannst du coordinate statt node verwenden.

Den Baum selbst könnte man aus zwei Teilbäumen aufbauen, die man dann einfach miteinander verbindet:

Open in writeLaTeX
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\begin{tikzpicture}[scale=0.9,sibling distance=2.5cm]
% linker Teilbaum
\coordinate (a)[grow=left]
        child {node[circle,draw] (i) {$i$}}
        child {node[circle,draw] (j) {$j$}};
% rechter Teilbaum
\coordinate[xshift=2cm](c)[grow'=right]
        child {node[circle,draw] (k) {$k$}}
        child {node[circle,draw] (l) {$l$}};
% Verbindung beider Teilbäume
\draw(a)--node[above]{c}(c);
% Beschriftungen
\path[outer sep=2pt] 
  (i) -- node[above]{a} (a)
  (j) -- node [below]{b} (a)
  (c) -- node[above]{d} (k)
  (c) -- node [below]{e} (l) ;
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 13 Mai '14, 00:50

esdd's gravatar image

esdd
15.2k123954
Akzeptiert-Rate: 63%

@esdd Kann man bei deiner Version auch noch ein fünftes Blatt einfügen, das an der Strecke c vertikal nach oben geht?:)

(01 Jun '17, 10:30) Tomate
2

@Tomate Ich habe Deine "Antwort" in einen Kommentar umgewandelt. Hier sind Antworten stets "echte" Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. Bemerkungen gern wie hier als Kommentare. In diesem Fall wäre jedoch zu überlegen, ob nicht eine Anschlussfrage sinnvoll ist.

(01 Jun '17, 11:02) saputello

Ich musste bei deiner Graphik als erstes an das spring layout der neuen graphdrawing-Bibliothek denken:

Open in writeLaTeX
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs, graphdrawing, quotes, babel}
\usegdlibrary{force}
\begin{document}
\begin{tikzpicture}
\graph [spring layout, horizontal=root left to root right, nodes={circle, draw}, node distance=2.5cm, root/.style={as=, cut policy=none, draw=none}] {
    {{i, j}-- root left [root] --["c"] root right [root] --{k, l}};
    i --["a"] root left;
    j --["b"'] root left;
    k --["d"'] root right;
    l --["e"] root right;
};
\end{tikzpicture}
\end{document}

Zum Übersetzten muss LuaLaTeX verwendet werden.

alt text

Permanenter link

beantwortet 15 Mai '14, 18:02

sudo's gravatar image

sudo
2.0k31220
Akzeptiert-Rate: 39%

bearbeitet 16 Mai '14, 08:19

1

@sudo Toller Vorschlag! Gerade solche Beispiele helfen beim Verständnis der neuen Möglichkeiten ab Version 3.0.0.

(16 Mai '14, 10:31) esdd
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×668
×11

gestellte Frage: 12 Mai '14, 23:21

Frage wurde gesehen: 6,283 Mal

zuletzt geändert: 01 Jun '17, 11:22