Estou usando um loop for que inicia a variável \n. Como imprimo o resultado de (\n+2)? Eu li sobre e-Tex e LuaTex, mas tudo isso parece um exagero para esta operação simples?
Obrigado desde já!
Responder1
Uma versão muito simples: usando \the\numexpr
.
\documentclass{article}
\def\n{1}
\begin{document}
\n\ + 2: \the\numexpr\n+2
\end{document}
Atualização: A versão mais abrangente. O comando \allmightymath
avaliará expressões inteiras (mesmo que não sejam 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}
Responder2
Aqui está um exemplo do muito poderosoPGFpacote. Com ele você pode fazer contas incríveis dentro do seu documento TeX.
\documentclass{article}
\usepackage{pgfmath,pgffor}
\begin{document}
\foreach \n in {0,1,...,100}{
\pgfmathparse{int(\n+2)}
\pgfmathresult\par
}
\end{document}
Responder3
Aqui está uma solução baseada em LuaLaTeX. Ele inicia um for
loop e imprime, para cada um n
, os valores de , e .1
20
n
n-2
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}