
Tentei fazer alguns cálculos no TeX para me ajudar a desenhar uma imagem e não consigo superar esse erro:
! Missing \endcsname inserted.
<to be read again>
\numexpr
l.12 \draw (0,0)--(\stepsize:\radius)
;
Este é o código mínimo:
\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}
Olhando um exemplo aleatório na internetdevetrabalho, mas provavelmente estou negligenciando algo muito trivial ou não entendo algo básico.
Responder1
Eu tive um problema semelhante e resolvi-o com o uso de \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}
Com \def\stepsize{\numexpr180/\step\relax}
o TikZ estava vendo a macro não expandida, não o número em si. \number
faz com \numexpr
que seja avaliado e produz o número real que o TikZ precisa.