有没有办法在 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}