TikZ 在主体中编译,但不作为命令

TikZ 在主体中编译,但不作为命令

可能重复:
定义 TikZ 矩阵的快捷方式存在问题。

当我使用下面的代码tikzpicture在文档正文中绘制一个时,它工作正常。但是,当我定义命令并尝试使用它时,我收到错误Missing $ inserted

\documentclass[11pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{matrix, shapes, backgrounds}
\newcommand{\matrixa}{ 
\begin{tikzpicture}[>=latex]
\matrix (A) [matrix of math nodes,%
         left delimiter  = (,%             
         right delimiter = )] at (0,0) {%
         \cdot & \cdot  & \cdot  \\
          \cdot & \cdot  & \cdot  \\
          \cdot & \cdot  & \cdot  \\
           \\ };%     
         \end{tikzpicture}}
\begin{document}
\matrixa
\end{document}

答案1

在这种情况下,您必须使用替换符号“&”:

\documentclass[11pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{matrix, shapes, backgrounds}
\newcommand{\matrixa}{%
  \begin{tikzpicture}[>=latex]
  \matrix (A) [matrix of math nodes,
    left delimiter  = (,
    ampersand replacement=\&,
    right delimiter = )] at (0,0)
    {
     \cdot \& \cdot \& \cdot \\
     \cdot \& \cdot \& \cdot \\
     \cdot \& \cdot \& \cdot \\
    };
  \end{tikzpicture}}
\begin{document}
\matrixa
\end{document}

不一定\&,但通常会选择这个。

相关内容