Im folgenden Beispiel erhalte ich das richtige Verhalten, wenn ich --
(auch to
) verwende, um Punkte entlang eines Pfades zu verbinden, aber nicht, wenn ich verwende edge
. Ich würde gerne verwenden, edge
um mehr Kontrolle über die Darstellung einzelner Segmente zu erhalten.
\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}
Antwort1
Vielleicht ist das eine Möglichkeit?
Wie Zarko betont, edge
sind s nicht als Ersatz für to
Operationen (wie --
) gedacht, sondern vielmehr zum Zeichnen von Graphen zwischen Knoten.
Zitat aus dem Handbuch:
Bei mehreren Kantenoperationen hintereinander,die Startkoordinate ist für alle gleichda ihre Zielkoordinaten ja nicht Teil des Hauptweges sind.
Es gibt jedoch eine Ausnahme von dieser Regel: Wenn die Kantenoperationunmittelbar vor einer Knotenoperation, dann ist dieser soeben deklarierte Knoten die Startkoordinate [für den nächsten
edge
]
Eine andere Möglichkeit wäre, bei jedem Schritt des Pfads einen Knoten einzufügen, um jedem Schritt einen Neustart zu ermöglichen edge
. Der Nachteil besteht darin, dass Knoten standardmäßig Speicherplatz beanspruchen.
Die Ausgabe
Der Code
\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}