![在 LaTeX 中构建树](https://linux22.com/image/303743/%E5%9C%A8%20LaTeX%20%E4%B8%AD%E6%9E%84%E5%BB%BA%E6%A0%91.png)
我在创建树时遇到了很大麻烦。到目前为止,我
\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}