我正在使用 tikz-pgf 包绘制两棵树
\begin{frame}
\begin{columns}[c]
\begin{column}{2cm}
\begin{tikzpicture}[scale=0.5]
\tikzstyle{level 1}=[sibling distance=10mm]
\node{f}
child{node{a}}
child{node{f} child{node{b}} child{[red] node{f } child{node{a}} child{node{f} child{node{b}}child{node{b}}} }}
;
\end{tikzpicture}
\end{column}
\begin{column}{2cm}
\begin{tikzpicture}[scale=0.5]
\tikzstyle{level 1}=[sibling distance=10mm]
\node{f}
child{node{a}}
child{node{f} child{node{b}} child{ node{f } child{node{a}} child{node{g} child[missing] child{node{a}}} }}
;
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
结果是:
现在我想用这样的曲线连接这两幅图像
我不知道该怎么做,任何答案都会很感激
答案1
您可以命名节点,并且由于两个节点属于不同的tikzpicture
s,因此您需要使用remember picture, overlay
选项绘制一条连接它们的线:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{columns}[c]
\begin{column}{2cm}
\begin{tikzpicture}[remember picture,overlay,scale=0.5]
\tikzstyle{level 1}=[sibling distance=10mm]
\node{f}
child{node{a}}
child{node{f} child{node{b}} child{[red] node (f1) {f } child{node{a}} child{node{f} child{node{b}}child{node{b}}} }}
;
\end{tikzpicture}
\end{column}
\begin{column}{2cm}
\begin{tikzpicture}[remember picture,overlay,scale=0.5]
\tikzstyle{level 1}=[sibling distance=10mm]
\node (f2) {f}
child{node{a}}
child{node{f} child{node{b}} child{ node{f } child{node{a}} child{node{g} child[missing] child{node{a}}} }}
;
\draw (f1) .. controls (-3,3) .. (f2);
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
\end{document}
如果两棵树都是同一个的一部分tikzpicture
,则无需使用remember picture,overlay
(但我不知道在您的实际文档中是否需要使用两个环境)。