
Я хотел бы нарисовать картинку и написать под ней несколько уравнений, которые будут выровнены по определенному символу (в данном случае знаку равенства).
\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 - в узле с математикой отсутствует
;
после него - содержимое узла math использует env
&=
, но не выравнивает его, что приводит к ошибке 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}