为什么代码没有产生该行?
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (A)+(1,0);
\draw (A)--(B);
\end{tikzpicture}
答案1
B
因为你所做的就是在与 相同的位置添加坐标A
。
这是因为(A)+(1,0)
不是单一的坐标规范,它所做的是首先将“笔”/路径的活动点移动到 ,A
然后将该活动点向右移动 1 个单位。我猜是\coordinate (B) at ..
抓取它看到的下一个坐标,也就是A
。
有多种选项可用于定义相对于其他坐标的新坐标。您可以添加shift
:
\coordinate (B) at ([shift={(1,0)}]A);
您可以将其添加为路径的一部分:
\path (A) +(1,0) coordinate(B);
这是可行的,因为我们从 开始路径A
,然后将活动点向右移动 1 个单位并在此点添加坐标。
您\usetikzlibrary{calc}
可以使用以下($...$)
语法进行坐标计算:
\coordinate (B) at ($(A)+(1,0)$);
或者\usetikzlibrary{positioning}
您可以使用以下right=of
语法进行节点定位:
\coordinate [right=1 of A] (B);