Autosegmentale Darstellung in tikz-qtree

Autosegmentale Darstellung in tikz-qtree

Das ist, was ich erreichen möchte

Verknüpfung von den „mu“s zu „a“

und das:

Verknüpfung von „O“ bis „l“

Aber alles, was ich mit tikz-qtree machen konnte, ist Folgendes:

\documentclass[12pt,a4]{article}
\usepackage[utf8]{inputenc}
\usepackage{tipa,tikz,tikz-qtree}
\begin{document}

\begin{tikzpicture} [baseline]
\tikzset{frontier/.style={distance from root=90pt}}
\Tree
[.$\sigma$ [.O [ p ] ]
[.R [.$\mu$ a ] [.$\mu$ : ] ] ]
\end{tikzpicture}
\begin{tikzpicture} [baseline]
\tikzset{frontier/.style={distance from root=90pt}}
\Tree
[.$\sigma$ [.O [ p ] ]
[.R [.$\mu$ a ]  ] ]
\end{tikzpicture}

Und das:

\begin{tikzpicture}[baseline]
\tikzset{frontier/.style={distance from root=90pt}}
\Tree
[.$\sigma$ [.O [ l ] ]
[.R [.$\mu$ a ] [.$\mu$ l ] ] ]
\end{tikzpicture}
\begin{tikzpicture} [baseline]
\tikzset{frontier/.style={distance from root=90pt}}
\Tree
[.$\sigma$ [.O [ : ] ]
[.R [.$\mu$ a ] [ l ] ] ]
\end{tikzpicture}
\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Und

Bildbeschreibung hier eingeben

Der wichtige Teil hier ist die Verknüpfung von den Blättern zu mehr als einem übergeordneten Element (es wäre schön, wenn ich die Option hätte, die Linie auch gestrichelt zu machen). Nun, pst-asr erreicht nicht ganz das, was ich will. Es ist wichtig, dass ich die Moras ('mu's) habe. (Außerdem ist es ein pstricks-Paket, was bedeutet, dass ich es in DVIPSPDF setzen muss.) Ich habe ein bisschen das forest-Paket ausprobiert (insbesondere forest-GP1), aber ich kann das auch nicht so zum Laufen bringen, wie ich will. Schließlich haben einige xyling empfohlen, aber ich finde dieses Paket sehr schwierig zu verwenden.

Irgendwelche Empfehlungen?

Danke.

Antwort1

Eigentlich waren Sie definitiv auf dem richtigen Weg: Einige kleinere Ergänzungen zu Ihrem Code funktionieren gut. Dies baut auf der Tatsache auf, dass s tikz-qtree.styverwendet werden können \node, die benannt werden können und deren Namen als Koordinaten für \drawing verwendet werden können. Das zweite Beispiel ist etwas komplexer, da hier eine Linie zwischen zwei Bäumen gezogen wird, die \begin{scope}...\end{scope}für die beiden Bäume erforderlich ist, damit sie nebeneinander erscheinen können. Sie können die Position des zweiten Baums anpassen, indem Sie den xshiftBetrag ändern.

\documentclass{article}

\usepackage{tikz}
\usepackage{tikz-qtree}

\begin{document}

\begin{tikzpicture} [baseline]
\begin{scope}
\Tree
[.$\sigma$ [.O [ p ] ]
[.R [.$\mu$ \node[red](a){a}; ] \node(m){$\mu$}; ] ]
\draw (m.south) -- (a.north);
\end{scope}
\begin{scope}[xshift=0.65in]
\tikzset{frontier/.style={distance from root=90pt}}
\Tree
[.$\sigma$ [.O [ p ] ]
[.R [.$\mu$ a ]  ] ]
\end{scope}
\end{tikzpicture}

\begin{tikzpicture}[baseline]
\begin{scope}
\Tree
[.$\sigma$ [.O [ l ] ]
[.R [.$\mu$ a ] [.$\mu$ \node(l){l}; ] ] ]
\end{scope}
\begin{scope}[xshift=0.75in]
\Tree
[.$\sigma$ [.\node(O){O};  ]
[.R [.$\mu$ a ] [ l ] ] ]
\draw[dashed] (O.south) -- (l.north);
\end{scope}
\end{tikzpicture}

\end{document}

Das ergibt Folgendes:

Aktuelle Ausgabe.

Antwort2

Dies ist mit viel einfacher zu bewerkstelligen forest. Sie können die phantomOption verwenden, Bäume nebeneinander zu platzieren, und da jede Silbe eine Tochter des Phantomknotens ist, können Sie Knoten für die Zweige mit mehreren Domänen benennen. Da diese Linien mit regulären TikZ-Befehlen gezeichnet werden, müssen Sie auch die entsprechende Tochter zu einem Phantom machen. Sie können der Linie beliebige Verzierungen hinzufügen (z. B. [dashed]) mit regulären TiKZ-Optionen. Hier sind Ihre beiden ausgearbeiteten Beispiele.

Zuerst habe ich einen Stil namens festgelegt syll, der die Knotenverbindungen so eng macht, wie wir es aus der Linguistik kennen. Da wir außerdem möchten, dass die Segmente aneinander ausgerichtet sind und die Zweige bis zur Segmentebene reichen, habe ich alle tochterlosen Knoten der segEbene zugewiesen. Außerdem habe ich einige Makros für Silben und Moras erstellt.

\documentclass{article}
\usepackage{forest}
\newcommand{\syl}{$\sigma$}
\newcommand{\mor}{$\mu$}
\forestset{syll/.style=
   {for tree={parent anchor=south,child anchor=north,
              align=center,inner sep=0pt,
              where n children=0{tier=seg}{}}}}
\begin{document}
\begin{forest}syll
[,phantom, s sep=1em
[\syl [O [p,tier=seg ]]
      [R [\mor [a,name=aa] ] [\mor,name=M [,phantom] ]]]
[\syl [O [p,tier=seg ]]
      [R [\mor [a] ]]]
]
\draw (M.south) -- (aa.north);
\end{forest}

\begin{forest}syll
[,phantom, s sep=1em
[\syl [O [l ]]
      [R [\mor [a]] [\mor [l,name=LL]]]]
[\syl [O,name=O [,phantom] ]
      [R [\mor [a] [l]]]]
]
\draw[dashed] (O.south) -- (LL.north);
\end{forest}


\end{document}

Ausgabe des Codes

Antwort3

Sie können in pst-asr erreichen, was Sie wollen, und wenn Sie XeTeX verwenden, ist alles in Ordnung (was für die Linguistik ohnehin empfohlen wird). Ich sitze jetzt nicht vor meinem Computer, also Code und Ausgabe später!

BEARBEITEN

Hier ist der Code.

\documentclass{article}

\usepackage{pst-asr}
    \psset{everyasr=\tiershortcuts}
    \newpsstyle{dashed}{linestyle=dashed,dash=3pt 2pt}

\begin{document}

\newtier{con}
\psset{con=7ex (O)}
\newtier{sig}
\psset{sig=13ex (O)}
\asr[reptype=nots, sy=2ex ($\mu$)] |
    \@(0,ph){p}
    \@(1,ph){a}
    \@(3,ph){p}
    \@(4,ph){a}
    \@(1,sy){$\mu$}\-(1,ph)
    \@(2,sy){$\mu$}\-(1,ph)
    \@(4,sy){$\mu$}\-(4,ph)
    \@(0,con){O}\-(0,ph)
    \@(1,con){R}\-(1,sy)\-(2,sy)
    \@(3,con){O}\-(3,ph)
    \@(4,con){R}\-(4,sy)
    \@(.5,sig){$\sigma$}\-(0,con)\-(1,con)
    \@(3.5,sig){$\sigma$}\-(3,con)\-(4,con)
\endasr

\bigskip

\asr[reptype=nots, sy=2ex ($\mu$)] |
    \@(0,ph){l}
    \@(1,ph){a}
    \@(2,ph){l}
    \@(4,ph){a}
    \@(5,ph){l}
    \@(1,sy){$\mu$}\-(1,ph)
    \@(2,sy){$\mu$}\-(2,ph)
    \@(4,sy){$\mu$}\-(4,ph)
    \@(0,con){O}\-(0,ph)
    \@(1,con){R}\-(1,sy)\-(2,sy)
    \@(3,con){O}\-[style=dashed](2,ph)
    \@(4,con){R}\-(4,sy)\-(5,ph)
    \@(.5,sig){$\sigma$}\-(0,con)\-(1,con)
    \@(3.5,sig){$\sigma$}\-(3,con)\-(4,con)
\endasr

\end{document}

Und die Ausgabe.

Ausgabe

verwandte Informationen