我正在尝试学习如何使用 Tikz 及其库 Tikzmath 制作图形。我正尝试通过沿一条线绘制一系列圆圈来进行练习。
我的代码如下:
\documentclass[tikz]{standalone}
\usetikzlibrary{math}
\tikzmath
{
function num(\n)
{
int \i;
\i=0;
for \i in {\i,1,...,\n}
{
\draw[red] circle[radius=0.5] (\i, 0);
};
};
}
\begin{document}
\begin{tikzpicture}
\draw[help lines,step=2mm] (-1,-1) grid (4,1);
\tikzmath{num(2);}
\end{tikzpicture}
\end{document}
但是我不断收到一条错误消息,指出:
.Math.tex.swp:20: \tikz@@math 的参数有一个额外的 }。\par l.20 \tikzmath{num(2);}
我找不到代码中可能导致此错误的多余括号。我已经尝试了 40 分钟!
答案1
我现在无法使用电脑,所以我的回答会很简短,而且未经验证。我发现三个错误:
- 在循环中,在当前版本的 tikzmath 中,和
for
之间不能有空格。}
{
- 您的绘图命令必须包含在
{ };
- 绘图命令中的坐标必须在圆圈之前。
您可以检查以下代码:
\documentclass[tikz]{standalone}
\usetikzlibrary{math}
\tikzmath
{
function num(\n)
{
for \i in {0,...,\n}{
{\draw[red] (\i, 0) circle[radius=0.5];};
};
};
}
\begin{document}
\begin{tikzpicture}
\draw[help lines,step=2mm] (-1,-1) grid (4,1);
\tikzmath{num(2);}
\end{tikzpicture}
\end{document}