Seta TikZ vertical ancorada no centro do alvo

Seta TikZ vertical ancorada no centro do alvo

Considere este exemplo:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \node[left] at (0,0) (Source) {Source};
    \draw [very thick, ->] (0.15,-0.02) -- (2.5,0.48);
    \node[right] at (2.5,0.5) (Target1) {abcdefgh};
    \node at (Target1) (Target1arrow) {};
    \draw [very thick, ->] (2.35,0.52) -- (0,0.02);
    \node[right] at (2.5,-0.5) (Target2) {abcdefg};
    \node at (Target2) (Target2arrow) {};
    \draw [very thick, ->] (0.15,-0.02) -- (2.5,-0.5);
    \draw [very thick, ->, shorten <= .5ex, shorten >= .5ex] (Target1arrow) -- (Target2arrow);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Entendo que a seta vertical começa no ponto médio Target1e aponta para o ponto médio de Target2, mas neste caso em que os comprimentos desses dois alvos são quase idênticos, ficaria melhor se a seta fosse reta. Em outras palavras, gostaria que o início da seta estivesse ancorado no ponto central de Target2. Tentei adicionar anchor = Target2.baseesta seta à função de desenho, mas não surtiu efeito.

Responder1

Primeiro, existe a opção de colocar o nó abaixo do outro (explicou Pier Paolo).

E há também a sintaxe (node1 |- node2)que desenha a linha verticalmente. Neste caso, o final da seta é escrito como (Target1arrow |- Target2arrow.north).

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \node[left] at (0,0) (Source) {Source};
  \draw [very thick, ->] (0.15,-0.02) -- (2.5,0.48);
  \node[right] at (2.5,0.5) (Target1) {abcdefgh};
  \node at (Target1) (Target1arrow) {};
  \draw [very thick, ->] (2.35,0.52) -- (0,0.02);
  \node[right] at (2.5,-0.5) (Target2) {abcdefg};
  \node at (Target2) (Target2arrow) {};
  \draw [very thick, ->] (0.15,-0.02) -- (2.5,-0.5);
  \draw [very thick, ->, shorten <= .5ex, shorten >= .5ex] (Target1arrow) -- (Target1arrow |- Target2arrow.north);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada