I have to draw the following figure. What I have now is uggly. Somehow the structure should be more balanced. Is there a way to do this with tikz-qtree? The point is that it is multiple dominance and furthermore the node lables are not within the tree but next to it. The top node does not have a label.






  • That's PSTricks code but the tags are TikZ. Is that on purpose or you just give an example ? – percusse Apr 19 '13 at 12:18
  • This is just how it is supposed to look like. I started tikz-qtree and I am quite happy with the way it works (without having to name nodes explicitly) but I have no idea how to do this with tikz-qtree or tikz without qtree. – Stefan Müller Apr 19 '13 at 12:39

The best way is to use the library trees like Gonzalo but below I give you the traduction of your code in tikz and after some possibilities without trees with only tikz. The last code is the better attempt.

  \node[anchor=base] at (1,0) {German};
  \node[anchor=base] at (3,0) {Dutch};
  \node[anchor=base] at (5,0) {Danish};
  \node[anchor=base] at (7,0) {English};
  \node[anchor=base] at (9,0) {French};
  \node[anchor=base] at (1.5,2) {SOV};
  \node[anchor=base] at (1.5,1.6) {VC};
  \node[anchor=base] at (3,4) {V2};
  \node[anchor=base] at (7.7,2) {SVO};

  \draw (1,0.4) -- (4,5);
  \draw (2,2) -- (3,0.4);
  \draw (3.4,4) -- (5,0.4);
  \draw (5,0.4) -- (7,2);
  \draw (7,2) -- (7,0.4);
  \draw (4,5) -- (9,0.4);

enter image description here

The last code is better like this:

 \begin{tikzpicture}[every node/.style={anchor=base}]
      (1,0)     node {German}     (3,0)     node {Dutch}
      (5,0)     node {Danish}     (7,0)     node {English}
      (9,0)     node {French}     (1.5,2)   node {SOV}
      (1.5,1.6) node {VC}         (3,4)     node {V2}
      (7.7,2)   node {SVO};

     \draw (1,0.4) -- (4,5)   (2,2) -- (3,0.4)  (3.4,4) -- (5,0.4)
           (5,0.4) -- (7,2)   (7,2) -- (7,0.4)  (4,5) -- (9,0.4);

We can get something like Gonzalo :

\begin{tikzpicture}[every node/.style={anchor=base}]
     (4,5)     coordinate (main)
     (1,0)     node (G) {German}     (3,0)     node (DU) {Dutch}
     (5,0)     node (D) {Danish}     (7,0)     node (E)  {English}
     (9,0)     node (F) {French}     (1.5,2)   node (SO) {SOV}
     (1.5,1.6) node (V) {VC}         (3,4)     node (V2) {V2}
     (7.7,2)   node (S) {SVO};

    \draw (main) -- (V2)  -- (V2) -- (SO)   (main) -- (S) -- (E)
            (V2) -- (D)      (S) -- (F) (S)--(D)  (V) -- (G) (V) -- (DU)  ;

enter image description here

But it's better to not use coordinates, without tree's library the better way is


\begin{tikzpicture}[every node/.style={anchor=base},node distance=2cm and 2cm,on grid]
    \path node (GE) {German}  
          node[right=of  GE]             (DU)  {Dutch}    
          node[right=3cm of  DU]         (DA)  {Danish}
          node[right=of  DA]             (EN)  {English}
          node[right=of  EN]             (FR)  {French}
          node[above=of DU,align=center] (VC)  {SOV\\VC}  
          node[above =of EN]             (SVO) {SVO}
          node[above right=of VC]        (V2)  {V2} 
          coordinate[above right=of V2]  (main)   ; 

    \draw (main) -- (V2) -- (VC) -- (GE)      (main) -- (SVO) -- (DA)
                            (VC)--(DU)                  (SVO) -- (EN) 
                    (V2) -- (DA)                        (SVO) -- (FR) ;

enter image description here

  • Thank you very much! This package is so complex and with so many possibilities and it is really great to see it applied to one's own problem. I learned a lot! – Stefan Müller Apr 20 '13 at 9:54

This is one possibility using TikZ; I used the trees library (even though, formally, this isn't a tree):



  level 1/.style={sibling distance=60pt},
  level 3/.style={sibling distance=40pt}
child {node (v2) {V2}
  child {node[text width=2.2em,align=center] {SOV\\VC} 
    child {node {German}} 
    child {node {Dutch}}}
child {
  child {node {SVO} 
    child {node (dan) {Danish}} 
    child {node {English}} 
    child {node {French}}}
\draw (v2) -- (dan);


enter image description here

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.