Beamer 与 genealogytree 覆盖规格?

Beamer 与 genealogytree 覆盖规格?

有没有办法在 genealogytree 中使用带有选项的 beamer 覆盖规范?在此示例中,我想首先显示一棵树,然后显示同一棵树,并将选项“highlight”应用于一个节点。我该如何编写它,而不是将其作为两个框架,以便[highlight]仅用于<2>

\documentclass{beamer}

\usepackage[all]{genealogytree}

\gtrset{highlight/.style={box={colback=yellow!20}}}

\begin{document}
\frame{
  \frametitle{Example}
  \begin{tikzpicture}
    \genealogytree[template=signpost]{
      parent{
        p{father}
        p{mother}
        g{child}
      }
    }
  \end{tikzpicture}
}
\frame{
  \frametitle{Example}
  \begin{tikzpicture}
    \genealogytree[template=signpost]{
      parent{
        p{father}
        p{mother}
        g[highlight]{child}
      }
    }
  \end{tikzpicture}
}
\end{document}

答案1

您可以使用它\only,但通过将其移到树外面来稍微帮助树解析器。

\documentclass{beamer}

\usepackage[all]{genealogytree}

\gtrset{highlight/.style={box={colback=yellow!20}}}

\begin{document}

  \newcommand\tmp[1]{%
    \genealogytree[template=signpost]{
        parent{
        p{father}
        p{mother}
        g[#1]{child}
  }}}
\begin{frame}
  \frametitle{Example}
  \begin{tikzpicture}
        \only<1>{\tmp{}}%
        \only<2>{\tmp{highlight}}%
  \end{tikzpicture}
  
\end{frame}


\end{document}

相关内容