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