我想绘制一条具有相对坐标的路径,其中每个段都有自己的箭头。我试过
\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}