【问题标题】:Variable evaluation in LateXLateX 中的变量评估
【发布时间】:2010-08-19 11:55:31
【问题描述】:

我有以下一段乳胶代码:

\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 来说明我的意思)

【问题讨论】:

    标签: variables latex evaluation


    【解决方案1】:

    您可以使用calc 包进行算术运算。 fp 包适用于实数。

    如需讨论 LaTeX 问题,请访问tex.stackexchange.com

    【讨论】:

      【解决方案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 包是最好的方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-28
        • 1970-01-01
        • 2015-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多