Estoy tratando de realizar una división y a veces funciona y otras veces obtengo un valor inesperado.
\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}
Funciona si uso valores fijos:
parece que la última línea \the\numexpr\resultrest/\coeff\relax
parece producir el problema. ¡Por favor ayuda!
Respuesta1
Usted definió \extatend
y \resultrest
con sin terminar \numexpr
(no \relax
), de modo que cuando los use en otro \numexpr
, la expresión efectivamente se inserta literalmente, por lo que puede evaluar 5-1/2
cuando pretendía (5-1)/2
. Te sugiero que pongas \relax
al final de ambos \extatend
y \resultrest
.
Otras alternativas son definirlos incluyendo paréntesis, o si desea un solo valor fijo, definirlos usando \edef
.
No dices qué valor inesperado obtienes para cada entrada, por lo que sigue existiendo la posibilidad de que simplemente no esperabas una división entera.