Ich habe folgenden Baum erstellt:

Open in Online-Editor
\begin{tikzpicture}[->,>=stealth',level/.style={sibling distance = 2cm,
  level distance = 1.5cm}]
\node {@}
    child{ node  {@} 
            child{ node  {$\lambda$} 
                child{ node  {x} } 
                            child{ node  {$\mathrm{case_{List}}$}
                            child {node {x}}
                            child {node {2}}
                            child {node {3}}}
            }
            child{ node [sibling distance = 20cm] {Cons}
                            child{ node  {$\lambda$}
                            child {node {z}}
                            child {node {z}}}
                            child{ node  {Nil}}
            }                            
    }
    child{ node {True}
        }
; 
\end{tikzpicture}

Irgendwie funktioniert das nicht, dass der Abstand zwischen Cons und lambda größer wird. Deswegen überschneiden sich da die Kinder :/

gefragt 01 Nov '15, 14:48

Maedel's gravatar image

Maedel
111
Akzeptiert: 0%

bearbeitet 01 Nov '15, 14:49

1

Herzlich willkommen in der TeXwelt!Bitte gib immer ein vollständiges Minimalbeispiel an. Also ein möglichst kurzes, aber komplettes Dokument, von \documentclass{...} bis zu \end{document}, was das Problem zeigt. Das vereinfacht die Bearbeitung erheblich.

(01 Nov '15, 15:56) esdd

Es gibt übrigens \textsubscript für tiefer gestellten Text im Textmodus. Wenn x, 2, True etc. nicht im Mathemodus gesetzt werden, würde ich das für case\textsubscript{List} verwenden.

(03 Nov '15, 06:05) saputello

Verwende die das geänderte sibling distance als Option von child statt von node:

Open in Online-Editor
\documentclass[tikz,margin=5pt]{standalone}
\usetikzlibrary{arrows}
\begin{document}

\begin{tikzpicture}[->,>=stealth',
  level/.style={sibling distance = 2cm,level distance = 1.5cm}
]
\node {@}
    child{ node  {@} 
            child{ node  {$\lambda$} 
                child{ node  {x} } 
                            child{ node  {$\mathrm{case_{List}}$}
                            child {node {x}}
                            child {node {2}}
                            child {node {3}}}
            }
            child[sibling distance = 10cm]{node {Cons}
                            child{ node  {$\lambda$}
                            child {node {z}}
                            child {node {z}}}
                            child{ node  {Nil}}
            }                            
    }
    child{ node {True}
        }
; 
\end{tikzpicture}
\end{document}

alt text

Hier ist mal außerdem noch eine alternative Darstellungsmöglichkeit:

Open in Online-Editor
\documentclass[tikz,margin=5pt]{standalone}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[
  ->,>=stealth',
  level/.style={level distance=1.5cm,sibling distance=2cm},
  level 2/.style={sibling distance=5cm},
  level 4/.style={sibling distance=1cm}
]
\node {@}
    child{ node  {@} 
            child{ node  {$\lambda$} 
                child{ node  {x} } 
                            child{ node  {$\mathrm{case_{List}}$}
                            child {node {x}}
                            child {node {2}}
                            child {node {3}}}
            }
            child{ node  {Cons}
                            child{ node  {$\lambda$}
                            child {node {z}}
                            child {node {z}}}
                            child{ node  {Nil}}
            }                            
    }
    child{ node {True}
        }
; 
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 01 Nov '15, 15:53

esdd's gravatar image

esdd
14.2k53251

Zum Spaß mit TikZ graphdrawing.

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}
  \graph [fresh nodes,tree layout] {
    "@" -> {
      "@" -> {
        "$\lambda$" -> {
          "x", "$\mathrm{case_{List}}$" -> {
            "x", "2", "3"
          }
        },
        "Cons" -> {
          "$\lambda$" -> {
            "z", "z"
          },
          "Nil"
        }
      },
      "True"
    }
  };
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 02 Nov '15, 17:26

Henri's gravatar image

Henri
10.1k31730

bearbeitet 02 Nov '15, 17:30

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
×6

Frage gestellt: 01 Nov '15, 14:48

Frage wurde angeschaut: 2,030 Mal

Zuletzt aktualisiert: 03 Nov '15, 06:05