11.2 The Units Table

The u v (calc-enter-units-table) command displays the units table in another buffer called *Units Table*. Each entry in this table gives the unit name as it would appear in an expression, the definition of the unit in terms of simpler units, and a full name or description of the unit. Fundamental units are defined as themselves; these are the units produced by the u b command. The fundamental units are meters, seconds, grams, kelvins, amperes, candelas, moles, radians, and steradians.

The Units Table buffer also displays the Unit Prefix Table. Note that two prefixes, “kilo” and “hecto,” accept either upper- or lower-case prefix letters. ‘Meg’ is also accepted as a synonym for the ‘M’ prefix. Whenever a unit name can be interpreted as either a built-in name or a prefix followed by another built-in name, the former interpretation wins. For example, ‘2 pt’ means two pints, not two pico-tons.

The Units Table buffer, once created, is not rebuilt unless you define new units. To force the buffer to be rebuilt, give any numeric prefix argument to u v.

The u V (calc-view-units-table) command is like u v except that the cursor is not moved into the Units Table buffer. You can type u V again to remove the Units Table from the display. To return from the Units Table buffer after a u v, type C-x * c again or use the regular Emacs C-x o (other-window) command. You can also kill the buffer with C-x k if you wish; the actual units table is safely stored inside the Calculator.

The u g (calc-get-unit-definition) command retrieves a unit’s defining expression and pushes it onto the Calculator stack. For example, u g in will produce the expression ‘2.54 cm’. This is the same definition for the unit that would appear in the Units Table buffer. Note that this command works only for actual unit names; u g km will report that no such unit exists, for example, because km is really the unit m with a k (“kilo”) prefix. To see a definition of a unit in terms of base units, it is easier to push the unit name on the stack and then reduce it to base units with u b.

The u e (calc-explain-units) command displays an English description of the units of the expression on the stack. For example, for the expression ‘62 km^2 g / s^2 mol K’, the description is “Square-Kilometer Gram per (Second-squared Mole Degree-Kelvin).” This command uses the English descriptions that appear in the righthand column of the Units Table.