以下代码生成如下图像:
\newcommand{\mywidth}{1.4cm}
\newcommand{\myheight}{7mm}
\begin{tikzpicture}
\node[draw, rectangle, minimum height=\myheight, minimum width=\mywidth,
font=\tiny, xshift=0*\mywidth, label={[shift={(-0.6,0)}, font=\tiny]0},
fill=red!20] (n1) {foo};
\node[draw, rectangle, minimum height=\myheight, minimum width=\mywidth,
font=\tiny, xshift=1*\mywidth, label={[shift={(-0.6,0)}, font=\tiny]1},
fill=blue!20] (n2) {bar};
\node [tape, draw, rotate=90, minimum height=\mywidth/2,
minimum width=\myheight, tape bend top=none, tape bend height=0.1cm,
label={[shift={(0.35,0.55)}, font=\tiny]2}] at (2*\mywidth-4mm,0) (n3) {};
\node [tape, draw, rotate=90, minimum height=\mywidth/2,
minimum width=\myheight, tape bend bottom=none, tape bend height=0.1cm,]
at (2*\mywidth + 4mm,0) (n4) {};
\end{tikzpicture}
我找到了画波浪线的灵感在这个很棒的答案中。
但是,用波浪线来定位元素确实很繁琐。由于它们被旋转,minimum height=...
实际上设置了它们的宽度。标签也是如此,因为锚点当然也被旋转了。我不得不尝试了很长时间才将标签定位得大致正确(它仍然有点偏离)。
有没有办法让最后两个节点的行为像第一个节点?理想情况下,我希望这两个节点的行为与“foo”或“bar”节点相同。如果这不可能,我至少希望避免这种非常混乱和棘手的定位标签、节点和设置节点高度和宽度的方式。