Tikz:与宏定义环境相关的冲突

Tikz:与宏定义环境相关的冲突

我打算将圆上的三个点绘制到宏定义的轴环境中。代码

\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 行),这对我来说真的很奇怪

我根本就不知道在哪里可以找到错误。

相关内容