TikZ:可变位置箭头尖

TikZ:可变位置箭头尖

在下面的例子中,twothirdsarrow允许我在从第一个点到第二个点的线上 0.67 的位置画一条带箭头的线,就像在源线中一样\draw[twothirdsarrow...

我想做同样的事情,但要引入一个允许改变该位置的附加参数。我的尝试是 的定义partwayarrow,但会出现错误。

该声明有什么问题?如何修复它,以便我可以按照在源代码中的方式使用它\draw[partwayarrow={

\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{arrows.meta,decorations.markings,calc}

\begin{document}

\begin{tikzpicture}[
    twothirdsarrow/.style 2 args={dashed,semithick, % OK
        decoration={markings, mark=at position 0.67 with {\arrow{>}, \node[#1]{#2};}
        },
        postaction={decorate}
    }, 
    partwayarrow/.style 3 args={dashed,semithick,   % GIVES ERROR
        decoration={markings, mark=at position #1 with {\arrow{>}, \node[#2]{#3};}
        },
        postaction={decorate}
    }
  ]
  \draw[twothirdsarrow={right,dashed}{}] (0,1) -- (2,2);        % OK
  \draw[partwayarrow={0.25}{right,dashed}{}] (0,0) -- (1,1);    % NOT WORKING
\end{tikzpicture}

\end{document}

(是的,我仍在努力掌握 TikZ 的基本语法!)

相关内容