这应该不难,但我无法让它工作。我期望此代码生成黑色圆圈上特定序列的蓝点图:
\begin{tikzpicture}[scale=3]
\def\n{7}
\def\anglerot{222.5}
\draw(0,0) circle (1);
\foreach \i \in {0,...,\n}
\fill[color=blue] (cos (\i*\anglerot), sin (\i*\anglerot)) circle (.02);
\end{tikzpicture}
我该如何修复它?
答案1
使用in
而不是\in
。
版本 1:\pgfmathsetmacro
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\pgfmathsetmacro\n{7}
\pgfmathsetmacro\anglerot{222.5}
\draw(0,0) circle (1);
\foreach \i in {0,...,7} {
\pgfmathsetmacro\x{cos (\i*\anglerot)}
\pgfmathsetmacro\y{sin (\i*\anglerot)}
\fill[color=blue] (\x, \y) circle (.02);
}
\end{tikzpicture}
\end{document}
版本 2:大括号
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=3]
\def\n{7}
\def\anglerot{222.5}
\draw(0,0) circle (1);
\foreach \i in {0,...,\n} {
\fill[color=blue] ({cos (\i*\anglerot)}, {sin (\i*\anglerot)}) circle (.02);
}
\end{tikzpicture}
\end{document}