2010-09-22 11 views
5

Gibt es eine Möglichkeit, eine Org-Modus-Tabelle zu verwenden, um automatische Einheitenumwandlung durchzuführen?Verwenden einer Org-Modus-Tabelle in Emacs zum Konvertieren von Einheiten mit Hilfe von calc

Ich kann es nicht zum Laufen bringen. Was ich tun wollte, ist eine einfache Tabelle, wo ich einige Gewichte in Unzen eingeben und Emacs in Gramm umwandeln kann.

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

Ich fand nicht heraus, was in den Calc-eval zu setzen, in Calc-Modus i die Umwandlung tun würde, F. I. durch Eingabe 100g, drücken Sie dann u c für "Einheit umwandeln" und geben Sie dann g für "gramm" ein.

Vielen Dank.

Antwort

6

u c Läufe enthalten ist calc-convert-units, die die Zieleinheit in eigentümlicher Weise erhält (dh nicht vom Stapel). Die zugrundeliegende Funktion ist math-convert-units, und wir können calc-eval verwenden, um zwischen Zeichenfolgen und calc-Objekten zu konvertieren.

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

Arbeiten wie ein Charme, danke. – Moschter

+0

Wie füge ich eine Summe aller berechneten Gramm zu dieser Formel hinzu? oder, zwei Berechnungen können nicht gleichzeitig gemacht werden? –

1

Das klingt wie ein Job für Simple Emacs Kalkulationstabelle aka ses.el finden emacs wiki page Es mit Gnu Emacs 23.