## 12.8. Predefined Registers

There are two types of predefined registers: read-only and read-write. These are all accessed via the `\n` escape sequence, even though some of them actually return string values.

### 12.8.1. Read-Only Registers

`.$` | Number of arguments available at the current macro level.
`$$` | Process ID of `troff` process (`ditroff` only).
`.A` | Set to 1 in `troff`, if `-a` option used; always 1 in `nroff`.
`.F` | Name of the current input file (recent `ditroff` only).
`.H` | Available horizontal resolution in basic units.
`.L` | Current line spacing (set by `.ls`) value (recent `ditroff` only).
`.R` | Number of unused number registers (recent `ditroff` only).
`.T` | Set to 1 in `nroff`, if `-T` option used; always 0 in `oroff`; in `ditroff`, the string `\*(.T` contains the value of `-T`.
`.V` | Available vertical resolution in basic units.
`.a` | Post-line extra line space most recently utilized using `\x'``n``'`.
`.b` | Emboldening level (recent `ditroff` only).
`.c` | Number of lines read from current input file.
`.d` | Current vertical place in current diversion; equal to register `nl` when there is no diversion.
`.f` | Current font as number (1 to 4 in `otroff`; 1 to 99 in `ditroff`).
`.h` | Text baseline high-water mark on current page or diversion.
`.i` | Current indent.
`.j` | Current adjustment mode.
`.k` | Current output horizontal position.
`.l` | Current line length.
`.n` | Length of text portion on previous output line.
`.o` | Current page offset.
`.p` | Current page length.
`.s` | Current point size.
`.t` | Distance to the next trap.
`.u` | Equal to 1 in fill mode and 0 in no-fill mode.
`.v` | Current vertical line spacing.
`.w` | Width of previous character.
`.x` | Reserved version-dependent register.
`.y` | Reserved version-dependent register.
`.z` | Name of current diversion.

### 12.8.2. Read-Write Registers

`%` | Current page number.
`ct` | Character type (set by `\w` function).
`dl` | Width (maximum) of last completed diversion.
`dn` | Height (vertical size) of last completed diversion.
`dw` | Current day of the week (1 to 7).
`dy` | Current day of the month (1 to 31).
`hp` | Current horizontal place on input line.
`ln` | Output line number.
`mo` | Current month (1 to 12).
`nl` | Vertical position of last printed text baseline.
`sb` | Depth of string below baseline (generated by `\w` function).
`st` | Height of string above baseline (generated by `\w` function).
`yr` | Years since 1900.[2] Yes, there's a potential Y2K problem here.

[2] This will be 100 in 2000.

Copyright © 2003 O'Reilly & Associates. All rights reserved.