Mostrar el resultado de la suma

Mostrar el resultado de la suma

Estoy usando un bucle for que inicia la variable \n. ¿Cómo imprimo el resultado de (\n+2)? He leído sobre e-Tex y LuaTex, pero ¿todo esto parece excesivo para esta simple operación?

¡Gracias desde ya!

Respuesta1

Una versión muy simple: usando \the\numexpr.

suma

\documentclass{article}

\def\n{1}
\begin{document}
    \n\ + 2: \the\numexpr\n+2
\end{document}

Actualización: la versión más completa. El comando \allmightymathevaluará expresiones enteras (incluso si no están simplificadas) usando expl3.

expresiones enteras

\documentclass{article}

\usepackage{expl3,xparse}
\ExplSyntaxOn
\NewDocumentCommand { \allmightymath } { m }
    {
        \int_eval:n { #1 }
    }
\ExplSyntaxOff

\def\n{1}
\begin{document}
    \n\ + 2: \the\numexpr\n+2\\
    \allmightymath{4*(\n-1)+2}\\
    \def\n{2}
    \allmightymath{4*(\n-1)+2}
\end{document}

Respuesta2

He aquí un ejemplo de lo muy poderosoPGFpaquete. Con él puedes hacer algunos cálculos increíbles dentro de tu documento TeX.

\documentclass{article}
\usepackage{pgfmath,pgffor}
\begin{document}

\foreach \n in {0,1,...,100}{
  \pgfmathparse{int(\n+2)}
  \pgfmathresult\par
}
\end{document}

Respuesta3

Aquí hay una solución basada en LuaLaTeX. Inicia un forbucle e imprime, para cada uno nde 1hasta 20, los valores de n, n-2y 4(n-1)+2.

\documentclass{article}
\begin{document}
\directlua{%
   for n = 1 , 20 do
     tex.sprint ( n .. " ".. n+2 .. " ".. 4*(n-1)+2 .. "\string\\par" )
   end}
\end{document}

Respuesta4

Puedes usar xfp.

\documentclass{article}
\usepackage{xfp}
\begin{document}
$1 + 2 = \fpeval{1+2}$
\end{document}

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{xfp}
\begin{document}
\def\n{1}
$4 (n-1) + 2 = \fpeval{4*(\n-1)+2}$
\end{document}

ingrese la descripción de la imagen aquí

información relacionada