Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Pfade in Bäumen mit TIKZ

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.11.2009
    Beiträge
    37

    Pfade in Bäumen mit TIKZ

    Hallo zusammen,

    zunächst einmal scheitere ich an der völlig banalen Sache folgendes Minimalbeispiel zum Laufen zu bringen. In mein Dokument eingebettet funktioniert es prima, aber so bekomme ich einen Haufen Fehler und finde keinen Weg, das abzustellen. *fixed*

    Mein Frage bzgl. dieses Beispiels ist, wie ich einzelne Pfade in diesem Baum mit einem anderen Kantenstil versehen kann. ZB. möchte ich von der Wurzel (a) zu einem Blatt einen einzelnen Pfad strichliert zeichnen (nur den Pfad, nicht die Knoten). Im PGF Manual habe ich nur die Option "edge from parent" gefunden, aber die verisieht gleich den gesamten Teilbaum mit dem neuen Stil und nicht nur einen Pfad.

    Code:
    \documentclass{scrartcl}
    
    \usepackage{amsmath}
    \usepackage{tikz}
    
    \begin{document}
    \tikzstyle{level 1}=[level distance=3.5cm, sibling distance=5cm]
    \tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2.5cm]
    \tikzstyle{level 3}=[level distance=3.5cm, sibling distance=0.5cm]
    \begin{tikzpicture}[grow=right]
    \node[rectangle,draw]  {$a$}
    child  {node[rectangle,draw]  {$ba$}
        child  {node[rectangle,draw]  {$aba$}
            child  {node[rectangle,draw]  {$baaba$}}
            child  {node[rectangle,draw]  {$baaab$}}
            child  {node[rectangle,draw]  {$ababa$}}
            child  {node[rectangle,draw]  {$abaab$}}
            }
        child  {node[rectangle,draw]  {$aab$}
            child  {node[rectangle,draw]  {$babaa$}}
            child  {node[rectangle,draw]  {$baaba$}}
            child  {node[rectangle,draw]  {$abbaa$}}
            child  {node[rectangle,draw]  {$ababa$}}
            }
    }
    child  {node[rectangle,draw]  {$ab$}
        child  {node[rectangle,draw]  {$baa$}
            child  {node[rectangle,draw]  {$ababa$}}
            child  {node[rectangle,draw]  {$abaab$}}
            child  {node[rectangle,draw]  {$aabba$}}
            child  {node[rectangle,draw]  {$aabab$}}
            }
        child  {node[rectangle,draw]  {$aba$}
            child  {node[rectangle,draw]  {$baaba$}}
            child  {node[rectangle,draw]  {$baaab$}}
            child  {node[rectangle,draw]  {$ababa$}}
            child  {node[rectangle,draw]  {$abaab$}}
            } 
    };
    \end{tikzpicture}
    \end{document}
    Beste Grüße
    InsideMan
    Geändert von InsideMan (17-11-2011 um 10:00 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Hallo,

    Code:
    \usepackage{scrartcl}
    du meinst sicherlich:

    Code:
    \documentclass{scrartcl}
    Christian.
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.11.2009
    Beiträge
    37
    Oh mein Gott, danke. So läuft das Minimalbeispiel dann auch.

    Bleibt nur noch die Frage zu den Pfaden.

  4. #4
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Hallo,

    hier ist ein Vorschlag, bei dem nur der Pfad von (a) bis zu (abaab) gestrichelt wird:
    Code:
    \documentclass{scrartcl}
    
    \usepackage{amsmath}
    \usepackage{tikz}
    
    \begin{document}
    \tikzset{%
      level 1/.style={level distance=3.5cm, sibling distance=5cm},
      level 2/.style={level distance=3.5cm, sibling distance=2.5cm},
      level 3/.style={level distance=3.5cm, sibling distance=0.5cm}
    }
    \tikzset{mynode/.style={rectangle,draw,solid}}
    \begin{tikzpicture}[grow=right]
    \node[mynode]  {$a$}
    child  {node[mynode]  {$ba$}
        child  {node[mynode]  {$aba$}
            child  {node[mynode]  {$baaba$}}
            child  {node[mynode]  {$baaab$}}
            child  {node[mynode]  {$ababa$}}
            child  {node[mynode]  {$abaab$}}
            }
        child  {node[mynode]  {$aab$}
            child  {node[mynode]  {$babaa$}}
            child  {node[mynode]  {$baaba$}}
            child  {node[mynode]  {$abbaa$}}
            child  {node[mynode]  {$ababa$}}
            }
    }
    child  {node[mynode]  {$ab$} edge from parent[dashed]
        child  {node[mynode]  {$baa$} edge from parent[solid]
            child  {node[mynode]  {$ababa$}}
            child  {node[mynode]  {$abaab$}}
            child  {node[mynode]  {$aabba$}}
            child  {node[mynode]  {$aabab$}}
            }
        child  {node[mynode]  {$aba$}
            child  {node[mynode]  {$baaba$}edge from parent[solid]}
            child  {node[mynode]  {$baaab$}edge from parent[solid]}
            child  {node[mynode]  {$ababa$}edge from parent[solid]}
            child  {node[mynode]  {$abaab$}}
            } 
    };
    \end{tikzpicture}
    \end{document}
    Gruß
    Elke

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •