In my previous question about arrow:

Connect vertices of a regular poly by curved arrows

I'm trying to now position the very end tip of the arrowhead absolutely.

Basically I have want the arrowhead to come in on some specific point on the node(such as the bottom) BUT I want to specify the angle in comes in on(or goes out).

If I just specify [out, in] it changes the position of the arrow and doesn't work well. I need some way to fix the end points of the arrow so that [out, in] do not affect the position.

To understand this. Suppose the very tip of the arrowhead is fixed at some point on a node(the bottom, corner, or edge) but suppose the angle which it "enters" the node is wrong(due to it being a curved arrow like my previous question) or you just want to change it. By using [out, in] it will change the position and not just the angle.

\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,red](\source)to[out=180, in=60](\destination);

If you don't understand the question change the line in the code in the link to the above. (simply replace bend right with out=180, in=60)

In this case you'll notice that all the arrow heads(and ends) point in the same direction BUT in each case the position relative to the node is different.

In the above picture you can see that all the arrowheads point in the same direction but touch the node at different positions. The top one is north, the top left is northwest, etc... I want them all to be north, for example, or all be at the bottom of the node(assume each node's top points away from the center of the circle).

  • We would understand much better if you can just show some piece of code. You already have a working solution from the previous question. Why don't you just draw some arrows over that picture where you want things to be?
    – percusse
    Aug 19, 2012 at 16:41
  • @percusse You understand the problem now? Aug 20, 2012 at 3:47

1 Answer 1


I'm not sure to answer the question! you can try specifying the attachment point on the node, but in any case, if you are using the option shorten the points can not be identical

\node[draw](source) at (0,0){};

\node[draw](destination) at (2,5){};
\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,red](source.180)to[out=180, in=30](destination.60);
\draw[-stealth,shorten <=0.2cm,shorten >=0.2cm,thick,blue](source.180)to[out=180, in=60](destination.60);
\node[draw](source) at (0,0){};

\node[draw](destination) at (2,5){};
\draw[-stealth,shorten <=0.2cm,thick,red](source.180)to[out=180, in=30](destination.60);
\draw[-stealth,shorten <=0.2cm,thick,blue](source.180)to[out=180, in=60](destination.60);


enter image description here

  • That's it. I didn't know you could specity the angle around the box as an anchor simply by using .angle on the node name. Thanks. Aug 20, 2012 at 11:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .