森林中节点排列不均匀

森林中节点排列不均匀

这应该是小菜一碟,但由于某种原因,我找不到解决它的关键。

下列的Alan Munn 的建议,我最近已从 切换qtreeforest树形图。使用代码:

\documentclass[11pt,a4paper,oneside,notitlepage]{book}
%...
\usepackage[linguistics]{forest}
%...
\begin{document}
%...
\begin{forest}
[A [B [C ] [D ] [E,edge=dotted ] ] [F [G ] ] ]
\end{forest}
%...
\end{document}

得到以下树:

在此处输入图片描述

如何设置虚线的具体(较短)长度?我希望节点 E 位于 C、D 和 G 的上方。

正如虚线所示,E 与树所代表的内容仅有远程连接,并且我不希望它与其他底部节点处于同一级别。

答案1

您可以l为单个节点指定该参数。如果将值设置得太小,可能会导致一些奇怪的结果,但对于此目的来说,它似乎有效。

\documentclass[11pt,a4paper,oneside,notitlepage]{book}
%...
\usepackage[linguistics]{forest}
%...
\begin{document}
%...
\begin{forest}
[A [B [C ] [D ] [E,edge=dotted,l=.75cm ] ] [F [G ] ] ]
\end{forest}
%...
\end{document}

代码输出

答案2

Forest 还允许您在绘制树之前手动调整节点的位置(请参阅森林手册中的第 24 页的工作流程章节)。请注意,这x-=3是增强分配。

\documentclass[11pt,a4paper,oneside,notitlepage]{book}
%...
\usepackage[linguistics]{forest}
%...
\begin{document}
%...
\begin{forest}
[A [B [C ] [D ] [E,edge=dotted, before drawing tree={x-=3mm, y+=3mm} ]
 ] [F [G ] ] ]
\end{forest}
%...
\end{document}

例子

您还可以更改来inner ysep调整虚线和节点内容之间的距离。

\documentclass[11pt,a4paper,oneside,notitlepage]{book}
%...
\usepackage[linguistics]{forest}
%...
\begin{document}
%...
\begin{forest}
[A [B [C ] [D ] [E,edge=dotted, inner ysep=1pt, before drawing tree={x-=2mm, y+=2mm} ]
 ] [F [G ] ] ]
\end{forest}
%...
\end{document}

在此处输入图片描述

相关内容