我尝试在 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}
TikZ\def\stepsize{\numexpr180/\step\relax}
看到的是未扩展的宏,而不是数字本身。\number
导致\numexpr
被评估并产生 TikZ 需要的实际数字。