在emacs中使用组织模式表来使用calc转换单位

时间:2010-09-22 13:08:46

标签: emacs org-mode calc

有没有办法使用组织模式表进行自动单位转换?

我无法让它发挥作用。我想要做的是使用一个简单的表格,我可以输入一些盎司的权重,让emacs将它们转换成语法。

|---------+---------------|
| 100oz   |  ??g          |
| 50oz    |  ??g          |
|---------+---------------|
#+TBLFM: $2='(calc-eval ?????)

我没有找到将什么放入calc-eval,在calc模式下我会通过输入f.i进行转换。 100g,然后按u c选择“转换单位”,然后输入g代表“gramm”。

非常感谢。

2 个答案:

答案 0 :(得分:6)

u c运行calc-convert-units,它以一种特殊的方式(即不是从堆栈中)获得目标单位。基础函数是math-convert-units,我们可以使用calc-eval在字符串和计算对象之间进行转换。

|---+-------+-----------------|
| # | 100oz | 2834.9523125 g  |
| # | 50oz  | 1417.47615625 g |
|---+-------+-----------------|
#+TBLFM: $3='(calc-eval (math-convert-units (calc-eval $2 'raw) (calc-eval "g" 'raw)))

答案 1 :(得分:1)

这听起来更像是Simple Emacs Spreadsheet aka ses.el的工作,请参阅emacs wiki page 它包含在Gnu Emacs 23中。