# Why does my arrow head size decrease?

I have a short LaTeX Tikzpicture. I draw three arrows on three paths.

• The first arrow is on a circle-node surrounding text.
• The second arrow is on a circle-node centered at (b).
• The third arrow is on an edge between the two circle nodes.

I want all the three arrow-heads to be the same sizes. Yet, to my frustration, the arrow head on the first circle is smaller than the other arrow heads. How can I resolve this?

Here's the code:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\coordinate (b) at (4,0) ;
\node[circle,draw,postaction={decorate,decoration={markings,
mark=at position 0.5 with {\arrow[scale=5]{>}}}}] at (0,0) (u)
{an arrowed circle};

\node[inner sep=0] at (b) (w) {\tikz \draw
[postaction={decorate,decoration={markings, mark=at position 0.5 with
{\arrow[scale=5]{>}}}}] (b) circle (1.5);};

\draw [postaction={decorate,decoration={markings,
mark=at position 0.7 with {\arrow[scale=5]{>}}}}] (w) -- (u);

\end{tikzpicture}
\end{document}


• Why are you changing the example in your question? – Alenanno Jan 3 '16 at 11:12
• @Alenanno: because in your first comment you suggested that the size of the circle could matter, the new example shows that this is not the problem. – Ulrike Fischer Jan 3 '16 at 11:15
• @UlrikeFischer Oh yes, I realized that later though and your answer confirmed it, so that's why I deleted it. – Alenanno Jan 3 '16 at 11:16

Nodes are difficult beasts, and they offen reset scaling commands, but you can add a low-level scaling with \pgftransformscale{5}:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,shapes,positioning}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[]
\coordinate (b) at (-2,-2) ;
\node[circle,draw,postaction={decorate,decoration={markings,
mark=at position 0.5 with {\pgftransformscale{5}\arrow[]{>}}}}] at (0,0) (u)
{an arrowed circle};

\draw [postaction={decorate,decoration={markings,
mark=at position 0.5 with {\arrow[scale=5]{>}}}}] (b) -- (u);

\draw [postaction={decorate,decoration={markings,
mark=at position 0.5 with {\arrow[scale=5]{>}}}}] (b) circle (3);
\end{tikzpicture}
\end{document}


• Ha! I knew it, the node was the culprit. :P Interesting. – Alenanno Jan 3 '16 at 11:11

For all its limitations, things are a bit simpler in plain Metapost. There's no concept of a node, just points, paths and labels.

prologues := 3;
outputtemplate := "%j%c.eps";

beginfig(1);
% define the paths
path bar, c[];
c0 = fullcircle scaled 90 rotated 180;
c1 = c0 shifted 60 left;
c2 = c0 shifted 60 right;
bar = point 0 of c2 -- point 4 of c1;

% draw the arrows
ahlength := 8;
drawarrow c1;
drawarrow c2;
numeric t; t = 0.66;
drawarrow subpath(0,t) of bar; draw subpath(t,1) of bar;