当重复使用森林树以及当校准位于中心(默认)、最后等时,如何获得正确的间距?

当重复使用森林树以及当校准位于中心(默认)、最后等时,如何获得正确的间距?

Forest 允许我在另一棵树中重用一棵树的(部分)。但是,当calign具有某些值(包括默认值center)时,这会对某些节点的间距产生奇怪的影响。除了使用注释代码块(这是一种非常糟糕的解决方法)之外,如何才能以一种不那么黑客的方式避免这种情况?

以下示例基于我的答案David Emerson 的问题

\documentclass[border=10pt,multi,tikz]{standalone}
\usepackage{forest}
\begin{document}
\forestset{
  default preamble={
    for tree={
      align=center,
      child anchor=parent,
      draw,
    },
%     before packing={% horrible hack - this shouldn't be needed at all!
%       where={>On=On=&{n}{1}{n children}{0}}{
%         if nodewalk valid={next}{
%           s'+=100mm,
%         }{}
%       }{},
%     }
  },
}

\Forest*{
  [Manager 1, name=m1
    [Individual\\Contributor 1]
    [Individual\\Contributor 2]
    [Individual\\Contributor 3]
    [Individual\\Contributor 4]
    [Individual\\Contributor 5]
    [Individual\\Contributor 6]
  ]
}


\Forest*{
    [, replace by=m1]
}

\end{document}

不必要的间距异常

相关内容