tikz 形状填充不起作用

tikz 形状填充不起作用

我正在尝试将形状定义为所附的黄色填充形状。但是,当我将线条放在里面时,填充无法正常工作,并且矩形的绿色背景会显示出来。我有两个问题:

1) 我该如何在下面的代码中修复这个问题?2) 有没有办法将其定义为可以用作常规形状的形状?恐怕我对 tikz 或 pgf 了解不够,无法做到这一点。

任何帮助都将不胜感激。

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}

\begin{document}
 \begin{tikzpicture}

\node\[rectangle,draw,fill=green,minimum width=1cm,minimum height=1cm\] (test) at (0,0) {};
 \draw\[fill=yellow\] (0,0) -- (0,0.6) -- (0.4,0.6) -- (0.4,0) -- (0.2,-0.1) -- (0,0) -- cycle 
(0,0.2) -- (0.2,0.15) -- (0.4,0.2) 
(0,0.4) -- (0.2,0.35) -- (0.4,0.4)
node (ar1) {};

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

我不建议初学者冒险使用pgf(低级 tikz)定义新形状。您可以改为绘制形状,然后使用版本 3pic提供的功能重新使用它tikz。虽然我并不声称已经正确理解了您的需求,但以下是使用以下方法的尝试pic

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}

\tikzset{
         myshape/.pic={
        code={
            \draw[fill=yellow] (0,0) -- (0,0.6) -- (0.4,0.6) -- (0.4,0) -- (0.2,-0.1) -- (0,0)
             -- cycle;
             \draw (0,0.2) -- (0.2,0.15) -- node[pos=0.1,above=-0.7ex,font=\tiny] (ar1) {fg}(0.4,0.2);
             \draw (0,0.4) -- (0.2,0.35) -- (0.4,0.4);             
  }}
}

\begin{document}
 \begin{tikzpicture}    
   \node[rectangle,draw,fill=green,minimum width=1cm,minimum height=1cm] (test) at (0,0) {};
   \path (0,0) pic {myshape};    
 \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容