
我有以下樹,其中最左邊的葉子不同步:
\documentclass{minimal}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}
\tikzset{level 1+/.style={level distance=3\baselineskip}}
\tikzset{level 2+/.style={level distance=2\baselineskip}}
\tikzset{frontier/.style={distance from root=8\baselineskip}}
\tikzset{every tree node/.style={align=left, anchor=north}}
\tikzset{every leaf node/.append style={text depth=0pt}}
\Tree[.S
[.NP er\\he ]
[.NP
[.Det das\\the ]
[.N Buch\\book ] ]
[.NP
[.Det der\\the ]
[.N Frau\\woman ] ]
[.V gibt\\gives ] ]
\end{tikzpicture}
\end{document}
我跟著
將幾棵樹與基線對齊
並添加了\tikzset{every leaf node/.append style={text depth=0pt}}
,但這沒有任何效果。
答案1
如果你願意使用強大的forest
包(內部使用 PGF/TikZ):
\documentclass{article}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
parent anchor=south,
child anchor=north,
align=left,
base=bottom
},
where n children=0{tier=word}{}
[S
[NP [er\\he] ]
[NP
[Det [das\\the] ]
[N [Buch\\book] ]
]
[NP
[Det [der\\the] ]
[N [Frau\\woman] ]
]
[V [gibt\\gives] ]
]
\end{forest}
\end{document}
要將所有節點內容居中,請將align=left更改為align=center(當然,這只能針對葉子或根據其他情況進行)。
\documentclass{article}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
parent anchor=south,
child anchor=north,
align=center,
base=bottom
},
where n children=0{tier=word}{}
[S
[NP [er\\he] ]
[NP
[Det [das\\the] ]
[N [Buch\\book] ]
]
[NP
[Det [der\\the] ]
[N [Frau\\woman] ]
]
[V [gibt\\gives] ]
]
\end{forest}
\end{document}
base=bottom
事實上,這裡不需要該選項,因為所有葉子都有兩行。