将数字添加到命令参数并输出

将数字添加到命令参数并输出

我有一个命令只接受一个参数。我想向该参数添加一个常数并将其包含在输出中。类似于(伪代码):

\newcommand*{\label}[1]{%
    Here is the sum: {#1 + 20}
}

% elsewhere...
\label{22) % should output "Here is the sum: 42"

实现此目的的最简单方法是什么?在谷歌上搜索了一下后,我看到了关于、和其他软件包的讨论calcfp有没有简单且内置的方法来实现这一点?

答案1

有许多软件包可以帮助您执行计算或算术。以下是它的易用性\inteval(来自xfp)来eval评价一个integer 表达式。

在此处输入图片描述

\documentclass{article}

\usepackage{xfp}

\newcommand*{\outputsum}[1]{%
  Here is the sum: \inteval{#1 + 20}%
}

\begin{document}

\outputsum{22} % should output "Here is the sum: 42"

\end{document}

如果你不想使用包并且你的计算相当基础,那么你也可以使用

\newcommand*{\outputsum}[1]{%
  Here is the sum: \number\numexpr#1 + 20\relax%
}

对于使用小数的总和,上述方法不起作用,因为numeric expression 假设整数计算。

我们不要使用\label,因为它通常用于交叉引用。

相关内容