除算を実行しようとすると、うまくいくときもあれば、予期しない値が得られるときもあります。
\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
、それらを別の で使用すると、式は事実上文字通り挿入され、 を意図したときにを評価できます。との両方の末尾にを配置することをお勧めします。\resultrest
\numexpr
\relax
\numexpr
5-1/2
(5-1)/2
\relax
\extatend
\resultrest
他の方法としては、括弧を含めて定義するか、単一の固定値のみが必要な場合は を使用して定義します\edef
。
どの入力に対してどのような予期しない値が得られるかは書かれていないので、単に整数除算を予期していなかった可能性が残ります。