ms Naming Conventions (The GNU Troff Manual)

#### 4.6.9 Naming Conventions

The following conventions are used for names of macros, strings, and registers. External names available to documents that use the `groff` `ms` macros contain only uppercase letters and digits.

Internally, the macros are divided into modules. Conventions for identifier names are as follows.

- Names used only within one module are of the form module`*`name.
- Names used outside the module in which they are defined are of the form module`@`name.
- Names associated with a particular environment are of the form environment`:`name; these are used only within the `par` module.
- name does not have a module prefix.
- Constructed names used to implement arrays are of the form array`!`index.

Thus the `groff` `ms` macros reserve the following names.

- Names containing the characters `*`, `@`, and `:`.
- Names containing only uppercase letters and digits.