Показать результат сложения

Показать результат сложения

Я использую for-loop, который инициирует переменную \n. Как мне вывести результат (\n+2)? Я читал о e-Tex и LuaTex, но все это кажется излишним для такой простой операции?

Спасибо уже!

решение1

Очень простая версия: использование \the\numexpr.

добавление

\documentclass{article}

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

Обновление: Более полная версия. Команда \allmightymathбудет оценивать целочисленные выражения (даже если они не упрощены) с использованием 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}

решение2

Вот пример очень мощногоПГФпакет. С его помощью вы можете выполнять потрясающие математические вычисления внутри документа TeX.

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

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

решение3

Вот решение на основе LuaLaTeX. Оно инициирует for-цикл и выводит для каждого nот 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}

решение4

Вы можете использовать xfp.

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

введите описание изображения здесь

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

введите описание изображения здесь

Связанный контент