Ergebnis der Addition anzeigen

Ergebnis der Addition anzeigen

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.

Zusatz

\documentclass{article}

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

Update: Die umfangreichere Version. Der Befehl \allmightymathwird ganzzahlige Ausdrücke (auch wenn sie nicht vereinfacht sind) mit auswerten expl3.

Ganzzahlausdrücke

\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 nvon 1bis 20die 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}

Antwort4

Sie können verwenden xfp.

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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

verwandte Informationen