MPM(6)                                                     MPM(6)

     NAME
          mpm, mspe - macros for page makeup

     SYNOPSIS
          troff -mpm file ...

          troff -mspe file ...

     DESCRIPTION
          These troff(1) macros, largely compatible with ms(6), make
          better pages.  They silently invoke and provide information
          to a postprocessor that moves floating figures, avoids wid-
          ows, and justifies pages vertically by stretching vertical
          spaces that result from .PP, .LP, .IP, .QP, .SH, .NH,
          .DS/.DE, .EQ/.EN, .TS/.TE, .PS/.PE, .P1/.P2, and .QS/.QE.
          The packages support different styles:

          -mpm   generic
          -mspe  Software-Practice and Experience

          The following macros are different from or not part of -ms.
          Values denoted n have default value 1v.

          .BP       Begin a new page.
          .FL       Flush: force out previous keeps.
          .FC       Finish a two-column region and start a new one.
          .KF m     Floating keep, with preferred center at vertical
                    position m. Special values `top' (default) and
                    `bottom' are permitted.
          .NE n     Start new page if remaining vertical space on this
                    page is less than n.
          .P1       Begin a program display (constant width font).
          .P2       End a program display.
          .P3       Insert optional break point in program display.
          .SP n exactly
          .SP n     Insert vertical space of height n, stretchable
                    unless exactly is present.
          .Tm text  Place page number and text on the standard error
                    output.
          .X text   Present text to the hidden page-makeup program as
                    part of a device-dependent output sequence x X
                    text. Equivalent to \X'text'.

          Useful number registers:
          HM   Header margin; default 1 inch.
          FM   Footer margin; default 1 inch.
          FO   Footer position; default 10 inches.
          %#   Page number of current page.
          dP,dV
               Shrinkage of point size and vertical spacing for .P1,

     Page 1                       Plan 9            (printed 11/18/24)

     MPM(6)                                                     MPM(6)

               in points.

          Useful strings:
          %e,%o
               Even and odd page title commands, as .tl ''''.

     FILES
          /sys/lib/tmac/tmac.pm
          /$cputype/bin/aux/pm

     SOURCE
          /sys/src/cmd/pm

     SEE ALSO
          ms(6), troff(1)
          B. W. Kernighan and C. J. Van Wyk, ``The -mpm Macro Pack-
          age'', Unix Research System Programmer's Manual, Tenth Edi-
          tion, Volume 2.

     BUGS
          These features of -ms are missing:
               Document styles other than the default .RP.
               Space between front matter and first paragraph.
               Recover it with .SP 2.
               Separating rule above footnotes.
               Keeps assigned to a separate page.
               Pages with more than two columns.
          Troff option -o doesn't work with -mpm because only the
          postprocessor knows the page numbers.

     Page 2                       Plan 9            (printed 11/18/24)