groff: General ms Structure

 
 4.3.2 General structure of an 'ms' document
 -------------------------------------------
 
 The 'ms' macro package expects a certain amount of structure, but not as
 much as packages such as 'man' or 'mdoc'.
 
    The simplest documents can begin with a paragraph macro (such as 'LP'
 or 'PP'), and consist of text separated by paragraph macros or even
 blank lines.  Longer documents have a structure as follows:
 
 *Document type*
      If you invoke the 'RP' (report) macro on the first line of the
      document, 'groff' prints the cover page information on its own
      page; otherwise it prints the information on the first page with
      your document text immediately following.  Other document formats
      found in AT&T 'troff' are specific to AT&T or Berkeley, and are not
      supported in 'groff'.
 
 *Format and layout*
      By setting number registers, you can change your document's type
      (font and size), margins, spacing, headers and footers, and
      footnotes.  ⇒ms Document Control Registers, for more
      details.
 
 *Cover page*
      A cover page consists of a title, the author's name and
      institution, an abstract, and the date.(1)  (⇒General ms
      Structure-Footnote-1) ⇒ms Cover Page Macros, for more
      details.
 
 *Body*
      Following the cover page is your document.  You can use the 'ms'
      macros to write reports, letters, books, and so forth.  The package
      is designed for structured documents, consisting of paragraphs
      interspersed with headings and augmented by lists, footnotes,
      tables, and other common constructs.  ⇒ms Body Text, for
      more details.
 
 *Table of contents*
      Longer documents usually include a table of contents, which you can
      invoke by placing the 'TC' macro at the end of your document.  The
      'ms' macros have minimal indexing facilities, consisting of the
      'IX' macro, which prints an entry on standard error.  Printing the
      table of contents at the end is necessary since 'groff' is a
      single-pass text formatter, thus it cannot determine the page
      number of each section until that section has actually been set and
      printed.  Since 'ms' output is intended for hardcopy, you can
      manually relocate the pages containing the table of contents
      between the cover page and the body text after printing.