TiKZ faz com que as linhas que conectam nós tenham os mesmos pontos finais

TiKZ faz com que as linhas que conectam nós tenham os mesmos pontos finais

Usando o MWE abaixo:

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

Eu recebo uma saída assim:

O final da primeira seta e o início da segunda seta não coincidem

A árvore ficaria muito melhor e acho que seria mais intuitivamente correta se o ponto final da seta de "V+" e o ponto inicial da seta de "v+" estivessem no mesmo lugar, talvez com um pequeno ponto preto para conectá-los . Isso mostraria melhor que o mesmo verbo está realizando os dois movimentos. Alguém sabe como fazer isso?

Responder1

Você pode adicionar um nó com um ponto e em vez de usar ângulos de entrada e saída, usar o bendparâmetro.

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

Também fiz algumas outras alterações ( \1em vez de `'' para números primos e um comando para marcar traços, o que poupará muita digitação.

saída de código

Responder2

Você já tem uma solução com um ponto preto, mas também pode brincar com as âncoras inicial e final. Com B.240a sintaxe você seleciona o ponto na borda do nó no ângulo 240. Veja o exemplo

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

insira a descrição da imagem aqui

informação relacionada