I need to draw an arrow between 2 nodes but not from the center of the node. When I use a position modificator a new arrow end appears at the starting point.

This is a minimal example:

  \matrix [column sep=1cm,row sep=3cm]{
    \node [] (node1) {Node 1}; \\
    \node [] (node2) {Node 2}; \\

  \begin{scope}[every path/.style={draw, thick,-latex',shorten >= 2pt}]
    \path[bend right] (node1) edge (node2);
    \path[bend right] (node1.south) edge (node2);
    \path[bend right] (node1.south east) edge (node2);

And this is what I get:


Any advice, please?

1 Answer 1


Set every edge/.style instead of the every path/.style:

\begin{scope}[every edge/.style={draw, thick,-latex',shorten >= 2pt}]

With this modification to your code I get the desired result:

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.