我一直在尝试画一棵这样的树:
但是我遇到了一个问题,节点名称显然太长了...所以下面的代码不起作用。(如果你用替换$\lambda x.\lambda e. \text{eating}(e) \land \text{agent}(e,x) \land \text{theme}(e, \textsc{food}) \land \textsc{benefactive}(e,\text{wife})$
,aaa
它就会起作用。)有什么办法可以解决这个问题吗?
\documentclass[11pt]{article}
\usepackage{linguex}
%\usepackage{cgloss}
\usepackage[linguistics]{forest}
\begin{document}
\ex.
\begin{forest}
[\textbf{VoiceP}
[he]
[$\lambda x.\lambda e. \text{eating}(e) \land \text{agent}(e,x) \land \text{theme}(e, \textsc{food}) \land \textsc{benefactive}(e,\text{wife})$
[T\\will ]
[VP
[V\\eat ]
[DP [D\\a ] [NP [N\\burger ]]]
]
]
]
\end{forest}
\end{document}
(我修改之前的代码来源:https://amunn.github.io/assets/latex/overleaf-trees.pdf)
答案1
在森林节点内,逗号使节点内容与最终的本地样式设置不同。因此,在节点内容应包含逗号的情况下,整个节点内容必须封装在花括号中:
\documentclass[11pt]{article}
%\usepackage{linguex}
\usepackage{amsmath}
\usepackage[linguistics]{forest}
\begin{document}
\begin{forest}
for tree = {
align=center,
}
[\textbf{VoiceP}
[he]
[${\lambda x.\lambda e. \text{eating}(e) \land \text{agent}(e,x)}$\\
${\land\, \text{theme}(e,\textsc{food}) \textsc{benefactive}(e,\text{wife})}$, draw
[T\\will ]
[VP
[V\\eat ]
[DP [D\\a ]
[NP
[N\\burger ]
]
]
]
]
]
\end{forest}
\end{document}