
Я пытаюсь найти вершины прямоугольника и раскрасить прямоугольную область. Я указываю координату y как значение функции, например \sqrt{3}/2
или \sin(60)
. Я получаю ошибку.
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (-1,{-\sqrt{3}/2});
\coordinate (B) at (-1,{\sin(60)});
\coordinate (C) at (2,{\sin(60));
\coordinate (D) at (2,{-\sqrt{3}/2});
\path[fill=yellow] (A) -- (B) -- (C) -- (D) -- cycle;
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]below left:$A$}] at (A) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]above left:$B$}] at (B) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]above right:$C$}] at (C) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]below right:$D$}] at (D) {};
\end{tikzpicture}
решение1
Хотя TikZ
/ pgf
используется в LaTeX
, его синтаксис специфичен, как и синтаксис pgf
математического движка .
В этом конкретном случае функции типа sqrt
или sin
не начинают имя команды с \
(обратной косой черты). А составные аргументы, которым нужны скобки, должны быть окружены {...}
. Правильный код для coordinates
определения должен быть:
\coordinate (A) at (-1,{-sqrt(3)/2});
\coordinate (B) at (-1,{sin(60)});
\coordinate (C) at (2,{sin(60)});
\coordinate (D) at (2,{-sqrt(3)/2});