PGF マニュアルを勉強していたときに、次のような現象が発生しました。
以下のコードを参考に、latex
矢印の先端を指定しました後要素\filldraw
と矢印の先端は、その要素の境界線と同じ色で描画されます。ただし、標準以外の矢印の先端を指定した場合前にまたは\filldraw
、標準の矢印を使用した場合は、\filldraw
出力が正しく表示されます。さらに、要素latex
内の矢印型は\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}