我的期望是:
我曾尝试过:
\documentclass{book}
\usepackage{tikz,tikz-qtree, tikz-qtree-compat}
\usepackage{gb4e}%
\begin{document}
\begin{exe}
\ex \begin{tabular}[t]{l}%\toprule%[-12pt]
\begin{tikzpicture}\label{bicycletree}
%\tikzset{level distance = 25pt}
\Tree[.DP [.D [.D ] [.Agr$^D$ $[+$m$+$h$+$pl$]$ ] ] [.NumP [.Num [.n$_j$ [.\node(id3){$v_i$}; \node(id2){$\surd$BOY}; ] [.n $+m,+h$ ] ] [.Num $[+]$pl ] ] [.nP [.n$_j$ ] [.\node(id1){v$_i$}; ] ] ] ]
\draw[semithick,<->] (id2)..controls +(south west:5) and +(south:5)..(id1);
\end{tikzpicture}
%\vspace{-38pt}
\end{tabular}
\end{exe}
\end{document}
输出
我怎样才能达到第一张图片中的输出效果?请提出建议....
答案1
存在空间的原因是控制点的位置。+(south west:5) and +(south:5)
通过减少极坐标中的距离将它们向上移动,例如+(south west:2.5) and +(south:3)
。
添加附加箭头的一种方法是沿着第一个箭头添加一个坐标,然后从该坐标绘制第二个箭头。我只是反复试验才找到合适的值pos
。
最后,对于垂直对齐,添加baseline
到的选项中tikzpicture
。
\documentclass{book}
\usepackage{tikz,tikz-qtree, tikz-qtree-compat}
\usepackage{gb4e}%
\begin{document}
\begin{exe}
\ex \begin{tabular}[t]{l}%\toprule%[-12pt]
\begin{tikzpicture}[baseline]
\label{bicycletree}
%\tikzset{level distance = 25pt}
\Tree[.DP [.D [.D ] [.Agr$^D$ $[+$m$+$h$+$pl$]$ ] ] [.NumP [.Num [.n$_j$ [.\node(id3){$v_i$}; \node(id2){$\surd$BOY}; ] [.n $+m,+h$ ] ] [.Num $[+]$pl ] ] [.nP [.n$_j$ ] [.\node(id1){v$_i$}; ] ] ] ]
\draw[semithick,<->] (id2)..controls +(south west:2.5) and +(south:3)..(id1) coordinate [pos=0.17] (tmp);
\draw [->, semithick] ([xshift=-\pgflinewidth]tmp) to[bend left=40] (id3);
\end{tikzpicture}
%\vspace{-38pt}
\end{tabular}
\end{exe}
\end{document}