Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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.

\documentclass{minimal}

\usepackage{pstricks}


\begin{document}

\begin{pspicture}(0,0)(10,10)
\rput[B](1,0){German}
\rput[B](3,0){Dutch}
\rput[B](5,0){Danish}
\rput[B](7,0){English}
\rput[B](9,0){French}
\rput[B](1.5,2){SOV}
\rput[B](1.5,1.6){VC}
\rput[B](3,4){V2}
\rput[B](7.7,2){SVO}

\psline(1,0.4)(4,5)
\psline(2,2)(3,0.4)
\psline(3.4,4)(5,0.4)
\psline(5,0.4)(7,2)
\psline(7,2)(7,0.4)
\psline(4,5)(9,0.4)
%\psgrid
\end{pspicture}

\end{document}
share|improve this question
    
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
add comment

2 Answers 2

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.

\begin{tikzpicture}
  \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);
\end{tikzpicture}

enter image description here

The last code is better like this:

 \begin{tikzpicture}[every node/.style={anchor=base}]
     \path  
      (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);
 \end{tikzpicture}

We can get something like Gonzalo :

\begin{tikzpicture}[every node/.style={anchor=base}]
    \path  
     (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)  ;
\end{tikzpicture}

enter image description here

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

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\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) ;
\end{tikzpicture}
\end{document}

enter image description here

share|improve this answer
    
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
add comment

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

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}

\begin{document}

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

\end{document}

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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