LaTeX에서 방향성 그래프를 만드는 방법

LaTeX에서 방향성 그래프를 만드는 방법

LaTeX에서 단일 숫자로 시작하고 머리가 위쪽을 향하도록 아래 숫자와 위 숫자를 연결하는 임의의 수의 화살표로 확장되는 트리 구조를 어떻게 만들 수 있습니까? 예를 들어 다음 형식의 트리는 다음과 같습니다.

그림과 같이 방향성 화살표가 없는 비슷한 나무가 있는 것을 확인했습니다.여기. 마찬가지로, 표시된 것과 유사하지 않은 방향성 화살표가 있는 나무가 있음을 알 수 있습니다.여기. tikz에서 이 두 요소를 결합하는 방법이 있나요?

단순히 다음 요소를 \usepackage{tikz,forest}충분하게 복사하는 것입니까, 아니면 완전히 다른 요소가 필요한 것입니까?

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

여기에 이미지 설명을 입력하세요

답변1

여기자동으로 노드 번호를 매기는 솔루션:

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

포리스트를 사용하여 자동으로 노드 번호 매기기

답변2

다음을 사용하여 최신 PGF의 새로운 그래프 기능을 사용해 볼 수 있습니다 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} 

여기에 이미지 설명을 입력하세요

관련 정보