Here's an example with forest. It is straightforward, once you have styles defined for the kinds of trees you need, to apply them. Trees can then be specified extremely concisely.
In this case, we define a style my tree
and then apply it to a tree as follows:
\begin{forest}
my tree
[Aardvarks
[Agglomeration
[
[
[Aggrandisement]
[Artificiality]
]
]
]
[Anticipation
[Ants]
[Ant-Eaters, tikz={\draw [densely dashed, ->, red] (.parent anchor) [out=45, in=135] to (!s.parent anchor);}]
]
]
\end{forest}
To produce

The longest part of this is the arrow showing the ant-eaters eating the ants. But if you often need to illustrate that nature is red in tooth and claw, you could easily set up a style for this and just say e.g.
[Ant-Eaters, tooth and claw]
to achieve the same result. But this is probably not a standard feature of linguistic trees and unnecessary here.
\documentclass[tikz,border=10pt,multi]{standalone}
\usepackage{forest}
\forestset{
my tree/.style={
for tree={
parent anchor=north,
child anchor=south,
grow=90,
},
nice empty nodes up
},
nice empty nodes up/.style={% modified from page 52
for tree={calign=fixed edge angles},
delay={where content={}{shape=coordinate,for parent={for children={anchor=south}}}{}}
}
}
\begin{document}
\begin{forest}
my tree
[Aardvarks
[Agglomeration
[
[
[Aggrandisement]
[Artificiality]
]
]
]
[Anticipation
[Ants]
[Ant-Eaters, tikz={\draw [densely dashed, ->, red] (.parent anchor) [out=45, in=135] to (!s.parent anchor);}]
]
]
\end{forest}
\end{document}
xypic
but they really assume you are drawing single rooted n-ary trees with downward branches, typically with node labels.ps-
packages for drawing trees, which seem comparable to some of the TikZ packages. (Not forest, probably, but probably tikz-qtree etc.) At least, I believe so.tikz-qtree
orforest
(both of which usetikz
) is relatively trivial. It's only the standard tree methods intikz
that are slow to input. These packages use a bracketed notation which is very fast to input.