我想保存一条路径,将其裁剪并在上面放一个箭头
\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}