So erstellen Sie gerichtete Graphen in LaTeX

So erstellen Sie gerichtete Graphen in LaTeX

Wie kann man in LaTeX eine Baumstruktur erstellen, die mit einer einzigen Zahl beginnt und sich mit einer beliebigen Anzahl von Pfeilen erweitert, die Zahlen darunter mit Zahlen darüber verbinden, sodass die Spitze nach oben zeigt? Beispielsweise ein Baum dieser Form:

Ich sehe, dass es ähnliche Bäume ohne gerichtete Pfeile gibt, wie gezeigtHier. Ebenso sehe ich, dass es Bäume mit gerichteten Pfeilen gibt, die nicht ähnlich sind wie gezeigtHier. Gibt es eine Möglichkeit, diese beiden Elemente in Tikz zu kombinieren?

Reicht das einfache Kopieren folgender Elemente \usepackage{tikz,forest}oder werden ganz andere Elemente benötigt?

\documentclass{article}
\usepackage{tikz,forest}

\begin{document}
\texttt{grow} used in a Ti\textit{k}Z tree

\begin{tikzpicture}
  \node{1}
    child{node{child 1}}
    child[grow=south]{node{child 2}
      child child child
    }
  ;
\end{tikzpicture}
end{forest}
end{document}

Bildbeschreibung hier eingeben

Antwort1

Hier ist einWaldLösung, die die Knoten automatisch nummeriert:

\documentclass[tikz,border=5pt]{standalone}
\usepackage{forest}

\begin{document}

\bracketset{action character=@}% based on code from page 22 of forest's manual
\newcount\xcount
\def\x{@@\advance\xcount1
  \edef\xtemp{$\noexpand{\the\xcount}$}%
  \expandafter\bracketResume\xtemp
}
\begin{forest}
  delay={%
        content={#1}%
  },
  for tree={%
    edge path={
      \noexpand\path[<-, \forestoption{edge}]
        (!u.parent anchor) -- (.child anchor)\forestoption{edge label};
    },
  }
  @+
  [\x
    [\x
      [\x
        [\x
          [\x]
          [\x]
          [\x]
        ]
        [\x
          [\x]
          [\x]
        ]
        [\x
          [\x]
        ]
      ]
      [\x]
    ]
  ]
\end{forest}

\end{document}

automatische Nummerierung von Knoten mit Gesamtstruktur

Antwort2

Sie können die neuen Grafikfunktionen im neuesten PGF mit Folgendem ausprobieren lualatex:

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{graphs,graphdrawing,arrows.meta}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}[>=Stealth]    
\graph  [tree layout, grow=down]{
  1 <- 2 <- {
    3 <- {
      5 <- {10,11,12}, 6 <- {13,14}, 7 <- {,15}
    }, 
    4 <- {,/}
  };   
};
\end{tikzpicture}
\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen