TiKZ sorgt dafür, dass Linien, die Knoten verbinden, dieselben Endpunkte haben

TiKZ sorgt dafür, dass Linien, die Knoten verbinden, dieselben Endpunkte haben

Verwenden Sie das folgende MWE:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{ textcomp }

\begin{document}
\begin{tikzpicture}
\Tree [ 
  .TP [ 
      .T' \node(C){T+verb}; [
          .vP \qroof{`ana}.DP [
             .v' \node(B){v+{\textlangle}verb{\textrangle}}; [
                 .VP [
                     .V' \node(A){V+{\textlangle}verb{\textrangle}}; \qroof{taalib}.DP 
                 ]
             ]
          ]
      ]
  ]
]
\draw [semithick,->] (A) to[out=270,in=180] (B);
\draw [semithick,->] (B) to[out=270,in=180] (C);
\end{tikzpicture}
\end{document}

Ich erhalte eine Ausgabe wie diese:

Das Ende des ersten Pfeils und der Anfang des zweiten Pfeils stimmen nicht überein.

Der Baum würde viel besser aussehen und meiner Meinung nach auch intuitiver sein, wenn der Endpunkt des Pfeils von „V+“ und der Startpunkt des Pfeils von „v+“ an derselben Stelle wären, vielleicht mit einem kleinen schwarzen Punkt, der sie verbindet. Das würde besser zeigen, dass beide Bewegungen dasselbe Verb ausführen. Weiß jemand, wie man das erreicht?

Antwort1

Sie können einen Knoten mit einem Punkt hinzufügen und anstelle von Ein- und Auswinkeln den bendParameter verwenden.

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usetikzlibrary{positioning}
\newcommand\TR[1]{\textlangle#1\textrangle}
\usepackage{ textcomp }

\begin{document}
\begin{tikzpicture}
\Tree [ 
  .TP [ 
      .T\1 \node(C){T+verb}; [
          .vP \qroof{`ana}.DP [
             .v\1 \node(B){v+\TR{verb}}; [
                 .VP [
                     .V\1 \node(A){V+\TR{verb}}; \qroof{taalib}.DP 
                 ]
             ]
          ]
      ]
  ]
]
\draw [semithick] (A.south) edge [bend left=70,->,shorten >=.2em] (B.south) 
    node (D) [draw, fill, circle, minimum size=2pt,below = -.25em of B.south,
       inner sep=0pt] {} ;
\draw [semithick] (D) edge [bend left=70,->,shorten <=.5em] (C);
\end{tikzpicture}
\end{document}

Ich habe auch ein paar andere Änderungen vorgenommen ( \1anstelle von `'' für Primzahlen und einen Befehl zum Markieren von Spuren, der Ihnen viel Tipparbeit erspart.

Ausgabe des Codes

Antwort2

Sie haben bereits eine Lösung mit einem schwarzen Punkt, aber Sie können auch mit Start- und Endankern spielen. Mit B.240der Syntax wählen Sie einen Punkt auf der Knotengrenze bei Winkel 240 aus. Sehen Sie sich das Beispiel an

\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}
\usepackage{ textcomp }

\begin{document}
\begin{tikzpicture}
\Tree [ 
  .TP [ 
      .T' \node(C){T+verb}; [
          .vP \qroof{`ana}.DP [
             .v' \node(B){v+{\textlangle}verb{\textrangle}}; [
                 .VP [
                     .V' \node(A){V+{\textlangle}verb{\textrangle}}; \qroof{taalib}.DP 
                 ]
             ]
          ]
      ]
  ]
]
\draw [semithick,->] (A) to[out=270,in=270] (B.south);
\draw [semithick,->] (B.240) to[out=240,in=180] (C);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen