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 am quite new to LaTeX, and I am stuck with a problem Google can't seem to help me with. Basically, I need some hand holding in doing something that is more complicated than my skills can handle at this moment.

Basically, what I want to do is this:

enter image description here

I can currently get as far as the tree shown on the right side of the image above, using the following code:

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{upgreek}
\begin{document}

\begin{tikzpicture}
    \Tree [ [ \node(onset){r}; ] [ \node(mora1){e}; ].$\upmu$ [  ].\node(mora2){$\upmu$}; ].$\upsigma$
    \draw (mora1) -- (mora2);
\end{tikzpicture}

\end{document}

However, that's the best I know how to do. What I still need:

  • how do I draw a curved line instead of a straight one?
  • most importantly, how can I make two parent nodes share one child node, without it looking like crap as it does now?

I realize these may be noobish questions, but please understand that I did try Googling my problem and I just couldn't find the information I needed. The full TikZ manual is way over my head, and the tikz-qtree manual doesn't cover my case.

Thanks very much for any pointers you can give me.

share|improve this question
1  
Technically, if a child has two parents then that is no longer a tree. It might be possible to do this using tree syntax, but is a solution using tikz-qtree essential or would you accept a more general one? –  Loop Space Oct 5 '12 at 12:39

1 Answer 1

up vote 5 down vote accepted

As Andrew notes, autosegmental representations of the sort you are drawing aren't really trees. If you are likely to be drawing a lot of these, you might want to investigate the very powerful (but also very complicated) pst-asr package.

In the meantime, here's a hybrid approach using tikz-qtree but positioning the segmental tier manually using TikZ's scope mechanism.

\documentclass{article}
\usepackage{tikz-qtree}
\usetikzlibrary{positioning}
\usepackage{upgreek}

\begin{document}

\begin{tikzpicture}[level 1/.style={sibling distance=.75cm}]
\Tree [.\node (syll) {$\upsigma$}; [.\node(m1) {$\upmu$}; ] [.\node (m2) {$\upmu$}; ] ]
\begin{scope}[yshift=-2cm]
\node (e) {e};
\node (r) [left=1cm of e] {r};
\draw (e.north) -- (m1);
\draw (e.north) -- (m2);
\draw (r.north) edge[out=90,in=180] (syll.south);
\end{scope}
\end{tikzpicture}

\end{document}

output of code

share|improve this answer

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.