关系语法弧

关系语法弧

我习惯于为不同的语言理论绘制句法树甚至 AVM,但我偶然发现需要为正在撰写的一篇论文绘制关系语法/弧配对语法弧(在 Google 图片中搜索“关系语法”以了解这些弧的样子)。有没有人有对此有用的软件包?

谢谢!

答案1

以下示例展示了如何使用 TikZ 手工绘制这些图表之一。我不清楚自动化此操作的合理语法是什么;我不在 RG 框架中工作,所以我不知道什么才是合理的。为子句联合或子句缩减结构制作更复杂的图表也可能需要手工完成。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,intersections,matrix}
\begin{document}
\begin{tikzpicture}[
stratum/.style={red, shorten <=-10pt,shorten >=-10pt},
arc/.style={-latex}
]
\coordinate (root);
\matrix (S) [below=3cm of root,matrix of nodes]
{
eat & woman & apple\\
};
\draw [arc,name path=Pred]  (root)  to [bend right=40] 
   coordinate [pos=.5] (P) coordinate [pos=.75] (P2) (S-1-1) ;
\draw [arc,name path=Two]  (root)  to [bend left=10] (S-1-2) ;
\draw [arc,name path=One] (root)  to [bend left=50] 
   coordinate [pos=.5] (2) coordinate [pos=.75] (1) (S-1-3) ;
\draw[stratum,name path=Stratum1] (P) to  [bend left=20] (2);
\draw[stratum,name path=Stratum2] (P2) to  [bend left=20] (1);
\fill [name intersections={of=Stratum1 and Pred,by={[label=above left:P]}}];
\fill [name intersections={of=Stratum1 and One,by={[label=above right:2]}}];
\fill [name intersections={of=Stratum1 and Two,by={[label=above left:1]}}];
\fill [name intersections={of=Stratum2 and Pred,by={[label=above left:P]}}];
\fill [name intersections={of=Stratum2 and One,by={[label=above right:1]}}];
\fill [name intersections={of=Stratum2 and Two,by={[label=above left:Cho]}}];
\end{tikzpicture}

``The apple was eaten by the woman.''
\end{document}

代码输出

相关内容