使用 LaTeX 的森林结构

使用 LaTeX 的森林结构

我想制作一个像这样的更漂亮的森林结构:层次模型

有什么建议吗?我有一个与 TikZ 类似的结构,(但方式相反)

答案1

请注意,我认为我不应该回答“帮我做”的问题,但有时我还是会回答。当我回答时,我是为了我自己。如果它碰巧能帮助别人,即使是提问者,那就这样吧。如果没有,那就不回答。希望我对微调、解释或调整的要求不那么同情。

森林不适合。使用 Ti 的图形功能改为 Z。使用 LuaTeX 进行编译。

\RequirePackage{luatex85}
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}
  \graph [tree layout, grow'=up, nodes={circle, draw}]
  {
    a <- b <- {c,d <- {f,g},e};
    h <- i <- {j,k <- {l,m} };
  };
  \graph [use existing nodes]
  {
    {f,g} -> j;
    {l,m} -> e;
  };
\end{tikzpicture}
\end{document}

树状图

要使用 Forest 来实现这一点,您需要一个假根并手动添加额外的边。

\documentclass[border=10pt]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
  for tree={grow'=90, draw, circle, edge+={<-}},
  [, phantom
    [a[b[c][d[f][g]][e,tikz+={\foreach \i in {!rl121,!rl12l} \draw [<-] (.parent anchor) -- (\i.child anchor);}]]]
    [h[i[j,tikz+={\foreach \i in {!r1121,!r112l} \draw [<-] (.parent anchor) -- (\i.child anchor);}][k[l][m]]]]
  ]
\end{forest}
\end{document}

假森林

相关内容