
Я попытался выполнить некоторые вычисления в TeX, чтобы нарисовать картинку, и не могу избавиться от этой ошибки:
! Missing \endcsname inserted.
<to be read again>
\numexpr
l.12 \draw (0,0)--(\stepsize:\radius)
;
Вот минимальный код:
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\setlength\PreviewBorder{2pt}
\begin{document}
\begin{preview}
\def\radius{10}
\def\step{5}
\begin{tikzpicture}
\def\stepsize{\numexpr180/\step\relax}
\draw (0,0)--(\stepsize:\radius);
\end{tikzpicture}
\end{preview}
\end{document}
Глядя на случайный пример в интернете, ондолженработа, но я, вероятно, упускаю из виду что-то очень тривиальное или не понимаю чего-то элементарного.
решение1
У меня была похожая проблема, решил ее с помощью \number
:
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\setlength\PreviewBorder{2pt}
\begin{document}
\begin{preview}
\def\radius{10}
\def\step{5}
\begin{tikzpicture}
\def\stepsize{\number\numexpr180/\step\relax}%% <<<---
\draw (0,0)--(\stepsize:\radius);
\end{tikzpicture}
\end{preview}
\end{document}
В случае с \def\stepsize{\numexpr180/\step\relax}
TikZ был виден неразвернутый макрос, а не само число. \number
вызывает \numexpr
оценку и выдает фактическое число, необходимое TikZ.