在家谱树中共享图表的部分内容

在家谱树中共享图表的部分内容

如何在两个不同的genealogytree实例之间重用图表的一部分?这是一个仅使用手动复制的简化代码示例,但我想将第二个实例中的图表提取到命令或类似命令中,以用作第一个树的一部分。

\documentclass{letter}
\usepackage[all]{genealogytree}
\begin{document}
  \begin{autosizetikzpicture}{\linewidth}{}
    \genealogytree[]{
      parent{
        g{Child A}
        parent{
          g{Parent A}
          p{Grandparent A}
          p{Grandparent B}
        }
        parent{
          g{Parent B}
          p{Grandparent C}
          p{Grandparent D}
        }
      }
    }
  \end{autosizetikzpicture}
  \begin{autosizetikzpicture}{\linewidth}{}
    \genealogytree[]{
      parent{
        g{Parent A}
        p{Grandparent A}
        p{Grandparent B}
      }
    }
  \end{autosizetikzpicture}
\end{document}

我尝试在 a 中定义第二棵树newcommand*,但是Package genealogytree Error: Parser: unfeasible token.当我尝试使用它时却得到了结果。

答案1

我认为我找到了一个解决方案,使用insert在§4.10控制序列“插入”(第 75 页)中记录的控制序列手册

\documentclass{letter}
\usepackage[all]{genealogytree}
\begin{document}
  \newcommand*{\secondTree}{%
    parent{
      g{Parent A}
      p{Grandparent A}
      p{Grandparent B}
    }
  }
  \begin{autosizetikzpicture}{\linewidth}{}
    \genealogytree[]{
      parent{
        g{Child A}
        insert{secondTree}
        parent{
          g{Parent B}
          p{Grandparent C}
          p{Grandparent D}
        }
      }
    }
  \end{autosizetikzpicture}
  \begin{autosizetikzpicture}{\linewidth}{}
    \genealogytree[]{
      insert{secondTree}
    }
  \end{autosizetikzpicture}
\end{document}

相关内容