我试图使用并排绘制多个矩形节点
\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