我在使用以下代码时遇到错误:
\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 contents
和nodes 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}
得到的图片为: