如何合并底部对齐和向上对齐的树?

如何合并底部对齐和向上对齐的树?

我有一个句子有两种可能的含义 - 因此,有两种可能的句法树。

我读过的文件tikz-qtree并学会了如何制作倒置的树。但我找不到将两棵树合二为一的方法;两棵树都指向同一个句子。

这是我目前的代码:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{tikz-dependency}

\begin{document}

\begin{tikzpicture}[frontier/.style={distance from root=5cm}]
\Tree [.S [.SN [.Det o ] [.N menino ] ] [.SV [.Vtd viu ] [.SN [.Det a ] [.N menina ] ] [.SP [.P com ] [.SN [.Det o ] [.N telescópio ] ] ] ] ] 
\end{tikzpicture}
\par 
\begin{tikzpicture}[frontier/.style={distance from root=5cm}, grow'=up ]
\Tree [.S [.SN [.Det o ] [.N menino ] ] [.SV [.SV [.Vtd viu ] [.SN [.Det a ] [.N menina ] ] ] [.SP [.P com ] [.SN [.Det o ] [.N telescópio ] ] ] ] ]
\end{tikzpicture}

\end{document}

结果如下:

在此处输入图片描述

我该怎么做才能让这种结构只有一棵树(或者更好的说法是:两棵树只导致一个句子)?

答案1

一个快速的解决方案是使第二句的单词高度为零但具有原始宽度(带有\hphantom,即水平幻影),然后手动调整树之间的空间以使它们看起来合并了。

请注意,手动间隔可能会导致上部树最终位于下部树的栅栏后面的问题(类似地,我猜当通过望远镜看女孩时,拍摄对象最终可能会位于栅栏后面)。

梅威瑟:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuguese]{babel}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{tikz-dependency}
\begin{document}

\begin{tikzpicture}[frontier/.style={distance from root=5cm}]
\Tree [.S [.SN [.Det o ] [.N menino ] ] [.SV [.Vtd viu ] [.SN [.Det a ] [.N menina ] ] [.SP [.P com ] [.SN [.Det o ] [.N telescópio ] ] ] ] ] 
\end{tikzpicture}
\par\vspace{-2.5mm}
\begin{tikzpicture}[frontier/.style={distance from root=5cm}, grow'=up ]
\Tree [.S [.SN [.Det \hphantom{o} ] [.N \hphantom{menino} ] ] [.SV [.SV [.Vtd \hphantom{viu} ] [.SN [.Det \hphantom{a} ] [.N \hphantom{menina} ] ] ] [.SP [.P \hphantom{com} ] [.SN [.Det \hphantom{o} ] [.N \hphantom{telescópio} ] ] ] ] ]
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

相关内容