
我有一個帶有尖括號的語法樹來表示移動:
\begin{tikzpicture}
\Tree [
.TP [
.T' \node{T+verb}; [
.vP \qroof{`ana}.DP [
.v' \node{v+{\textlangle}verb{\textrangle}}; [
.VP [
.V' \node{V+{\textlangle}verb{\textrangle}}; \qroof{taalib}.DP
]
]
]
]
]
]
\end{tikzpicture}
我需要在三個節點之間繪製箭頭,但是 tikz-qtree 文件中的範例不起作用;使用
\draw[semithick,->] (V+{\textlangle}verb{\textrangle}).. controls +(south west:5)
and +(south:5) .. (v+{\textlangle}verb{\textrangle});
我得到:
! TeX capacity exceeded, sorry [input stack size=5000].
\font@name ->
\OT1/cmr/m/n/10
l.23 ...ick,->] (V+{\textlangle}verb{\textrangle})
..controls +(south west:5)...
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.
我猜想在節點名稱中使用符號會弄亂它。我可以指定一件事用於顯示,另一件事用作節點名稱嗎?或者有其他方法可以解決這個問題嗎?
答案1
建立節點時,不同用途有不同的分隔符號:
\node[options](node name){node content};
任何有關的選項例如,節點的外觀在方括號中指定。可以node name
用作draw
ing 的座標,在括號中指定。最後,節點的內容(實際顯示在圖片中的文字)在大括號中指定。
\documentclass{standalone}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat,textcomp}
\begin{document}
\begin{tikzpicture}
\Tree [
.TP [
.T' \node{T+verb}; [
.vP \qroof{`ana}.DP [
.v' \node(A){v+{\textlangle}verb{\textrangle}}; [
.VP [
.V' \node(B){V+{\textlangle}verb{\textrangle}}; \qroof{taalib}.DP
]
]
]
]
]
]
\draw [thick,red] (A) to[out=270,in=180] (B);
\end{tikzpicture}
\end{document}