Hi Doug, > .NP certainly wasn't there in the beginning, and -ms has been very > stable in the 35 years since. If my guess that it would mean "new > page" is right, the feature would be out of character--why give a new > name to an existing request?
I've done some more digging. 7th Ed.'s usr/lib/tmac/tmac.s has `.wh 0 NP' and NP is called by EM too. It's definition is later, . \"NP new page .de NP .if \\n(FM+\\n(HM>=\\n(.p .tm Margins bigger than page length. .if \\n(FM+\\n(HM>=\\n(.p .ab .if \\n(FM+\\n(HM>=\\n(.p .ex .nr PX \\n(.s .nr PF \\n(.f .if t .CM .if \\n(HM=0 .nr HM 1i 'sp \\n(HMu/2u .lt \\n(LTu .ps \\n(PS .ft 1 .if \\n(PO>0 .po \\n(POu .PT .ps \\n(PX .ft \\n(PF 'sp |\\n(HMu .nr XX 0 1 .nr YY 0-\\n(FMu .ch FO 16i .ch FX 17i .ch FO -\\n(FMu .ch FX \\n(.pu-\\n(FMu .if \\n(MF .FV .nr MF 0 .mk .os .ev 1 .if \\n(TD=0 .if \\n(TC<5 .XK .nr TC 0 .ns .ev .nr TQ \\n(.i .nr TK \\n(.u .if \\n(IT>0 \{\ . in 0 . nf . TT . in \\n(TQu . if \\n(TK .fi\ \} .mk #T .if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide .. So it's stuff to do at the start of a new page, not to get one. Lesk's `Typing Documents on the UNIX System: Using the \-ms Macros with Troff and Nroff' from that edition, found in /usr/doc/msmacros/ms makes no mention of an NP macro, but does list NP in the `String registers used in -ms' table at the end, which seems a way of warning the user off trampling the internal macro given they share a namespace with strings. So Keith's right, an internal feature, probably not for Anton to find in a re-implementation. Cheers, Ralph.