groff: Naming Conventions

 
 4.3.8 Naming Conventions
 ------------------------
 
 The following conventions are used for names of macros, strings and
 number 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; naming conventions
 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.