我有一个命令只接受一个参数。我想向该参数添加一个常数并将其包含在输出中。类似于(伪代码):
\newcommand*{\label}[1]{%
Here is the sum: {#1 + 20}
}
% elsewhere...
\label{22) % should output "Here is the sum: 42"
实现此目的的最简单方法是什么?在谷歌上搜索了一下后,我看到了关于、和其他软件包的讨论calc
。fp
有没有简单且内置的方法来实现这一点?
答案1
有许多软件包可以帮助您执行计算或算术。以下是它的易用性\inteval
(来自xfp
)来eval
评价一个int
eger 表达式。
\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%
}
对于使用小数的总和,上述方法不起作用,因为num
eric expr
ession 假设整数计算。
我们不要使用\label
,因为它通常用于交叉引用。