我需要画一个箭头,使用\draw[semithick,->] (t)..controls +(south west:5) and +(south:5) .. (wh);
。
我想要箭头连接e3
到下面树的底部和其中e3
较高位置出现的单个节点:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{ulem}
\begin{document}
\begin{tikzpicture}
\Tree [.{$<$t$_{1}$,\hspace{0.1cm} \\$\lbrack$ \hspace{0.3cm} $\rbrack$, $\lbrack$ \hspace{0.3cm} $\rbrack$ $>$} [.{$<$(e$_{3}$ $\rightarrow$ t$_{1}$) $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$} \node(wh){something} ;]
[.{$<$(e$_{3}$ $\rightarrow$ t$_{1}$), \hspace{0.1cm} \\$\lbrack$ e$_{2}$ $\rbrack$, \hspace{0.1cm} \\$\lbrack$ \hcancel{e$_{3}$}
\thinspace $\rbrack$ $>$ } [.{e$_{3}$} ]
[.\node[draw]{{$<$t$_{1}$, \hspace{0.1cm} \\$\lbrack$ e$_{2}$ $\rbrack$, \hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$ }};
[.\node[draw]{e$_{2}$ }; ]
[.{$<$(e$_{2}$ $\rightarrow$ t$_{1}$), \hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$} [.{$<$(e$_{3}$ $\rightarrow$ e$_{2}$ $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ $\emptyset$ $\rbrack$ $>$} {$<$(e$_{3}$ $\rightarrow$ e$_{2}$ $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ $\emptyset$ $\rbrack$ $>$} ]
[.\node[draw]{e$_{3}$ };
[. e$_{3}$; ] ] ] ] ] ] ] ]
\end{tikzpicture}
\end{document}
我怎样才能做到这一点?
答案1
只需将\node
这些元素的名称与 s 一起使用,然后使用名称连接它们:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{ulem}
\def\hcancel#1{}% provissional definition; delete this line in your actual code
\begin{document}
\begin{tikzpicture}
\Tree
[.{$<$t$_{1}$,\hspace{0.1cm} \\$\lbrack$ \hspace{0.3cm} $\rbrack$, $\lbrack$ \hspace{0.3cm} $\rbrack$ $>$}
[.{$<$(e$_{3}$ $\rightarrow$ t$_{1}$) $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$} \node(wh){something} ;
]
[.{$<$(e$_{3}$ $\rightarrow$ t$_{1}$), \hspace{0.1cm} \\$\lbrack$ e$_{2}$ $\rbrack$, \hspace{0.1cm} \\$\lbrack$ \hcancel{e$_{3}$}
\thinspace $\rbrack$ $>$ }
[. \node (ue) {e$_{3}$}; ]
[.\node[draw]{{$<$t$_{1}$, \hspace{0.1cm} \\$\lbrack$ e$_{2}$ $\rbrack$, \hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$ }};
[.\node[draw]{e$_{2}$ }; ]
[.{$<$(e$_{2}$ $\rightarrow$ t$_{1}$), \hspace{0.1cm} \\$\lbrack$ e$_{3}$ $\rbrack$ $>$}
[.{$<$(e$_{3}$ $\rightarrow$ e$_{2}$ $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ $\emptyset$ $\rbrack$ $>$} {$<$(e$_{3}$ $\rightarrow$ e$_{2}$ $\rightarrow$ t$_{1}$),\hspace{0.1cm} \\$\lbrack$ $\emptyset$ $\rbrack$ $>$}
]
[.\node[draw]{e$_{3}$ };
[. \node (le) {e$_{3}$}; ]
]
]
]
]
]
\draw[semithick,->]
(le)..controls +(south west:5) and +(south:5) .. (ue);
\end{tikzpicture}
\end{document}
由于我不知道 \hcancel 命令来自哪里,我提供了一个简单的定义
\def\hcancel#1{}
使示例代码可编译。在实际代码中删除该定义。