在 LaTeX 中构建树

在 LaTeX 中构建树

我在创建树时遇到了很大麻烦。到目前为止,我

\documentclass{article}
\usepackage{tikz-qtree}

\begin{document}

\begin{tikzpicture}[every tree node,
   level distance=1.25cm,sibling distance=1cm,
   edge from parent path={(\tikzparentnode) -- (\tikzchildnode)}]
\Tree
[
    \edge node[auto=right,pos=.6] {$A$};
    [.1
       \edge node[auto=right,pos=.8] {$B$};
       [.2 ]
       \edge node[auto=left,pos=.8] {$C$};
       [.3 ]
        ]
    \edge node[auto=left,pos=.6] {$D$};
    [.4 ]
]
\end{tikzpicture}

\end{document}

产生

在此处输入图片描述

但是,我想再添加两层,从 2 层开始添加另外 2 个分支,从这些分支的左侧开始添加另一个分支。另外,如何在我使用的数字下面放置标签?

非常感谢,希望我说清楚了

答案1

我建议你使用强大的forest包代替;它更加通用,它有很多内置功能可以自定义树,并会为您提供更短的代码。一个显示多行节点的简单示例:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{forest}

\begin{document}

\begin{forest}
for tree={
  l sep=30pt,
  parent anchor=south,
  align=center
}
[
  [1\\some text,edge label={node[midway,left]{A}}
    [2\\some text,edge label={node[midway,left]{B}}
      [4\\some text,edge label={node[midway,left]{C}}
        [6\\some text,edge label={node[midway,left]{D}}
        ]
        [7\\some text,edge label={node[midway,right]{E}}
        ]
      ]
      [5\\some text,edge label={node[midway,right]{F}}
      ]
    ]
    [3\\some text,edge label={node[midway,right]{G}}
    ]
  ]
  [8\\some text,edge label={node[midway,right]{H}}
  ]
]
\end{forest}

\end{document}

相关内容