TikZ: Цвет наконечника стрелки определяется опцией другой команды

TikZ: Цвет наконечника стрелки определяется опцией другой команды

Я изучал руководство по PGF, когда столкнулся со следующей проблемой.

Ссылаясь на код ниже, я указал latexнаконечник стрелкипослеэлемент \filldrawи наконечник стрелки рисуются того же цвета, что и граница указанного элемента. Однако, если я укажу нестандартный наконечник стрелкидоили \filldrawесли я использую стандартную стрелку после \filldrawвывод отображается правильно. Более того, latexтип arrowhead в \foreachэлементе отображается правильно красным цветом.

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

введите описание изображения здесь

Что здесь происходит? Я совершаю элементарную ошибку?

решение1

Я согласен с комментарием @percusse: это похоже на ошибку!

Когда мы используем draw=some colorэтот цвет, он впоследствии используется некоторыми стрелками.

И странным образом nodeсбросил это поведение.

Вот еще один минимальный пример:

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

введите описание изображения здесь

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