Ich verwende eine For-Schleife, die die Variable \n initiiert. Wie drucke ich das Ergebnis von (\n+2) aus? Ich habe von e-Tex und LuaTex gelesen, aber das alles scheint für diese einfache Operation übertrieben?
Danke schon mal!
Antwort1
Eine ganz einfache Variante: Verwenden Sie \the\numexpr
.
\documentclass{article}
\def\n{1}
\begin{document}
\n\ + 2: \the\numexpr\n+2
\end{document}
Update: Die umfangreichere Version. Der Befehl \allmightymath
wird ganzzahlige Ausdrücke (auch wenn sie nicht vereinfacht sind) mit auswerten 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}
Antwort2
Hier ist ein Beispiel für die sehr mächtigePGFPaket. Damit können Sie tolle mathematische Berechnungen in Ihrem TeX-Dokument durchführen.
\documentclass{article}
\usepackage{pgfmath,pgffor}
\begin{document}
\foreach \n in {0,1,...,100}{
\pgfmathparse{int(\n+2)}
\pgfmathresult\par
}
\end{document}
Antwort3
Hier ist eine LuaLaTeX-basierte Lösung. Sie initiiert eine for
-Schleife und druckt für jedes n
von 1
bis 20
die Werte von n
, n-2
, und aus 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}