我打算将圆上的三个点绘制到宏定义的轴环境中。代码
\documentclass[tikz,border=3mm]{standalone}
\makeatother
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\newenvironment{mytikzaxis}[9]{\begin{axis}[
axis line style={->},
axis equal,
axis lines=middle,
xlabel=$#1$,
ylabel=$#2$,
xmin=#3,
xmax=#4,
ymin=#5,
ymax=#6,
xtick={#7},
ytick={#8},
#9
]
}
{\end{axis}}
\begin{document}
\begin{tikzpicture}%[scale=0.69,>=stealth] %
\begin{mytikzaxis}{x}{y}{-1.2}{1.4}{-1.2}{1.4}{1}{1}{}
% circle
\draw[radius=1] (0,0) circle;
% roots of unity
\foreach \a in {0,120,240} {
\draw[red,only marks] plot [only marks, mark=*] ({cos(\a)},{sin(\a)});
}
\end{mytikzaxis}
\end{tikzpicture}
\end{document}
产生一个错误,并带有一个对我来说很神秘的错误信息:\GenericError ... #4 \errhelp \@err@ ... l.34 \end{standardtikzaxis}
我可以通过以下方式进行编译
- 注释掉点的绘制(第 31 行),仅绘制轴......
- 注释掉宏/环境(第 25 行和第 34 行)仅绘制圆圈和点...
- 但是:还通过注释掉宏参数 #6(第 15 行),这对我来说真的很奇怪
我根本就不知道在哪里可以找到错误。