我正在尝试定义路径中的节点。我得出了以下无法编译的 TikZ 代码:
\begin{tikzpicture}
[
hlc/.style={circle,inner sep=5,draw}
]
\def\odl{0,...,7};
\path foreach \x in \odl { node[hlc] (\x) at (\x,\x) {\x}; }
\end{tikzpicture}
有人能指出我的代码有什么问题吗?提前谢谢。
答案1
循环的每次旋转都应产生有效的路径规范。但是由于循环内部有分号,因此在第一次旋转之后,它基本上会尝试理解可能\x
是什么,并认为您正在尝试执行一些非 TikZ 代码和行程。实际上它正在尝试这样做
\path node[hlc] (0) at (0,0) {0} ; % Done with path but not with the loop
node[hlc] (1) at (1,1) {1} ;
node[hlc] (2) at (2,2) {2} ;
虽然实际上这不应该导致错误,但在循环内部时会导致错误。路径在循环结束后结束,因此分号应该放在括号外
\begin{tikzpicture}
[
hlc/.style={circle,inner sep=5,draw}
]
\def\odl{0,...,7}
\path foreach \x in \odl { node[hlc] (\x) at (\x,\x) {\x} };
\end{tikzpicture}