当移动节点时,如何移动边?

当移动节点时,如何移动边?

我对这一切都很陌生,所以请耐心等待。

当我移动 id=JK (BB2) 家族的节点时,边不会随之移动。我怎样才能让它看起来像 id=AK (BB1) 家族? 奇怪的家谱

 \documentclass{article}
\usepackage[all]{genealogytree}

\begin{document}
    \titlepage
    \begin{tikzpicture}
    \genealogytree[
    template=formal graph,
    timeflow=right,
    %% edge settings
    edges={foreground={black,line width=0.5mm},    
        background={white,line width=1mm}},
]{  
        child[id=KAK]{
            g[id=AndersKristian,male,]{B_1}
        child[id=AK]{
            g[id=Anne,female]{BB_1}
            p[id=Klaus,male]{Y_1}
            c[id=Tobias,male]{O_1}
    }
        child[id=JK]{
            g[id=Jytte,female,tikz={xshift=20mm}]{BB_2}
            p[id=Kjell,male,tikz={xshift=20mm}]{Y_2}
            c[id=Hans,male,tikz={xshift=20mm}]{O_2}
         }
    }
}
\end{tikzpicture}
\end{document}

答案1

移动节点也会移动连接边,但不会使边缘核心的位置移动,边缘核心的位置仍保持在适当的生成级别。

要改变这个位置,您可以使用edges shift手册第 219 页第 8.8 节“边缘移动”中记录的内容。

或者,如果这是意图,可以添加幻影节点来模拟代际跳跃。

以下代码显示了这两种选择:

\documentclass{article}
\usepackage[all]{genealogytree}

\begin{document}

\begin{tikzpicture}
\genealogytree[
    template=formal graph,
    timeflow=right,
    %% edge settings
    edges={foreground={black,line width=0.5mm},
        background={white,line width=1mm}},
]{
    child[id=KAK]{
            g[id=AndersKristian,male,]{B_1}
      child[id=AK]{
            g[id=Anne,female]{BB_1}
            p[id=Klaus,male]{Y_1}
            c[id=Tobias,male]{O_1}
      }
      child[id=JK,edges shift=-20mm]{
            g[id=Jytte,female,tikz={xshift=20mm}]{BB_2}
            p[id=Kjell,male,tikz={xshift=20mm}]{Y_2}
            c[id=Hans,male,tikz={xshift=20mm}]{O_2}
      }
    }
}
\end{tikzpicture}

\begin{tikzpicture}
\genealogytree[
    template=formal graph,
    timeflow=right,
    %% edge settings
    edges={foreground={black,line width=0.5mm},
        background={white,line width=1mm},
        anchoring=center},
]{
    child[id=KAK]{
            g[id=AndersKristian,male,]{B_1}
      child[id=AK]{
            g[id=Anne,female]{BB_1}
            p[id=Klaus,male]{Y_1}
            c[id=Tobias,male]{O_1}
      }
      child
      {
        g[phantom*]{}
        child[id=JK]{
              g[id=Jytte,female]{BB_2}
              p[id=Kjell,male]{Y_2}
              c[id=Hans,male]{O_2}
        }
      }
    }
}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容