2

I am taking a Syntax course currently and I would like my homework to conform to my professor's convention of leaving out edges between each token and its category label (as he says that edges correspond to applications of PSG rules, which leaves out lexical parsing). Is there any way of creating a syntax tree using qtree/tikz-qtree so that, for leaf nodes, there is no edge between each atom and its category label? (I say atom rather than word, because of tricky cases like the English genitive 'swhich behaves as a Determiner rather than a mere affix)

As an example, something approximating this (although obviously formatted as an actual syntax tree). Having a gap between the label and token would be fine as well, since I am avoiding edges/branches rather than prefering distance (although a small gap is preferable to a degree)


   DP
  /  \
 D   NP
the   |
      N'
      |
      N
     book

4

Using tikz-qtree:

\documentclass[12pt]{standalone}

\usepackage{tikz-qtree,tikz-qtree-compat}
\tikzset{every tree node/.style={align=center,anchor=north}}
\begin{document}

\Tree 
[.TP
    [.DP [.D\\the ] [.NP [.N\\man ]]]
    [.T\1
        [.T\\will ]
        [.VP
            [.V\\eat ]
            [.DP [.D\\a ] [.NP [.N\\burger ]]]
        ]
    ]
]

\end{document}

The same syntax works with qtree (without the tikzset command, of course). But you might find it easier to use forest instead:

\documentclass[12pt]{standalone}

\usepackage[linguistics]{forest}
\begin{document}

\begin{forest} 
[TP
    [DP [D\\the ] [NP [N\\man ]]]
    [T’
        [T\\will ]
        [VP
            [V\\eat ]
            [DP [D\\a ] [NP [N\\burger ]]]
        ]
    ]
]
\end{forest}

output of code

| improve this answer | |
2

It's also straightforward with plain qtree: Node text can contain newlines, so it's a question of writing the leaves as D\\the, for example. The parser will handle these as a unit as long as there's no space anywhere. If you ever want an "atom" with a space, enclose the whole thing in braces (e.g., {Adj\\a propos})

\Tree [.NP D\\the [.NP N\\man ] ]

The double backslash is the real LaTeX command, so to get a gap between POS and terminal, just use the optional argument:

\Tree [.NP D\\[6pt]the [.NP N\\[6pt]man ] ]

It's also possible to adjust the qtree settings so that the line skip for leaves is larger by default. Let me know if you'll be using plain qtree and want to use this option.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.