Eu estava estudando o manual da PGF quando me deparei com o seguinte comportamento.
Referindo-me ao código abaixo, especifiquei uma latex
ponta de setadepoiso \filldraw
elemento 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 \filldraw
ou se eu usar uma ponta de seta padrão após a \filldraw
saída ser exibida corretamente. Além disso, latex
o tipo de ponta de seta no \foreach
elemento é 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}
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 color
esta cor é usada posteriormente por algumas setas.
E de uma forma estranha node
redefina 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}