我可以根据 tikz 中的前一个点而不是当前点进行绘制吗?

我可以根据 tikz 中的前一个点而不是当前点进行绘制吗?

我想我以前见过这样的命令。使用+++我们可以定义相对于路径上先前点的坐标。我想知道是否--还有其他版本允许我从前一个点而不是当前点开始绘制一条线。例如,考虑这个 MWE:

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (0.5,0) -- +(0,1) --++ (0.5,0);
\end{tikzpicture}
\end{document}

得出

在此处输入图片描述

修改 MWE 的最简单方法是什么

在此处输入图片描述

反而?

理想情况下,我希望使用单个\draw命令来完成此操作,而无需执行诸如\draw (0,0) -- (0.5,0) -- +(0.5,0) (0.5,0) -- (0.5,1);通过重复其中一个点来解决问题之类的操作。我只想将四个点中的每一个都写一次。

原因是我正在制作一个使用一些随机点的插图,如果不对实现进行重大更改,我可能无法再次获取它们的坐标。因此,在我的目标中,四个点中的每一个都是随机排序的,我无法将它们写入两次。

答案1

正如评论中提到的,coordinate可以使用:

%! TEX program = pdflatex
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (0.5,0) coordinate (tmp) -- +(0,1) (tmp) --++ (0.5,0);
\end{tikzpicture}
\end{document}

答案2

问题是它+没有更新当前点,但是它更新了路径的起点。

对于您的 MWE 来说,一个可能的解决方案可能是:

\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (0.5,0) -- +(0,1) |-++ (0.5,0);
\end{tikzpicture}
\end{document}

或者

\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- +(1,0) (0.5,0) -- +(0,1);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容