
Я пытаюсь предварительно рассчитать значения cos и sin и использовать их в координатах.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\n{13}
\def\c{\pgfmathparse{cos(5*pi/\n)}\pgfmathresult}
\def\s{\pgfmathparse{sin(5*pi/\n)}\pgfmathresult}
\node (A) at (0,0) {A};
\node (B) at (\c,0) {B};
\node (C) at (\s,0) {C};
\end{tikzpicture}
\end{document}
Однако при попытке скомпилировать приведенный выше код возникает следующая ошибка:! Incomplete \iffalse; all text was ignored after line 11.
решение1
Добро пожаловать в TeX.SX! Вам нужно позаботиться о том, что тригонометрические функции в PGF принимают градусы, а не радианы. Вы можете использовать, например, sin(pi r)
, если хотите ввести значения в радианах. Кроме того, я бы посоветовал вам использовать \pgfmathsetmacro
предоставленные TiкZ/PGF для сохранения результатов математических вычислений в макросах:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\n}{13}
\pgfmathsetmacro{\c}{cos(5*pi/\n r)}
\pgfmathsetmacro{\s}{sin(5*pi/\n r)}
\node (A) at (0,0) {A};
\node (B) at (\c,0) {B};
\node (C) at (\s,0) {C};
% only to show the math results
\node[above of=B, rotate=90] {\c};
\node[above of=C, rotate=90] {\s};
\end{tikzpicture}
\end{document}