在森林边缘绘制椭圆

在森林边缘绘制椭圆

我有以下幻灯片代码。我想在箭头周围画一个红色椭圆。我希望它只出现在一个覆盖层上,以便在解释期间将焦点放在那里。

enter image description here

\documentclass{beamer}

\usepackage{forest}
\useforestlibrary{linguistics}
\forestapplylibrarydefaults{linguistics}



\begin{document}

\frame{


\begin{forest}
[S
  [NP$_x$ [he,tier=words]]
  [VP x z y
    [V, [V x y,edge={<-},tier=words [baked]]]
    [NP$_z$ [her,tier=words]]
    [NP$_y$ [a cake,roof,tier=words]]]]
\end{forest}

}

\end{document}

答案1

坐标基本上就是大小为零的节点。无论如何,fit坐标和节点一样好用,因此您只需使用相关的父锚点和子锚点即可。

ellipsed arrow

\documentclass[border=10pt]{standalone}
\usepackage[linguistics]{forest}
\usetikzlibrary{shapes.geometric,fit}
\begin{document}
\begin{forest}
  [S
    [NP$_x$
      [he,tier=words]
    ]
    [VP x z y
      [V,
        [V x y,edge={<-}, tier=words, tikz+={
          \node [fit=(.child anchor) (!u.parent anchor), draw, ellipse, inner ysep=1.5pt] {};
        }
          [baked]
        ]
      ]
      [NP$_z$
        [her,tier=words]
      ]
      [NP$_y$
        [a cake,roof,tier=words]
      ]
    ]
  ]
\end{forest}
\end{document}

如果你经常需要这样做,当然可以创建一种风格。我还会拉直右边的边缘,因为我觉得它看起来不太好看。

\documentclass[border=10pt]{standalone}
\usepackage[linguistics]{forest}
\usetikzlibrary{shapes.geometric,fit}
\forestset{%
  circle edge/.style={
    tikz+={
          \node [fit=(.child anchor) (!u.parent anchor), draw, ellipse, inner ysep=1.5pt] {};
        }
  },
}
\begin{document}
\begin{forest}
  [S
    [NP$_x$
      [he,tier=words]
    ]
    [VP x z y
      [V,
        [V x y,edge={<-}, tier=words, circle edge
          [baked]
        ]
      ]
      [NP$_z$, calign with current
        [her,tier=words]
      ]
      [NP$_y$
        [a cake,roof,tier=words]
      ]
    ]
  ]
\end{forest}
\end{document}

<code>circle edge</code> with straightened edge

答案2

您可以,tikz={\node[inner sep=1pt,draw=blue,anchor=center,yshift=-2.93cm,xshift=-0.05cm,ellipse, minimum width=0.5cm, minimum height=0.8cm] {};}在节点后添加V。不好:需要明确移至箭头。

大小可以通过minimum width=<length>和来定义minimum height=<length>

对于线宽,您还可以使用thick,,ultra thick...

enter image description here

代码:

\documentclass{beamer}

\usepackage{forest}
\useforestlibrary{linguistics}
\forestapplylibrarydefaults{linguistics}
\begin{document}

\frame{


\begin{forest}
[S
  [NP$_x$ [he,tier=words]]
  [VP x z y
    [V,tikz={\node[inner sep=1pt,draw=blue,anchor=center,yshift=-2.93cm,xshift=-0.05cm,ellipse, minimum width=0.5cm, minimum height=0.8cm] {};} [V x y,edge={<-},tier=words [baked]]]
    [NP$_z$ [her,tier=words]]
    [NP$_y$ [a cake,roof,tier=words]]]]
\end{forest}

}

\end{document}

相关内容