4.3.7 Differences from AT&Tms

This section lists the (minor) differences between the groff -ms
macros and AT&Ttroff -ms macros.

The internals of groff -ms differ from the internals of
AT&Ttroff -ms. Documents that depend upon
implementation details of AT&Ttroff -ms may not format
properly with groff -ms.

The general error-handling policy of groff -ms is to detect and
report errors, rather than silently to ignore them.

groff -ms does not work in compatibility mode (this is, with the
-C option).

There is no special support for typewriter-like devices.

groff -ms does not provide cut marks.

Multiple line spacing is not supported. Use a larger vertical spacing
instead.

Some UNIXms documentation says that the CW and
GW number registers can be used to control the column width and
gutter width, respectively. These number registers are not used in
groff -ms.

Macros that cause a reset (paragraphs, headings, etc.) may change the
indentation. Macros that change the indentation do not increment or
decrement the indentation, but rather set it absolutely. This can cause
problems for documents that define additional macros of their own. The
solution is to use not the in request but instead the RS
and RE macros.

To make groff -ms use the default page offset (which also
specifies the left margin), the PO register must stay undefined
until the first -ms macro is evaluated. This implies that
PO should not be used early in the document, unless it is changed
also: Remember that accessing an undefined register automatically
defines it.

Register: \n[GS]

This number register is set to 1 by the groff -ms macros,
but it is not used by the AT&Ttroff -ms macros.
Documents that need to determine whether they are being formatted with
AT&Ttroff -ms or groff -ms should use this number
register.

Emulations of a few ancient Bell Labs macros can be re-enabled by
calling the otherwise undocumented SC section-header macro.
Calling SC enables UC for marking up a product or
application name, and the pair P1/P2 for surrounding code
example displays.

These are not enabled by default because (a) they were not
documented, in the original ms manual, and (b) the P1
and UC macros collide with different macros with the same names
in the Berkeley version of ms.

These groff emulations are sufficient to give back the 1976
Kernighan & Cherry paper Typsetting Mathematics – User’s
Guide its section headings, and restore some text that had gone missing
as arguments of undefined macros. No warranty express or implied is
given as to how well the typographic details these produce match the
original Bell Labs macros.