在语法树的森林(tikz)中,如何在一个节点上方创建一个弧,将其与树的其余部分分开?

在语法树的森林(tikz)中,如何在一个节点上方创建一个弧,将其与树的其余部分分开?

这里'我想要的图片示例:

在此处输入图片描述

我可以用以下命令制作我想要的弧类型:

\draw (-2,-2) [black,thick,dashed,domain=45:180] plot ({cos(\x)}, {sin(\x)}) ;

但它总是在树的最顶端创建圆弧,即使我将命令放在树中我想要圆弧的节点中。这是我使用的代码:

begin{forest}
[TP [T\textsuperscript{0}]
[vP [DP\textsubscript{???},circle,draw]
[v' [v\textsuperscript{0}]
[VP,tikz={\draw[black,thick,dashed,domain=45:180] (2,2) plot ({cos(\x)}, {sin(\x)}) ;}
[V\textsuperscript{0}] [DP\textsubscript{???},circle,draw]
]]]]
\end{forest}

答案1

您可以使用name=键来命名一些参考节点,然后使用路径arc来绘制圆弧:

\documentclass{article}
\usepackage{forest}
\usepackage{fixltx2e}
\begin{document}

\begin{forest}
[TP 
  [T\textsuperscript{0}]
  [vP 
    [DP\textsubscript{???},circle,draw]
    [v' 
      [v\textsuperscript{0}]
      [VP
        [V\textsuperscript{0},name=left] 
        [DP\textsubscript{???},circle,draw]
      ]
    ]
  ]
]
\draw[double] 
  ([xshift=-12pt]left) arc[start angle=180,end angle=60,radius=2cm];
\end{forest}

\end{document}

在此处输入图片描述

相关内容