Default Units (The GNU Troff Manual)

#### 5.3.2 Default Units

A general-purpose register (one created or updated with the `nr` request; see see Registers) is implicitly dimensionless, or reckoned in basic units if interpreted in a measurement context. But it is convenient for many requests and escape sequences to infer a scaling unit for an argument if none is specified. An explicit scaling unit (not after a closing parenthesis) can override an undesirable default. Effectively, the default unit is suffixed to the expression if a scaling unit is not already present. GNU `troff`’s use of integer arithmetic should also be kept in mind (see Numeric Expressions).

The `ll` request interprets its argument in ems by default. Consider several attempts to set a line length of 3.5 inches when the type size is 10 points on a terminal device with a resolution of 240 basic units and horizontal motion quantum of 24. Some expressions become zero; the request clamps them to that quantum.

    .ll 3.5i      \" 3.5i (= 840u)
    .ll 7/2       \" 7u/2u -> 3u -> 3m -> 0, clamped to 24u
    .ll (7 / 2)u  \" 7u/2u -> as above
    .ll 7/2i      \" 7u/2i -> 7u/480u -> 0 -> as above
    .ll 7i/2      \" 7i/2u -> 1680u/2m -> 1680u/24u -> 35u
    .ll 7i/2u     \" 3.5i (= 840u)

The safest way to specify measurements is to attach a scaling unit. To multiply or divide by a dimensionless quantity, use ‘`u`’ as its scaling unit.