TikZ: Pfeilspitzenfarbe durch eine Option für einen anderen Befehl definiert

TikZ: Pfeilspitzenfarbe durch eine Option für einen anderen Befehl definiert

Als ich das PGF-Handbuch studierte, wurde ich mit dem folgenden Verhalten konfrontiert.

In Bezug auf den untenstehenden Code habe ich eine latexPfeilspitze angegebennachDas \filldrawElement und die Pfeilspitze werden in der gleichen Farbe wie der Rand des Elements gezeichnet. Wenn ich jedoch eine nicht standardmäßige Pfeilspitze spezifiziereVoroder wenn ich nach dem \filldraweine Standardpfeilspitze verwende, \filldrawwird die Ausgabe korrekt angezeigt. Außerdem werden latexPfeilspitzen im \foreachElement korrekt in Rot angezeigt.

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
  \draw [help lines,step=0.5cm] (-1.4,-1.4) grid (1.4,1.4);
  \draw (0,0) circle (1cm);
  \draw [-latex] (0,-1.5) -- (0,1.5);
  \filldraw [fill=green!20,draw=green] (0,0) -- (0.3,0) arc [start angle=0,end angle=30,radius=0.3cm] -- cycle;
  \draw [-latex] (-1.5,0) -- (1.5,0);
  \draw [->,rotate=45,dashed] (-1.5,0) -- (1.5,0);% <-- standard arrowheads are not affected
  \foreach \x in {0,30,...,330}%<-- just to highlight the problem
    \node [draw,thick,red,circle,minimum size=.8cm,
           pin={[pin edge={latex-,red,thick,shorten <=1pt}]\x:$$}] at (1.5,0) {};%<-- these arrows are not affected
\end{tikzpicture}\\
My PGF version is \pgfversion.
\end{document}

Bildbeschreibung hier eingeben

Was ist hier los? Mache ich einen grundlegenden Fehler?

Antwort1

Ich stimme dem Kommentar von @percusse zu: Das sieht nach einem Fehler aus!

Wenn wir diese Farbe verwenden, draw=some colorwird sie anschließend von einigen Pfeilen verwendet.

Und auf seltsame Weise nodedieses Verhalten zurückgesetzt.

Hier ist ein weiteres Minimalbeispiel:

\documentclass[tikz,border=7mm]{standalone}
\begin{document}
\begin{tikzpicture}
  \path[draw=orange] (0,0) circle(1cm); % this draw color is used after by some arrows
  \draw[ultra thick,|->] (0:-1) -- (0:1); % the standard and | arrows are not affected
  \draw[ultra thick,stealth-latex] (90:-1) -- (90:1); % the latex and stealth arrows use the previous draw color
  \node {}; % node reset the draw color !
  \draw[ultra thick,stealth-latex] (45:-1) -- (45:1); % now it is ok
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen