每个子路径上都有 TikZ 箭头提示?

每个子路径上都有 TikZ 箭头提示?

我想绘制一条具有相对坐标的路径,其中每个段都有自己的箭头。我试过

\draw[<->] (0,0) -- ++(1,0) -- ++(1,0) -- ++(1,0);

但当然,正如手册中所述,这只会向第一个和最后一个子路径添加箭头提示,因此它变成了类似的东西<------------>,而我希望它是<---><---><--->。我读过绘制指向路径每个节点的箭头并且知道 anedge会给我每个边缘上的箭头提示,但我不能使用增量坐标。(我实际上正试图做与 @quinmars 在这个问题中所做的事情完全相同的事情。)

由于这个问题的答案已经有 5 年了,我希望 TikZ 或其他人可以对此有一个优雅的解决方案?

答案1

仅适用于直线,可能有点像这样?

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{decorations}
\pgfdeclaredecoration{arrows}{draw}{
\state{draw}[width=\pgfdecoratedinputsegmentlength]{%
  \path [every arrow subpath/.try] \pgfextra{%
    \pgfpathmoveto{\pgfpointdecoratedinputsegmentfirst}%
    \pgfpathlineto{\pgfpointdecoratedinputsegmentlast}%
   };
}}
\tikzset{every arrow subpath/.style={->, draw, thick}}
\begin{document}
\begin{tikzpicture}
  \path [decoration=arrows, decorate](0,0) -- ++(1,0) -- ++(0,1) -- ++(45:1);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容