Hi Doug, At 2023-11-10T17:55:18-0500, Douglas McIlroy wrote: > This diagnostic in -ms 1.23.0 breaks a document that works with 1.22.4: > > error: .AB is not allowed after first .AB, .LP, .PP, .IP, .SH or .NH > > This dictum is unreasonably prescriptive. The "error" is the > appearance of .LP in a cover sheet for the document.
Where in the cover sheet? I find I can use it without error or disruption inside an abstract. See attachment. If I abuse `LP` to try to put some space after an author, say to name another author, then I get similar diagnostics. --- /tmp/LP-in-abstract-OK.ms 2023-11-10 17:27:48.780369355 -0600 +++ /tmp/LP-in-abstract-BAD.ms 2023-11-10 17:27:48.780369355 -0600 @@ -3,6 +3,8 @@ The Twin Prime Paradox .AU I. M. Brilliante +.LP +T. S. Clown .AI Bumblescum College .AB $ nroff -ms -z /tmp/LP-in-abstract-BAD.ms s.tmac:/tmp/LP-in-abstract-BAD.ms:10: error: .AB is not allowed after first .AB, .LP, .PP, .IP, .SH or .NH s.tmac:/tmp/LP-in-abstract-BAD.ms:22: error: .AE without .AB But without seeing your input, I can't be sure that's what's going on. Let me attempt to stick to my prescriptivist guns and see if I am persuasive. In ms(7), paragraphing macros have multiple functions. They end a previous paragraph, they start a new one, and--importantly for our purposes--they tell the macro package that the document's front matter is complete and that the document proper is starting. Document description macros Define information describing the document by calling the macros below in the order shown; .DA or .ND can be called to set the document date (or other identifier) at any time before (a) the abstract, if present, or (b) its information is required in a header or footer. Use of these macros is optional, except that .TL is mandatory if any of .RP, .AU, .AI, or .AB is called, and .AE is mandatory if .AB is called. [synopses for RP, TL, AU, AI, DA, ND, AB, and AE follow] So when `LP` or `PP` appears as the next macro call after `TL`,[1] how is the package to know whether you're using it to get some space in the output, or inaugurating your main matter? After my "Retypesetting Mathematics" adventure, where I observed many differences among ms(7) implementations in vertical placement of cover sheet material,[2] I decided that only safe way to manage vertical spacing in ms(7) front matter was with formatter requests--except inside an abstract, where you have more flexibility because it's block-structured: there _must_ be an `AE` call to conclude the abstract, so the macro package does not get into a confused state. What do you think? If I am not persuasive, please consider sharing the document source, or at least the initial part of it, with me and I'll see what happens when I crash my mental model of The Right Way(tm) up against the work of your practiced hand. Regards, Branden [1] or `AU`, or `AI` [2] https://github.com/g-branden-robinson/retypesetting-mathematics
LP-in-abstract-OK.ms
Description: Troff MS-macros document
signature.asc
Description: PGP signature