LaTeX,qtree:图形树分支的颜色和动画

LaTeX,qtree:图形树分支的颜色和动画

我正在尝试制作beamer一个简单二叉树解析的动画。我想使用不同颜色的分支和节点标签来编码解析器的不同步骤和/或为解析制作动画。我不知道如何\pause在树中间使用。这可能吗?

如果我尝试为树的每个阶段制作单独的框架,LaTeX 会自动调整所有内容的大小,因此一个节点在第一张幻灯片上占据了很大的空间,但当它与其子节点连接时,在第二张幻灯片上占用的空间就小了……所以看起来很奇怪。不像是一步一步构建的结构。

任何建议将不胜感激!

{\Tree [.1 [.2 a ] [.3 [.4 b ] [.5 c ] ] ]}

答案1

对于简单的动画,例如一次显示树的不同层级,您可以只使用\only<>连续更大的树。如果您[t]在框架上使用对齐选项,则不会出现您提到的间距问题。

\documentclass{beamer}
\usepackage{tikz}
\usepackage{tikz-qtree}
\tikzset{edge from parent/.style={draw,very thick}}
\begin{document}
\begin{frame}[t]
    \frametitle{A tree}
    \begin{tikzpicture}
    \only<1>{\Tree [.A B C ]}
    \only<2>{\Tree [.A [.B D E ] [.C ]]}
    \only<3>{\Tree [.A [.B D E ] [.C F G ]]}
    \only<4>{\Tree [.A [.B \edge[red]; \node{D}; \edge[blue]; \node{E}; ] [.C [.F H I ] G ]]}
    \end{tikzpicture}
\end{frame}

\end{document}

给树枝上色相当容易(我在树的最后一个版本中给出了一个例子);然而,使用相同的技术来为所有东西制作动画并不是很容易。

答案2

\documentclass{beamer}
\usepackage{qtree}
\begin{document}
\begin{frame}[t]{A tree}

\Tree [.1 [ .2 \pause a ] [.3 [.4 \pause b ] [.5 \pause c ] ] ]

\end{frame}
\end{document}

相关内容