在下面的例子中,当我使用--
(也to
)连接路径上的点时,我得到了正确的行为,但当我使用时则不行 edge
。我想使用edge
来更好地控制各个段的外观。
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\tikz\path[draw] (0,0) -- ++(90:0.5) -- ++(30:0.5) --
++(330:0.5) -- ++(270:0.5) -- ++(210:0.5) -- cycle;\qquad
\tikz\path[draw] (0,0) edge ++(90:0.5) edge ++(30:0.5) edge
++(330:0.5) edge ++(270:0.5) edge ++(210:0.5) edge cycle;
\end{document}
答案1
也许这是一种方法?
正如 Zarko 指出的那样,edge
s 并非旨在替代to
操作(例如--
),而是用于在节点之间绘制图形。
引用手册:
如果连续有多个边操作,所有节点的起始坐标都是相同的因为它们的目标坐标毕竟不是主路径的一部分。
但是,此规则有一个例外:如果边缘操作紧接着节点操作
edge
,那么这个刚刚声明的节点就是下一个节点的起始坐标
因此,另一种方法是在路径的每一步插入一个节点,以便为每个节点提供新的起点edge
。缺点是节点默认占用空间。
输出
代码
\documentclass[12pt,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[scale=5]
% place the useful coordinates
\path (0,0) coordinate (a--1)
foreach \x in {0,...,5}
{
-- ++(90-\x*60:.5) coordinate (a-\x)
};
% actually draw using edges, repeating last node each time
\draw [blue,very thick]
foreach \x [evaluate=\x as \lastX using \x-1] in {0,...,5}
{
(a-\lastX) edge [bend right=20] (a-\x)
};
\end{tikzpicture}
\end{document}