家谱中的二代表兄妹婚姻

家谱中的二代表兄妹婚姻

我想在 genealogytree 包中模拟表亲之间的婚姻。以下 MWE 说明了这种情况。左树的代码类似。

\documentclass{article} 
\usepackage[all]{genealogytree}              
\usepackage{amsmath}                         
\usepackage{amsfonts}
\usepackage{graphicx}                       
\usepackage{yfonts}
\usepackage{suetterl}
\usepackage{txfonts}
\usepackage{pgfornament}
\usepackage{tikz}
\usepackage{calligra}
\usepackage{pagecolor} 
\usepackage[pages=some]{background}


\begin{document} 
    \begin{tikzpicture} 
    \genealogytree[id suffix=@a, timeflow = down,
    child distance in parent graph=1mm,
    child distance in child graph=1mm
    ]{


        child{ 

    g[male]{A'}
    p[female]{B'} 
    child{ 
    g[male]{C'} 
    p[female]{D'} 
    child{
    g[male]{E'}
}
}   
}
}
\end{tikzpicture} 

\end{document} 

在此处输入图片描述

我想将两个家族的两端连接起来,用亮线表示。使用 set id 选项可以轻松将一端的两棵家谱树(即包括丈夫/妻子的祖先)连接起来。例如,使用 set id 选项可以轻松建模从 E 和 E' 的交点向上到 E 和 E' 的独立树的树。但我如何在顶部再次连接树,即让 A 和 A' 共享相同的父母,但属于不同的 genealogytree{ ...} 命令?

编辑:

在回答完薛定谔的猫之后,我想重新表述一下这个问题。我不想画线,而是想在 genealogytree 的选项中添加一棵树,以整合上面描述的关系。让我尽可能详细地说明给出的内容和我的意图。我在这里看到三棵独立的家谱树:

1) 我有一组父母 0M 和 0F,他们没有在图中显示,也有祖先。0M 和 0F 有一个孩子 A,孩子 A 有一个孙子 E。我想将其建模为树 1

2) E 有自己的孩子、孙子等。我称之为树 2. E 的祖先,即 0M 和 0F 以及他们的祖先,通过家谱树中的“设置位置 id”选项添加到树 2 中。

现在困难出现在第三个三。

3) 0M 和 0F 的另一个儿子 A' 也有一个孙子 E'。A' 的树应称为树 3。他的孙子现在嫁给了树 1 的 E,他是他的二表兄。我想解决的问题是如何将树 3 定位在树 1 的上半部分 0M 和 0F 处,将树 2 定位在下半部分。我该怎么做?

答案1

这基本上是重复@cfr 对你上一个问题的回答。为节点指定 ID,然后使用它们。这里的新内容是范围和库的使用calc

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

\begin{document} 
\begin{tikzpicture} 
\begin{scope}[xshift=-7cm]
    \genealogytree[id suffix=@a', timeflow = down,
    child distance in parent graph=1mm,
    child distance in child graph=1mm
    ]{


        child{ 

    g[male,id=A]{A'}
    p[female]{B'} 
    child{ 
    g[male]{C'} 
    p[female]{D'} 
    child{
    g[male,id=E]{E'}
}
}   
}
}
\end{scope}
%
\genealogytree[id suffix=@a, timeflow = down,
    child distance in parent graph=1mm,
    child distance in child graph=1mm
    ]{


        child{ 

    g[male,id=A]{A}
    p[female]{B} 
    child{ 
    g[male]{C} 
    p[female]{D} 
    child{
    g[male,id=E]{E}
}
}   
}
}
%
\begin{scope}[thick]
\draw (A@a'.north) -- ($(A@a'.north)!0.8!([email protected] west)+(0,1.5)$) --
([xshift=1mm][email protected] west);
\draw (E@a') -- ($(E@a'.south)!0.6!([email protected])+(0,-1.5)$) -- (E@a);
\end{scope}
\end{tikzpicture} 

\end{document} 

在此处输入图片描述

请注意,截至目前,该图对于基本文章类别来说有点太宽,但我认为您会像我们大多数人一样,使用该geometry包将页面做得更宽一些。

相关内容