我已经使用 tikz 包绘制了一棵树,如下所示
\begin{tikzpicture}
\tikzstyle{level 1}=[sibling distance=40mm]
\tikzstyle{level 2}=[sibling distance=20mm]
\tikzstyle{level 3}=[sibling distance=10mm]
\node{S}
child{node{N} child{node{mary}} }
child{node{VP}
child{node{V} child{node{brought }}}
child{node{NP} child{node{D} child{node{a}}} child{node{N} child{node{cat}}} }
child{node{PP} child{node{IN} child{node{to}}} child{node{N} child{node{school}}} } }
;
\end{tikzpicture}
我的照片的结果是这样的
现在我想在图片中画一个椭圆和一些文字来描述她
我该怎么做,任何答案都会很感激
答案1
命名节点并使用fit
库:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit,shapes}
\begin{document}
\begin{tikzpicture}[every fit/.style={ellipse,draw,red,inner sep=-2pt},]
\tikzstyle{level 1}=[sibling distance=40mm]
\tikzstyle{level 2}=[sibling distance=20mm]
\tikzstyle{level 3}=[sibling distance=10mm]
\node (S) {S}
child{node (n) {N} child{node (mary) {mary}} }
child{node (VP) {VP}
child{node{V} child{node{brought }}}
child{node (np) {NP} child{node{D} child{node (a) {a}}} child{node{N} child{node (cat) {cat}}} }
child{node{PP} child{node{IN} child{node{to}}} child{node{N} child{node{school}}} } }
;
\node[fit=(np) (a) (cat)] {};
\node[fit=(n) (mary)] {};
\node[right=1cm,red] at (S) {S $\rightarrow$ N VP};
\node[right=1cm,red] at (VP) {VP $\rightarrow$ V NP PP};
\end{tikzpicture}
\end{document}