无法修饰空路径

无法修饰空路径

我想保存一条路径,将其裁剪并在上面放一个箭头

\documentclass[10pt,convert={convertexe=magick,density=1000,outext=.png}]{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.markings}

\begin{document}

\begin{tikzpicture}

\path[save path=\test] (0,0) -- (5,5);
\node at (0,0) {origin};

\begin{scope}
\clip (1,1) rectangle (4,4);
\draw[decorate,decoration={markings,mark=at position 0.5 with {\arrow{stealth}}}][use path=\test];
\end{scope}

\end{tikzpicture}

\end{document}

好吧,放箭头不起作用,因为我收到了消息

! Package pgf Error: I cannot decorate an empty path.

有什么方法可以解决这个问题?

答案1

TikZ 提供的功能use path还不够完善。特别是,它无法使路径与动作和装饰配合使用。

我的spath3库(开发版本github) 可以正确处理这个问题,如以下版本的代码所示。

请注意,如果你想要绘制线条那么您应该将装饰放在前置或后置动作中。

\documentclass[10pt,convert={convertexe=magick,density=1000,outext=.png}]{standalone}
%\url{https://tex.stackexchange.com/q/650655/86}
\usepackage{tikz}
\usetikzlibrary{decorations.markings,spath3}

\begin{document}

\begin{tikzpicture}

\path[spath/save=test] (0,0) -- (5,5);
\node at (0,0) {origin};

\begin{scope}
\clip (1,1) rectangle (4,4);
\draw[postaction={decorate},decoration={markings,mark=at position 0.5 with {\arrow{stealth}}}][spath/use=test];
\end{scope}

\end{tikzpicture}

\end{document}

装饰重复使用的路径

相关内容