如何在两张图片 tikz-pgf 之间绘制连接线

如何在两张图片 tikz-pgf 之间绘制连接线

我正在使用 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

您可以命名节点,并且由于两个节点属于不同的tikzpictures,因此您需要使用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(但我不知道在您的实际文档中是否需要使用两个环境)。

相关内容