Tikz:foreach 循环和列表中的数学问题

Tikz:foreach 循环和列表中的数学问题

我从几年前创建的文档源代码中复制了以下 tikz 代码(表示磁场)(当时已编译)。现在它不再编译了。以下是带有相关代码的 MWE:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{calc}


\usetikzlibrary{shapes.misc}

\tikzset{cross/.style={cross out, draw=black, minimum size=2*(#1-\pgflinewidth), inner sep=0pt, outer sep=0pt},cross/.default={1pt}}

\begin{document}


\begin{tikzpicture}
\pgfmathsetmacro{\a}{1.25}

\foreach \x in {-\a,...,3*\a} { 
\foreach \y in {-1.3*\a,0,1.3*\a}{
\draw(\x,\y) circle (5pt);%
\draw[thick] (\x,\y) node[cross=3.8pt] {};%
}}
\end{tikzpicture}


\end{document}

错误:

 foreach.tex                 21 Error   Illegal unit of measure (pt inserted).
 foreach.tex                 21 Error   Missing = inserted for \ifdim.
 foreach.tex                 21 Error   Missing number, treated as zero.
 foreach.tex                 21 Error   Illegal unit of measure (pt inserted).
 foreach.tex                 21 Error   Illegal unit of measure (pt inserted).

我做错了什么?我该如何解决?随着时间的推移,foreach 循环中的计算代码是否发生了变化?

原始图片如下所示(我省略了上面 MEW 中的感应回路代码,仅包含磁场)。

在此处输入图片描述

相关内容