To support documents that require more than filling, automatic line
breaking and hyphenation, adjustment, and supplemental inter-sentence
space, the roff
language offers two means of embedding
instructions to the formatter.
One is a request, which begins with a control character and takes up the remainder of the input line. Requests often perform relatively large-scale operations such as setting the page length, breaking the line, or starting a new page. They also conduct internal operations like defining macros.
The other is an escape sequence, which begins with the escape character and can be embedded anywhere in the input, even in arguments to requests and other escape sequences. Escape sequences interpolate special characters, strings, or registers, and handle comparatively minor formatting tasks like sub- and superscripting.
Some operations, such as font selection and type size alteration, are available via both requests and escape sequences.