如何使旋转的节点的行为与非旋转版本相同?

如何使旋转的节点的行为与非旋转版本相同?

以下代码生成如下图像:

在此处输入图片描述

\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”节点相同。如果这不可能,我至少希望避免这种非常混乱和棘手的定位标签、节点和设置节点高度和宽度的方式。

相关内容