2010-09-22 22 views
5

Existe-t-il un moyen d'utiliser une table de mode org pour effectuer une conversion automatique d'unité?Utilisation d'une table de mode org dans emacs pour convertir des unités en utilisant calc

Je ne peux pas le faire fonctionner. Ce que je voulais faire est d'utiliser une simple table où je peux entrer des poids en onces et laisser Emacs les convertir en gramms.

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

Je ne trouve pas quoi mettre dans le calc-eval, en mode calc je ferais la conversion en entrant f.i. 100g, puis en appuyant sur u c pour "convertir l'unité", puis en entrant g pour "gramm".

Merci beaucoup.

Répondre

6

u c fonctionne calc-convert-units, qui obtient l'unité cible d'une manière particulière (non de la pile). La fonction sous-jacente est math-convert-units, et nous pouvons utiliser calc-eval pour convertir entre les chaînes et les objets calc.

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

Travailler comme un charme, merci. – Moschter

+0

Comment ajouter une somme de tous les grammes calculés en plus de cette formule? ou, deux calculs ne peuvent pas être faits en même temps? –

1

Cela ressemble plus à un travail de simple feuille de calcul Emacs alias ses.el, voir emacs wiki page Il est inclus avec Gnu Emacs 23.