我是 Forest 软件包的新手。本质上,我试图获得如下所示的内容:
每个节点(甚至是空节点)的分支角度都很大且匹配,并且分支之间没有间隙。到目前为止,我的树是这样的:
\forestset{ xlist/.style={ phantom, for children={no edge,replace by={[,append,
delay={content/.wrap pgfmath arg={\csname @alph\endcsname{##1}.}{n()+#1}}
]}}
},
xlist/.default=0
}
\begin{forest}
[vP, for tree={parent anchor=south, child anchor=north},
delay={where content={}{shape=coordinate}{}}
[DP[\textit{il mare}]]
[
[v$_{\textrm{\footnotesize{\sc caus}}}$[\textit{si}]]
[SC
[DP[\textit{la casa},tier=word1]]
[V$_{\textrm{\footnotesize{Adjectival}}}$[\textit{bruciata}, tier=word1]]
]
edge={}]
]
\end{forest}
从而达到以下结果:
谢谢大家的帮助!
答案1
手册forest
提供了nice empty nodes
样式,在下面的代码中对其进行了稍微修改。请注意,您的xlist
样式实际上并未在您的代码中使用。
\documentclass{article}
\usepackage{forest}
\forestset{
nice empty nodes/.style={
for tree={calign=fixed edge angles, calign angle=60},
delay={where content={}{shape=coordinate,
for current and siblings={anchor=north}}{}}
}
}
\begin{document}
\begin{forest}
[vP, for tree={parent anchor=south, child anchor=north}, nice empty nodes
[DP[\textit{il mare}]]
[
[v$_{\textrm{\footnotesize{\sc caus}}}$[\textit{si}]]
[SC
[DP[\textit{la casa},tier=word1]]
[V$_{\textrm{\footnotesize{Adjectival}}}$[\textit{bruciata}, tier=word1]]
]
edge={}]
]
\end{forest}
\end{document}
答案2
编辑:
- 对于你的树,我会使用
linguistics
库。使用它,代码会更短更简单。 - 该
for tree
选项if n children=0{font=\itshape}{}
适用于斜体文本。 - 该命令
\textsubscript
用于下标文本:
\documentclass[margin=3mm]{standalone}
\usepackage[linguistics]{forest} % v2.1.5
\begin{document}
\begin{forest}
for tree={inner sep=2pt,
% anchor=center
if n children=0{font=\itshape}{},
}
[vP
[DP
[il mare]
]
[, coordinate
[v\textsubscript{\textsc{caus}}
[si]
]
[SC
[DP
[la casa]
]
[V\textsubscript{Adjectival}
[bruciata]
]
]
]
]
\end{forest}
\end{document}