At 2024-10-07T23:33:08+0000, Bjarni Ingi Gislason wrote:
>   Rendering the man page "nft.8" (package "nftables") with "groff" shows:
> 
> nft.8:3769: error: boxed table does not fit on page 29; use .TS H/.TH with a
> supporting macro package
> nft.8:4127: error: boxed table does not fit on page 30; use .TS H/.TH with a
> supporting macro package
> troff:nft.8:4305: warning [p 31, 5.4i, div '3tbd2,1', 0.3i]: cannot adjust
> line
> troff:nft.8:6293: warning [p 43, 8.3i, div '3tbd10,0', 0.2i]: cannot break
> line
> troff:nft.8:6341: warning [p 43, 8.3i, div '3tbd13,3', 0.2i]: cannot adjust
> line
> nft.8:6146: error: boxed table does not fit on page 43; use .TS H/.TH with a
> supporting macro package
> nft.8:7441: error: boxed table does not fit on page 50; use .TS H/.TH with a
> supporting macro package
> 
>   These pages then show no tables.
> 
>   The macro packages 'me', 'mm', and 'ms' have those macros.

Right.  And man(7) does not.

Because man(7) already uses the `TH` macro for a different purpose.

groff_man(7):
     .TH identifier section [footer‐middle [footer‐inside [header‐
     middle]]]
            Populate the page header and footer.  Together, identifier
            and the section of the manual to which it belongs can
            uniquely identify a man document on the system.  See man(1)
            or intro(1) for the manual sectioning applicable to your
            system.  identifier and section are positioned at the left
            and right in the header; the latter is set after the former,
            in parentheses and without space.  footer‐middle is centered
            in the footer.  By default, footer‐inside is positioned at
            the bottom left.  Use of the double‐sided layout option -rD1
            places footer‐inside at the bottom left on recto (odd‐
            numbered) pages, and the bottom right on verso (even‐
            numbered) pages.  By default, the outside footer is the page
            number.  Use of the continuous‐rendering option -rcR=1
            replaces it with identifier and section, as in the header.
            header‐middle is centered in the header.  If section is an
            integer between 1 and 9 (inclusive), there is no need to
            specify header‐middle; an.tmac supplies text for it.  If
            identifier or footer‐inside would overrun the space
            available in the header and/or footer, this package may
            abbreviate them with ellipses.  In HTML output, headers and
            footers are suppressed.

            Additionally, this macro breaks the page, resetting the
            number to 1 (unless the -rC1 option is given).  This feature
            is intended only for formatting multiple man documents in
            sequence.

            A valid man document calls .TH only once, early in the file,
            prior to any other macro calls.

It is therefore not usable as you prescribe.

This has been the case since 1979.

https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/man/man7/man.7

How were you not aware of these elementary and long-standing facts?
Should you be filing bug reports against projects' man pages without a
grasp of them?

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

Reply via email to