なぜ次のLaTeX原稿は
\documentclass[tikz,convert]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[color=black]
\path[fill=red] (0,0) rectangle (1,1);
\path[pattern=bricks] (0,0) rectangle (1,1);
\end{tikzpicture}
\end{document}
赤レンガを生産します:
一方、2 つの\path
行を 1 つに結合すると、次のようになります。
\path[fill=red, pattern=bricks] (0,0) rectangle (1,1);
白いレンガを生産します:
?
レンガパターンのレンガの内部は透明か、そうでないかのどちらかです。透明である場合、2 番目のケースでは赤い塗りつぶしが透けて見えないのはなぜですか? 透明でない場合、最初のケースでは赤い塗りつぶしが透けて見えるのはなぜですか?
答え1
最初のケースでは、2 つの異なる\path
があるため、最初に赤い四角形が描画され、次に がpattern
その上に描画されます。はpattern
黒い線のみを描画するため (間の部分は塗りつぶされません)、下部に赤い部分が表示されます。
2番目のケースでは、pattern
の後にfill
を追加しているため、同じ \path
、pattern
置き換えるfill
マニュアルにはこう書いてある
パターンは塗りつぶし色のように機能します。特に、新しい塗りつぶし色を設定すると、パスがもう一度単色で塗りつぶされます。
したがって、fill=red, pattern=bricks
はfill
無視され、 のみがpattern
描画されます。同様に、順序を入れ替えると ( pattern=bricks,fill=red
)、 のみがfill
描画されます。
両方を 1 つのパスで実行する場合は、 またはpreaction
を使用できますpostaction
。
\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[color=black]
\path[fill=red,postaction={pattern=bricks}] (0,0) rectangle (1,1);
\path[preaction={fill=blue},pattern=bricks] (1,0) rectangle (2,1);
\end{tikzpicture}
\end{document}