Node 中的多行数学模式根本不起作用

Node 中的多行数学模式根本不起作用

我想画一幅图并在其下面写一些与某个符号(在本例中为等号)对齐的方程式。

\documentclass{report}
\usepackage{amsmath,tikz,mathtools}
\usetikzlibrary{shapes}
\begin{document}
    \begin{tikzpicture}
        \node[draw,regular polygon,regular polygon sides=4] (square) {};
        \node[below=of square] () {$
        Area &= side \times side \\
        Perimeter &= 4 \times side
        $}
    \end{tikzpicture}
\end{document}

不幸的是,这不起作用,我不明白为什么。

答案1

  • 内联数学运算不能被分解成更多行。在你的情况下,数学表达式必须在和multlined中定义的环境中amsmathmathtools
  • 为了定位你使用positioning库但不加载它
\documentclass{report}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{positioning,
                shapes}

\begin{document}
    \begin{tikzpicture}
\node[draw,regular polygon,regular polygon sides=4] (square) {};
\node[below=of square]  
    {$\begin{aligned}
        Area        & = side \times side \\
        Perimeter   & = 4 \times side
      \end{aligned}$};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

提供的代码存在几个问题。

  • below=of ...语法需要positioningtikz 库
  • 带有数学符号的节点;后面缺少一个
  • 数学节点的内容使用&=但没有对齐环境,这会导致 en 错误。

这编译

\documentclass{report}
\usepackage{amsmath,tikz,mathtools}
\usetikzlibrary{shapes}
\usetikzlibrary{positioning}
\begin{document}
    \begin{tikzpicture}
        \node[draw,regular polygon,regular polygon sides=4] (square) {};
        \node[below=of square] {$
          \begin{aligned}
        Area &= side \times side \\
        Perimeter &= 4 \times side
        \end{aligned}$};
    \end{tikzpicture}
\end{document}

相关内容