在Emacs中使用org-mode表格和calc进行单位转换

6

有没有一种方法可以使用org-mode表格进行自动单位转换?

我无法让它工作。我的想法是使用一个简单的表格,在其中输入一些盎司重量并让emacs将它们转换为克。

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

我不知道在calc-eval中应该输入什么,在计算模式下,我可以通过输入例如100g,然后按u c进行“转换单位”,然后输入g表示“克”来进行转换。

非常感谢。

2个回答

8

u c 运行 calc-convert-units,以一种独特的方式获取目标单位(即不从堆栈中获取)。底层功能是 math-convert-units,我们可以使用 calc-eval 在字符串和 calc 对象之间进行转换。

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

如何将所有计算出的克数总和添加到此公式顶部?或者,两个计算不能同时进行吗? - kagali-san

1

这似乎更适合使用Simple Emacs Spreadsheet,也称为ses.el,详见emacs wiki page。它已经包含在Gnu Emacs 23中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接