Como criar gráficos direcionados em LaTeX

Como criar gráficos direcionados em LaTeX

Como alguém pode criar uma estrutura de árvore em LaTeX que começa com um único número e se estende com um número arbitrário de setas que conectam os números abaixo com os números acima, de modo que a cabeça fique voltada para cima? Por exemplo, uma árvore desta forma:

Vejo que existem árvores semelhantes sem setas direcionadas, como mostradoaqui. Da mesma forma, vejo que existem árvores com setas direcionadas que não são semelhantes às mostradasaqui. Existe uma maneira de combinar esses dois elementos no tikz?

Simplesmente copiar os seguintes elementos é \usepackage{tikz,forest}suficiente ou são necessários elementos totalmente diferentes?

\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}

insira a descrição da imagem aqui

Responder1

Aqui está umflorestasolução que numera os nós automaticamente:

\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}

numeração automática de nós com floresta

Responder2

Você pode experimentar os novos gráficos no PGF mais recente com 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} 

insira a descrição da imagem aqui

informação relacionada