TikZ: Cor da ponta da seta definida por uma opção para outro comando

TikZ: Cor da ponta da seta definida por uma opção para outro comando

Eu estava estudando o manual da PGF quando me deparei com o seguinte comportamento.

Referindo-me ao código abaixo, especifiquei uma latexponta de setadepoiso \filldrawelemento e a ponta da seta são desenhados na mesma cor da borda do referido elemento. No entanto, se eu especificar uma ponta de seta não padrãoanteso \filldrawou se eu usar uma ponta de seta padrão após a \filldrawsaída ser exibida corretamente. Além disso, latexo tipo de ponta de seta no \foreachelemento é exibido corretamente em vermelho.

\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}

insira a descrição da imagem aqui

O que está acontecendo aqui? Estou cometendo um erro básico?

Responder1

Concordo com o comentário do @percusse: parece um bug!

Quando usamos draw=some coloresta cor é usada posteriormente por algumas setas.

E de uma forma estranha noderedefina esse comportamento.

Aqui está outro exemplo mínimo:

\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}

insira a descrição da imagem aqui

informação relacionada