Eric Abrahamsen <e...@ericabrahamsen.net> writes: > I've been playing with calc-units, and it's pretty amazing. See all the > units with `calc-view-units-table'. > > Some calc-units stuff works out the box (maybe have to require > calc-units?), I think this should be mentioned in the manual: > > | distance | time | speed | > |----------+--------+-------------| > | 3 km | 2.5 hr | 1.2 km / hr | > > #+TBLFM: @2$3=$1/$2 > > Who knew it could do that?! Probably everyone but me... It doesn't need > the constants.el package, and looks nicer in the input, to boot. > > calc-units makes a few of its functions available via defmath: > > | speed | simplified speed | > |--------------+------------------| > | 40km / 2.5hr | 16. km / hr | > | | | > > #+TBLFM: @2$2=usimplify($1) > > But it's got a lot more tricks. I think unit conversion would be very > handy to have, but there's something I'm not getting about using > defmath. For instance, this works: > > | km | ft | > |-------+---------| > | 2.5km | 8202.10 | > > #+TBLFM: $2='(calc-eval (math-convert-units (calc-eval $1 'raw) (calc-eval > "ft" 'raw))); %.2f
I wonder if the problem is the 'raw in here. To the best of my knowledge, calc-eval needs that 'raw flag to work properly with this. But it doesn't look like `org-table-eval-formula' will ever send that flag. I hope someone who knows this code better than me can comment...