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 posi-
               tion 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 (Courier 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 out-
               put.
          .X text
               Present text to the hidden page-makeup program as part
               of a device-dependent output sequence x X text. Equiva-
               lent to \X'text'.

     Page 1                       Plan 9             (printed 4/19/24)

     MPM(6)                                                     MPM(6)

          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,
               in points.

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

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

     SEE ALSO
          ms(6), troff(1)
          B. W. Kernighan and C. J. Van Wyk, `The -mpm Macro Package',
          UNIX Research System Programmer's Manual, 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 4/19/24)