Follow-up Comment #4, bug #62265 (project groff): [comment #3 comment #3:] > The detailed analysis in http://lists.gnu.org/r/groff/2022-07/msg00223.html suggests that this and bug #62471 are respectively the vertical and horizontal manifestations of the same bug.
Unfortunately there were some analytical problems with that rambling epic. Not only did I correct one point <https://lists.gnu.org/archive/html/groff/2022-07/msg00267.html>, but it appears another must fall--this one. The problem with my original submission (comment #0) was that I forgot about the paragraph distance inserted before the section heading. (At present, this is implemented by the `an-break-paragraph` macro.) Worse, I helped mislead myself by putting the `.br` _after_ the two empty requests I use to annotate the expected presence of vertical space. However in this case there is the additional complication that the horizontal rule _does_ eat an additional vee--but only on nroff devices. Here is a new exhibit that works as I expect. I have instrumented it so that the interested reader can play with the `PL` register and see if they can contrive to break the poor man's keep implemented with the `ne` request. $ cat EXPERIMENTS/sh-then-table.man .if r PL .pl \n(PLu .TH sh\-then\-table 1 2022-07-30 "groff test suite" .SH Name sh\-then\-table \- experiment .SH Description Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. . . .br .if t .ne 4v .if n .ne 6v \" account for \n[PD] and horizontal rule .SH Options .TS Lb Lb. Flag Description _ \-a Do it all. .TE $ for n in $(seq 19 26); do read -p "PL=${n}v? "; ./build/test-groff -t -man -rPL=${n}v -rcR=0 -Tascii EXPERIMENTS/sh-then-table.man; done I think there are 3 issues here. 1. I boneheadedly misled myself as noted above. Not much can be done about that. Well, others might do the same. See item 3, below. 2. The tbl(1) man page could add some cautions to nroff-oriented tbl users about the vertical size of rules and box borders. 3. The man(7) package could really use keep macros. I'm really itching to scandalize Ingo by adding yet another feature. But this one would be really useful. With ms(7)-like KS/KE macros, the user would never need to count lines--as I have done, erroneously, multiple times--and nothing bad happens if an implementation doesn't support them. Well, nothing worse than would have happened anyway. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?62265> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
