改进带有装饰路径文本的 TikZ 弯曲箭头

改进带有装饰路径文本的 TikZ 弯曲箭头

对于这个例子我有两个疑问:路径上的圆形箭头和文字1. 是否可以将 \arcarrow 相对于某个节点定位? 2. 是否可以将箭头 0、60、120 中的文本从左到右排列,而不是上下颠倒?这样(不太合逻辑,但)更易于阅读。

\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{tikz}
\usetikzlibrary{decorations.text}

\newcommand{\arcarrow}[8]% inner radius, middle radius, outer radius, start angle, end angle, tip protusion angle, options, text
{   \pgfmathsetmacro{\rin}{#1}
    \pgfmathsetmacro{\rmid}{#2}
    \pgfmathsetmacro{\rout}{#3}
    \pgfmathsetmacro{\astart}{#4}
    \pgfmathsetmacro{\aend}{#5}
    \pgfmathsetmacro{\atip}{#6}
    \fill[#7] (\astart:\rin) arc (\astart:\aend:\rin) -- (\aend+\atip:\rmid) -- (\aend:\rout) arc (\aend:\astart:\rout) -- (\astart+\atip:\rmid) -- cycle;
    \path[decoration={text along path, text={#8}, text align={align=center}, raise=-0.5ex},decorate] (\astart+\atip:\rmid) arc (\astart+\atip:\aend+\atip:\rmid);
}

\begin{document}

\begin{tikzpicture}
    \fill[even odd rule,red!30] circle (3.8) circle (3.2);
    \foreach \x in {0,60,...,300} 
    {   \arcarrow{3}{3.5}{4}{\x+20}{\x+70}{5}{red,draw=red!50!black,very thick}{text \x}
    }
\end{tikzpicture}

\end{document}

相关内容