因为 calc 宏包本来就不支持这个语法啊。
允许的语法是:
\setlength\xx{(\aaa + \bbb) * \real{0.5}}
这里,乘法必须是长度在前面,数字因子在后面;常数数字要加 \real 命令。
其实这等价于写底层的 eTeX 语法
\xx = \dimexpr (\aaa + \bbb) * \numexpr 0.5
这是完全对应的。
eTeX 的语法可以读 etex_man 文档;calc 的语法也可以读 calc 的手册。
虽然乘法必须把数字放后面,但长度变量前面可以带因子。我个人会比较喜欢用 eTeX 的语法这样写:
\xx = 0.5\dimexpr(\aaa+\bbb)
【 在 Torri (陶瑞) 的大作中提到: 】
: 使用calc宏包
: 比如定义了三个长度
: \newlength{\testlength}
: ...................
--
FROM 114.249.198.*