哇,好⼤⼀棵树!——如何优雅地画句法树形图⼁语⾔学午餐相信很多语⾔学、⾮语⾔学学⽣,在看到句法学的书上、论⽂上、试卷上出现这样的东西——
你想的第⼀个问题可能是——
这XX是什么?
当你知道这是句法树形图之后,你想的第⼆个问题可能是:
教科书上那些树是怎么画出来的
⼩编今天就给⼤家简单讲解⼀下该如何使⽤软件来 “画树”,是不是很兴奋?!
当然如果你是 LaTex ⾼级玩家,这篇⽂章不适合你,建议你去写⼀篇详细攻略来造福⼴⼤⼈民
众..……
⼩编想介绍三种画树⽅法,分别可以推荐给⼊(电)门(脑)玩(苦)家(⼿)、中等玩家、
⾼(强)端(迫)的(症)玩(患)家(者)三类童鞋。
本篇就先介绍前两种,下⼀次会介绍如何使⽤ LaTex 来画树。
⼊门玩家篇:在线软件 phpSyntaxTree
其实⽬前⽹络上有⾮常多的在线⽹站可以⽣成语⾔学树,⼩编在这⾥就介绍⼀款简单实⽤的软
件:phpSyntaxTree。这款软件直接在⽹站上就可以使⽤,不需要下载,是由⼀个⼩型软件公司
ironcreek开发的,完全免费。
具体使⽤⽅法也很简单,就是⽤中括号 [ ] 来绘制所有的节点,举⼀个例⼦:
[S [NP phpSyntaxTree][VP [V creates][NP nice syntax trees]]]
给句法学菜鸟的贴⼼提⽰:S、NP、VP、V 等等都是⾔学结构名称,分别是句⼦、名词短语、
动词短语和动词。
跟在这些属性分类词汇后⾯的则是具体的语⾔成分,这个例⼦⽣成的树是这样的:
“phpSyntaxTree这个软件可以画出漂亮的句法树”
可以看到,在最外括号的S是树的根(root),⽽S括号内的 NP VP 两个括号成分,则是 S 的⼦节。
或许你已经注意到,这个软件还⾃动⽀持“三⾓形”的简略画法,如果在⼀个 [ ] 是以P开头的类型词,且该 [ ] 没有其他中括号且有复数的语⾔成分存在,那么就会⾃动⽣成⼀个“三⾓形”来进⾏简略结构,这⾥按照标杆理论的画法,省略了 -N’-N 的部分。
另外,这个软件⽀持同类型节点的⾃动标号功能,就像图中出现的NP1, NP2,当然,如果你不需要的话,也是可以关闭⾃动标号的功能的,把 Auto subscript 前的勾去掉即可,同理也可以去掉三⾓形的标注。
同时,phpSyntaxTree 也⽀持⿊⽩树(去掉Color前的勾),变换字体⼤⼩等功能。phpSyntaxTree 是⼀个⾮常简单易⽤的软件,可以满⾜⼤家写论⽂的⼀些简单需求。
当然 phpSyntaxTree 也有⼀些弊端,⽐如不能随意地表达结构,也不能表达结构的位移(movement)和⼀些特殊的结构。为了实现这些功能,我们需要⼀些新的软件。
中等玩家篇:TreeForm
第⼆款推荐的软件是 TreeForm,是使⽤ Java 编程的⼀款画树软件,2006年2⽉发布,是由Donald Derrick (⼀位计算机和电⼦⼯程系的教授)和 UBC 的语⾔学家们联合开发的⼀款软件。TreeForm ⽀持 Windows, Mac, Linux 等主流平台。
TreeForm 的界⾯是这个样⼦:
如果说 phpSyntaxTree 还需要你掌握简单的语法的话,那么 TreeForm 的使⽤可以说是更加⽆脑,直接通过选择左侧⼯具栏的树状结构,拖曳⾄左侧空⽩区域即可。
那么下⾯来简单介绍⼀下,如果需要画⼀个和上⽂相同的树的具体步骤(不唯⼀):
⾸先使⽤ F9 的 Binatry Tree,并将节点改成对应的名称。
不知道是不是 Mac 版本的问题,这⾥似乎存在⼀个⼩bug,使⽤ Binary Tree 的时候,左侧节点⽆法使⽤⼤写字母表⽰节点。为了解决这个问题,我们将 F1 Node Down 拖曳到左侧节点的位置,改上相应名称。
哇怎么组词
再对 NP1 使⽤⼀次 F1,打上 TreeForm
同理,对VP使⽤两次 F1,构建 V 和 NP2 节点:
在构建 NP2 的时候,也就是第⼆次对 VP 使⽤ F1 的时候,会出现选择在已有的 V 节点左侧或是右侧的选项,直接拖曳即可。
最后将 F4 Triangle 拖曳到 NP2 节点,打上⽂字,就画好啦。
再简单讲⼀讲如何使⽤ TreeForm 来画位移 Movement,假设我们有⼀个相同结构的树,但是NP1 的位置是空置的,我们需要将 NP2 移到 NP1 的位置。
选择 Movement 的功能键,拖曳⾄位移起点的节点NP2,出现蓝⾊剪头之后再拖曳⾄终点节点NP1,位移就完成了。同时也可以⽤⽂本编辑的功能画上删除线。
总体来说,TreeForm 是⼀款相对功能⽐较强⼤软件,可以满⾜⼤部分语⾔学树的需求,有很多功能⼤家也可以慢慢探索。TreeForm 也⽀持格、特征、三叉树等等功能。另外,相⽐phpSyntaxTree,TreeForm 可以即时保存,所以下次可以继续操作或者进⾏编辑,这也是⼀⼤优点。
但也有⼀些缺点,⽐如在 TreeForm 中很难回到母节点进⾏编辑,如果发现⾃⼰在过程中出现了差错就得全盘重来,位移标记的位置不够准确等等。所以,如果⼤家想⽤ TreeForm 来进⾏操作的话,建议先打好草稿,否则半路重来可是很难过的...
今天就先给⼤家介绍这两种⽐较简单的画树⽅法。第三种(LaTeX)下⼀次再给⼤家介绍。