我想逐步开发在 Beamer 演示期间创建的图表。以下是 MWE:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{layered}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\graph[layered layout]
{%
"1" -- {"2", "3"},
{"2", "3"} -- "4",
% \only<2->{{"2", "3"} -- "4",}
{"2", "3"} -- "5",
% \only<3->{{"2", "3"} -- "5",}
{"4", "5"} -- "6",
% \only<4->{{"4", "5"} -- "6",}
};
\end{tikzpicture}
\end{frame}
\end{document}
注释行表明了我的意图,但它们导致了错误。
非常感谢您的帮助。
答案1
您可以使用该overlay-beamer-styles
库:
% !TeX TS-program = lualatex
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{layered}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\graph[layered layout]
{%
"1" -- {"2", "3"},
{"2", "3"} -- [draw on=<2->] "\alt<2->{4}{\phantom{4}}",
{"2", "3"} -- [draw on=<3->] "\alt<3->{5}{\phantom{5}}",
{"\alt<2->{4}{\phantom{4}}", "\alt<3->{5}{\phantom{5}}"} -- [draw on=<4->] "\alt<4->{6}{\phantom{6}}",
};
\end{tikzpicture}
\end{frame}
\end{document}
答案2
samcarter 已经介绍了使用该库的好想法overlay-beamer-styles
。
他们使用\alt
宏的另一种方法是使用visible on
此库提供的选项。它本质上将选项opacity
和设置text opacity
为零,这意味着您不会得到任何布局偏移,甚至可以保留节点名称。您需要将此选项同时应用于边和节点。
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{layered}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\graph[layered layout]
{%
"1" -- {"2", "3"},
{"2", "3"} -- [visible on=<2->] "4" [visible on=<2->],
{"2", "3"} -- [visible on=<3->] "5" [visible on=<3->],
{"4", "5"} -- [visible on=<4->] "6" [visible on=<4->],
};
\end{tikzpicture}
\end{frame}
\end{document}