LateX中的变量评估

时间:2010-08-19 11:55:32

标签: variables latex evaluation

我有以下乳胶代码:

\def\a{1}
\def\b{2}
\def\c{\a+\b}
\def\d{\c/2}

我希望\ d的值为1.5。但事实并非如此。但是,在\ c的定义中添加括号

\def\c{\a+\b}

也不起作用,因为如果我在某处使用\ c,它会抱怨括号。有没有办法在\ d的定义中将它除以2之前评估\ c?像:

\def\d{\eval{\c}/2}

(我做了\ eval以显示我的意思)

2 个答案:

答案 0 :(得分:3)

您可以使用calc包进行算术运算。包fp与实数一起使用。

为了讨论LaTeX问题,请您访问tex.stackexchange.com

答案 1 :(得分:2)

您需要记住\def是关于创建替换文本。除了对数学一无所知之外,它总会让你回到原来的状态。如果我们假设您正在使用e-TeX(可能),那么对于整数表达式,您可以使用

\def\a{1}
\def\b{2}
\edef\c{\number\intexpr \a + \b \relax}
\edef\d{\number\intexpr \c / 2 \relax}

这使用e-TeX原语\intexpr,它执行整数数学运算。对于实数,Stefan是正确的,fp包是最好的方法。