TikZ-坐标名称内的foreach替换不起作用

TikZ-坐标名称内的foreach替换不起作用

a1我有名为的坐标a9。它们由等定义\coordinate (a1) at (0,0);。它们都有有效的 x 和 y 坐标。我需要创建 9 个圆,每个圆的中心都是 9 个坐标,半径为 1。我决定使用循环,而不是手动遍历所有圆foreach

\foreach \i in {1,..,9} {
    \draw (a\i) circle [radius=1];
}

但是我得到了No shape named 'a' is known错误。

\foreach \i in {1,..,9} {
    \draw (a{\i}) circle [radius=1];
}

即使我添加了花括号,我仍然会收到No shape named 'a{1}' is known错误。实现我想要的结果的正确语法是什么?

答案1

也许您拼错了节点?

\documentclass[a4paper,10pt]{article}
\usepackage{tikz}

\begin{document}
  \begin{tikzpicture}
    % defines nodes directly or within a loop
    \node (a1) at (0, 0) {$a0$};
    \foreach \x in {2,...,9}{
      \coordinate (a\x) at (\x, 0);
    }
    % draws the circles
    \foreach \i in {1,...,9} {
      \draw (a\i) circle [radius=1];
    }
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容