我想画一幅图并在其下面写一些与某个符号(在本例中为等号)对齐的方程式。
\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
中定义的环境中amsmath
mathtools
- 为了定位你使用
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 ...
语法需要positioning
tikz 库 - 带有数学符号的节点
;
后面缺少一个 - 数学节点的内容使用
&=
但没有对齐环境,这会导致 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}