创建用于更改 tikz 中的节点名称的变量

创建用于更改 tikz 中的节点名称的变量

我试图使用并排绘制多个矩形节点

\begin{tikzpicture}[scale=0.675]
    \def\size{0.625cm}
    \node[rectangle,draw,line width=0.6pt,minimum size=\size,fill=cyan!50!black] (elem_0) at (0,0) {$x_0$};
    \def\anchor{elem_0.east};
    \foreach \txt in {x,y,z} {
        \foreach \idx in {1,2,3} {
            \node[rectangle,draw,anchor=west,line width=0.6pt,minimum size=\size,fill=cyan!50!black] (elem_\txt_\idx) at (\anchor) {$\txt_\idx$};

            \def\anchor{elem_\txt_\idx.east};
        }

        \node[anchor=west] (separator_\txt) at (elem_\txt_3.east) {$...$};
        \def\anchor{separator_\txt.east};
    }
\end{tikzpicture}

\def\anchor但不幸的是,foreach循环内似乎没有更新。

有没有其他方法可以在不展开循环的情况下做到这一点?

答案1

tikz\for-each将每个项目放在一个本地组中,您可以在进行定义之前使用\xdef它来代替\def全局组并扩展\txt和。\idx

相关内容