对用户定义变量执行简单计算

对用户定义变量执行简单计算

在我的文档中,我有一个用户定义的变量,例如:

 \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}

在此处输入图片描述

相关内容