Обозначение Tikz double plus несовместимо с обозначением edge?

Обозначение Tikz double plus несовместимо с обозначением edge?

В примере ниже я получаю правильное поведение, когда использую --(также 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

Может быть, это один из способов?

Как отмечает Зарко, edges не предназначены для замены операций 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}

Связанный контент