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