在两个不同的点上连接两棵家谱树

在两个不同的点上连接两棵家谱树

以下 LaTeX 文档包含两个在 上连接的家谱树Matilde Oltre。现在我想Vittorio MolettiModesta Oltre(Matilde 的姐姐)一起成为一对夫妇,并有Rina MolettiSanta Moletti作为他们的女儿

\documentclass{article}
\usepackage[paperwidth=500mm,paperheight=500mm]{geometry}
\usepackage[all]{genealogytree}
\begin{document}
    %   \section{First Test}
    \begin{tikzpicture}
        \genealogytree[template=signpost, id suffix=@main_tree]
        {
            child
            {
                g[male]{Arnaldo Moletti}
                p[female]{Santa Moletti}
                
                
                child
                {
                    g[female]{Lucia Moletti}
                    c[female]{Carla Parenti}
                }
                c[male]{Felicetto Moletti}
                child
                {
                    g[male]{Vittorio Moletti}
                    c[female]{Santa Moletti}
                    c[female]{Rina Moletti}
                }
                child
                {
                    g[male]{Romoluccio Moletti}
                    p[female, id=matilde_oltre]{Matilde Oltre}
                    child
                    {
                        g[male]{Arnaldo Moletti}                        
                    }
                    child
                    {
                        g[female]{Luciana Moletti}                      
                    }
                }
            }
            
        }
        \genealogytree[template=signpost, id suffix=@oltre_tree, set position=matilde_oltre@oltre_tree at matilde_oltre@main_tree]
        {
            child
            {
                g[male]{Felice Oltre}
                p[female]{Lucrezia Endemore}
                child
                {
                    g[female, id=matilde_oltre]{Matilde Oltre}
                }
                child
                {
                    g[female]{Modesta Oltre}
                }
            }
        }
    \end{tikzpicture}
\end{document}

原始树

为了实现这一点我尝试

$ diff -urNr albero_genealogico_stackoverflow.tex albero_genealogico_stackoverflow_2.tex 
--- albero_genealogico_stackoverflow.tex      2022-12-28 19:07:01.493305752 +0100
+++ albero_genealogico_stackoverflow_2.tex    2022-12-28 19:09:53.124633376 +0100
@@ -21,6 +21,7 @@
                                child
                                {
                                        g[male]{Vittorio Moletti}
+                                       p[female, id=modesta_oltre]{Modesta Oltre}
                                        c[female]{Santa Moletti}
                                        c[female]{Rina Moletti}
                                }
@@ -40,7 +41,7 @@
                        }
 
                }
-               \genealogytree[template=signpost, id suffix=@oltre_tree, set position=matilde_oltre@oltre_tree at matilde_oltre@main_tree]
+               \genealogytree[template=signpost, id suffix=@oltre_tree, set position=matilde_oltre@oltre_tree at matilde_oltre@main_tree, set position=modesta_oltre@oltre_tree at modesta_oltre@main_tree]
                {
                        child
                        {
@@ -52,7 +53,7 @@
                                }
                                child
                                {
-                                       g[female]{Modesta Oltre}
+                                       g[female, id=modesta_oltre]{Modesta Oltre}
                                }
                        }
                }

但我得到了一个巨大的重叠

重叠的树木

此类尝试的完整 LaTeX 代码

\documentclass{article}
\usepackage[paperwidth=500mm,paperheight=500mm]{geometry}
\usepackage[all]{genealogytree}
\begin{document}
    %   \section{First Test}
    \begin{tikzpicture}
        \genealogytree[template=signpost, id suffix=@main_tree]
        {
            child
            {
                g[male]{Arnaldo Moletti}
                p[female]{Santa Moletti}
                
                
                child
                {
                    g[female]{Lucia Moletti}
                    c[female]{Carla Parenti}
                }
                c[male]{Felicetto Moletti}
                child
                {
                    g[male]{Vittorio Moletti}
                    p[female, id=modesta_oltre]{Modesta Oltre}
                    c[female]{Santa Moletti}
                    c[female]{Rina Moletti}
                }
                child
                {
                    g[male]{Romoluccio Moletti}
                    p[female, id=matilde_oltre]{Matilde Oltre}
                    child
                    {
                        g[male]{Arnaldo Moletti}                        
                    }
                    child
                    {
                        g[female]{Luciana Moletti}                      
                    }
                }
            }
            
        }
        \genealogytree[template=signpost, id suffix=@oltre_tree, set position=matilde_oltre@oltre_tree at matilde_oltre@main_tree, set position=modesta_oltre@oltre_tree at modesta_oltre@main_tree]
        {
            child
            {
                g[male]{Felice Oltre}
                p[female]{Lucrezia Endemore}
                child
                {
                    g[female, id=matilde_oltre]{Matilde Oltre}
                }
                child
                {
                    g[female, id=modesta_oltre]{Modesta Oltre}
                }
            }
        }
    \end{tikzpicture}
\end{document}

你能帮帮我吗?谢谢

答案1

您可以尝试给 一个 ,将每对夫妇的孩子都包括在 中,@oltre_tree并给id中剩余的父母 一个@main_tree。然后,您只需要add parent= id_person to id_family,最后,您可以将 Matilde Oltre 放在 Romoduccio Moletti 旁边adjust node= id_person right/left of id_person distance xx cm

我还上下移动了相关家族的边缘,以便可以区分它们。

\documentclass{article}
\usepackage[paperwidth=500mm,paperheight=500mm]{geometry}
\usepackage[all]{genealogytree}
\begin{document}
    %   \section{First Test}
    \begin{tikzpicture}
        \genealogytree[template=signpost, id suffix=@main_tree]
        {
            child
            {
                g[male]{Arnaldo Moletti}
                p[female]{Santa Moletti}
                
                
                child
                {
                    g[female]{Lucia Moletti}
                    c[female]{Carla Parenti}
                }
                c[male]{Felicetto Moletti}
                c[male, id=Vittorio_Moletti]{Vittorio Moletti}
                c[male, id=Romoluccio_Moletti]{Romoluccio Moletti}
            }
            
        }
        \genealogytree[template=signpost,id suffix=@oltre_tree, adjust node=matilde_oltre@oltre_tree right of Romoluccio_Moletti@main_tree distance 0.2cm, add parent= Romoluccio_Moletti@main_tree to fam_Matilde_Oltre@oltre_tree, add parent=Vittorio_Moletti@main_tree to fam_Modesta_Oltre@oltre_tree]
        {
            child
            {
                g[male]{Felice Oltre}
                p[female]{Lucrezia Endemore}
                child[id=fam_Matilde_Oltre, edges up by=1 of 6]
                {
                    g[female, id=matilde_oltre]{Matilde Oltre}
                    child
                    {
                        g[male]{Arnaldo Moletti}                        
                    }
                    child
                    {
                        g[female]{Luciana Moletti}                      
                    }
                }
                child[id=fam_Modesta_Oltre, edges down by= 1 of 6]
                {
                    g[female]{Modesta Oltre}
                    c[female]{Santa Moletti}
                    c[female]{Rina Moletti}
                }
            }
        }
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容