groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] is .NP still in ms?


From: Ralph Corderoy
Subject: Re: [Groff] is .NP still in ms?
Date: Wed, 04 Feb 2015 13:19:38 +0000

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]