我从几年前创建的文档源代码中复制了以下 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 中的感应回路代码,仅包含磁场)。