Интерактивная система просмотра системных руководств (man-ов)
groff_diff (7) ( FreeBSD man: Макропакеты и соглашения )
>> groff_diff (7) ( Linux man: Макропакеты и соглашения )
groff_diff - differences between GNU troff and classical troff
This manual page describes the language differences between
text processing system and the classical
formatter of the freely available Unix~7 of the 1970s, documented in
Troff User's Manual
This inludes the roff language as well as the intermediate output
format (troff output).
gives pointers to both the classical
and the modern
At the moment, this document is the place of the most actual
documentation within the
This might change in the future.
Actually, all novelties of the groff language are first described here
and will pervade into the other documents only at a later stage.
In this section, all additional features of
compared to the classical Unix~7
are described in detail.
The names of number registers, fonts, strings/:macros/:diversions,
special characters, and colors can be of any length.
In escape sequences, additionally to the classical
construction for a two character name, you can use
for a name of arbitrary length, for example in
Print the special character called
is a new syntax equal to
i.e., to return to the previous font.
[rs]*[xxx arg1 arg2 ...]
Interpolate number register
is equal to
is specified in the
file (1 by default).
There is a new scale indicator
that has the effect of multiplying by sizescale.
Requests and escape sequences in troff interpret arguments that
represent a pointsize as being in units of scaled points, but they
evaluate each such argument using a default scale indicator of
Arguments treated in this way are the argument to the
request, the third argument to the
request, the second and fourth arguments to the
request, the argument to the
escape sequence, and those variants of the
escape sequence that take a numeric expression as their argument.
For example, suppose sizescale is 1000; then a scaled point will be
equivalent to a millipoint; the call
is equivalent to
and so sets the pointsize to 10250 scaled points, which is equal to
The number register
returns the pointsize in points as decimal fraction.
There is also a new number register
that returns the pointsize in scaled points.
It would make no sense to use the
scale indicator in a numeric expression whose default scale indicator
Similarly it would make no sense to use a scaling indicator other than
in a numeric expression whose default scale indicator was
disallows this as well.
There is also new scale indicator~s
which multiplies by the number of units in a scaled point.
So, for example,Segmentation fault (core dumped)