我想在 foreach 中绘制一个矩阵,但由于一些错误,编译被中止。这是我的代码:
\documentclass{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,1}{
\node[xshift=\x em,yshift=\x em]{\x};
\matrix[xshift=\x em,yshift=\x em]{
\node{A};&\node{B};\\
\node{C};&\node{D};\\
};
}
\end{tikzpicture}
\end{document}
这段代码有什么问题?node
里面的foreach
没有问题,但是matrix
有问题。
答案1
正如我上面评论中的链接 (@ArunDebray @LoopSpace @StefanKottwitz) 所述,ampersand replacement
传递给矩阵节点的选项会产生可编译的文档。
\documentclass{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,5}{
\node[xshift=\x em,yshift=\x em]{\x};
\matrix[xshift=\x em,yshift=\x em,ampersand replacement=\&]{
\node{A};\&\node{B};\\
\node{C};\&\node{D};\\
};
}
\end{tikzpicture}
\end{document}