
У меня есть синтаксическое дерево с угловыми скобками для представления движения:
\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}