Выполнять простые вычисления с пользовательскими переменными

Выполнять простые вычисления с пользовательскими переменными

В моем документе есть пользовательская переменная, например:

 \newcommand{\MyNumber}{30}

Предположим, если я хочу использовать производную от \MyNumber, это может быть \MyNumber+10, 100-\MyNumber, 5*\MyNumber от \MyNumber/5, можно ли это сделать?

На шаг вперед, если у меня есть:

\newcommand{\MyNumberA}{30}

\newcommand{\MyNumberB}{60}

Могу ли я использовать \MyNumberA+\MyNumberB?

решение1

Вы можете использовать etexвозможности для простых расчетов:

\numexpr (\MyNumberA + 2* \MyNumberN)/3 \relax `

вычисляет среднее взвешенное значение \MyNumberA и \MyNumberB.

Аналогично можно выполнять расчеты с размерами, используя \dimexpr.

решение2

Все это можно сделать с помощью счетчиков Plain TeX/LaTeX.

\documentclass{article}
\pagestyle{empty}% for cropping
\begin{document}
\obeylines%
\newcount\MyNumber%
\MyNumber=30%
\def\tp#1{\texttt{\string\MyNumber #1} =}%
\tp{} \the\MyNumber
\advance\MyNumber by 10\relax%
\tp{ + 10} \the\MyNumber
\multiply\MyNumber by 100\relax%
\tp{ * 100} \the\MyNumber

\medskip
Adding numbers:
\newcount\MyNumberA
\newcount\MyNumberB
\MyNumberA=30
\MyNumberB=60
\the\MyNumberA + \the\MyNumberB = \the\numexpr\MyNumberA + \MyNumberB\relax
\end{document}

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

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