我正在嘗試進行除法,有時它有效,有時我會獲得意想不到的價值。
\documentclass[fleqn]{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{cancel}
\begin{document}
\newcommand\coeff{5}
\newcommand\addend{13}
\newcommand\result{45}
\newcommand\exaddend{\the\numexpr\addend*\coeff}
\newcommand\resultrest{\the\numexpr\result-\exaddend}
\begin{align*}
\coeff x+\exaddend&=\result \\
-\exaddend&=-\exaddend\\
\coeff x&=\resultrest\\
\frac{\cancel{\coeff}x}{\cancel{\coeff}}&=\frac{\resultrest}{\coeff}\\
x&=\boxed{\the\numexpr\resultrest/\coeff\relax}
\end{align*}\vspace{1em}
\end{document}
如果我使用固定值,它會起作用:
看起來最後一行\the\numexpr\resultrest/\coeff\relax
似乎產生了問題。請幫忙!
答案1
您定義了\extatend
and\resultrest
且未終止\numexpr
(no \relax
),因此當您在另一個 中使用它們時\numexpr
,表達式實際上是按字面插入的,因此您可以5-1/2
在您想要的時候進行評估(5-1)/2
。我建議你把和放在\relax
最後。\extatend
\resultrest
其他替代方法是定義它們,包括括號,或者如果您只需要一個固定值,請使用 定義它們\edef
。
您沒有說出哪個輸入得到什麼意外值,因此仍然有可能您只是沒有預料到整數除法。