家谱树的额外边没有遵循正确的路径。

家谱树的额外边没有遵循正确的路径。

我正在使用该软件包构建家谱genealogytree,遇到了一个小问题。这可能是一个错误,或者有一个解决方法。

c3 的祖父有三个妻子。c3 是第三任妻子 (bb1) 的孩子 (c1) 的后代。我想绘制一条连接曾祖父 (a1) 和 c3 的路径。

以下是 MWE:

\documentclass[]{standalone}
\usepackage[all]{genealogytree}
\begin{document}
\begin{genealogypicture}[
template=formal graph,
extra edges prepend for families={
x={famA}{a1}{b1},
x={famB}{b1}{c1}, 
x={famC}{c1}{c3},
}{
foreground={red!25!yellow,line width=5pt},no background}
]
child[id=famA]{%
   g[id=a1]{a1}
   p[id=a2]{a2}
   child[id=famB]{%
      g[id=b1]{b1}
      p[id=b2]{b2}
      c[id=b3]{b3}
      union[id=famBa]{%
         p[id=ba1]{ba1}
         c[id=ba2]{ba2}
      }
      union[id=famBb]{%
         p[id=bb1]{bb1}
         child[id=famC]{%
            g[id=c1]{c1}
            p[id=c2]{c2}
            c[id=c3]{c3}
         }
      }
   }
}
\end{genealogypicture}
\end{document}

问题在于,沿着路径x={famB}{b1}{c1},黄线沿着错误的路径连接到 c1。 有办法修复这个问题吗,还是这是一个错误?

答案1

你的意思难道x={famBb}{b1}{c1}不是x={famB}{b1}{c1},因为那是与 c1 的并集?(关于额外边的文档说,构造中的父母和孩子“不一定必须是真实的当前家庭成员”,所以无论如何你都会得到结果。)

然后你得到

在此处输入图片描述

答案2

这不是一个解决方案,但它可能是一种有用的解决方法,具体取决于您的具体情况。无论如何,对于评论来说它太长了。

似乎所遵循的路径与主要合作伙伴相对应。因此,如果你可以改变这些关系,你就可以突出相关关系。

例如:

修正关系

正如我所说,我不知道这是否有任何帮助。希望软件包作者能够找到您的帖子并提供令人满意的解决方案。但我认为值得发布此信息,以防万一它在此期间有用。

代码:

\documentclass[border=10pt,tikz]{standalone}
\usepackage[all]{genealogytree}
\begin{document}
\begin{genealogypicture}
  [
    template=formal graph,
    extra edges prepend for families={
      x={famA}{a1}{b1},
      x={famB}{b1}{c1},
      x={famC}{c1}{c3},
    }{
      foreground={red!25!yellow,line width=5pt},no background
    }
  ]
  child[id=famA]{%
    g[id=a1]{a1}
    p[id=a2]{a2}
    child[id=famB]{%
      g[id=b1]{b1}
      union[id=famX]{%
        p[id=b2]{b2}
        c[id=b3]{b3}
      }
      union[id=famBa]{%
        p[id=ba1]{ba1}
        c[id=ba2]{ba2}
      }
        p[id=bb1]{bb1}
        child[id=famC]{%
          g[id=c1]{c1}
          p[id=c2]{c2}
          c[id=c3]{c3}
        }
    }
  }
\end{genealogypicture}
\end{document}

相关内容