tikz 中的自动矩阵填充

tikz 中的自动矩阵填充

我在使用以下代码时遇到错误:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes.multipart, fit,backgrounds,calc}


\begin{document}

\node[matrix, column sep=1cm,] (postes){%
\foreach\x in{1,...,5}{%
\node{poste};&
}
\node{poste};\\
};

\end{tikzpicture}
\end{document}

在这种情况下,我使用矩阵来通过命令获取多列矩阵foreach,但似乎不合适。我想知道是否存在一些简单的解决方案来自动填充 tikz 中的矩阵。

答案1

这不是一个像Tikz foreach 矩阵内部但是node contentsnodes in empty cells选项可以帮助提供半自动化的解决方案。

\documentclass[tikz,border=2mm]{standalone}

\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}

\matrix (m) [draw, matrix of nodes, nodes in empty cells, 
       nodes={draw, 
         node contents={$A_{\the\pgfmatrixcurrentrow\the\pgfmatrixcurrentcolumn}$}}, 
       row sep=2mm, column sep=1mm]
{
&&&&&\\
&&&&&\\
};

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

同时,在等待矩阵自动填充解决方案的过程中,看看下一个解决方案是否适合您:

\documentclass[tikz]{standalone}
\usetikzlibrary{fit}

    \begin{document}
\begin{tikzpicture}[
    node distance = 3mm,
    every node/.style = {draw, inner sep=1mm},
                    ]
\foreach \i in {1,2,...,5}
    \node (n\i) at (\i,0) {$A_{1\i}$};
\node[fit=(n1) (n5)] {};
\end{tikzpicture}
    \end{document}

得到的图片为:

在此处输入图片描述

相关内容