# Drawing tree like structure

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}

-
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.

\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}


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}


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}


-
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):

\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}


-