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
.
\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 \allmightymath
evaluará expresiones enteras (incluso si no están simplificadas) usando expl3
.
\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 for
bucle e imprime, para cada uno n
de 1
hasta 20
, los valores de n
, n-2
y 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}