以下の例では、--
(また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
の代わりとなるものではなく、ノード間のグラフを描画するためのものです。to
--
マニュアルからの引用:
複数のエッジ操作が連続して行われる場合、開始座標はすべて同じです結局のところ、ターゲット座標はメインパスの一部ではないためです。
しかし、このルールには例外が1つあります。エッジ操作がノード操作の直前
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}