Re: man/man8/ldconfig.8: document system-wide tunables
"G. Branden Robinson" <[email protected]> Wed, 15 Jul 2026 11:54:50 -0500
| Newsgroups | org.kernel.vger.linux-man |
|---|---|
| Message-ID | <20260715165450.iakjkw6qwgcnpzq7@illithid> |
Hi DJ, At 2026-07-15T10:33:58-0400, DJ Delorie wrote: > Alejandro Colomar <[email protected]> writes: > >> Add the .in macros around .EX there? > > > > But we'd need to know where to add them. There are cases of EX/EE > > that don't need to be surrounded by '.in' > > Ok, now you have a new rule that's even easier to not know about :-P The man(7) package doesn't impose a rigid stylesheet on its output. Many decisions about presentation and layout have to be made at the project level. Historically, there have been, for example, many differences of opinion over whether items like file names, environment variable names, function names, data types, parameters to functions, and names of other man pages should be set in roman, bold, or italic. One solution to this problem is to come up with an element name for every distinguishable syntactical item of interest. That's how DocBook-XML ended up with something like 400 tags. Granted, its scope was intended to be an entire camera-ready technical book, like one in the O'Reilly Nutshell series. *roff macro packages for man pages have a narrower scope. Thus, the "semantic" mdoc(7) package has a mere ~100 macro names, including gems like the following. groff_mdoc(7): .Ot Usage unknown. The mdoc sources describe it as “old function type (fortran)”. .Fr is an obsolete means of specifying a function return value. Usage: .Fr return‐value ... ‘Fr’ allows a break right before the return value (usually a single digit) which is bad typographical behaviour. Instead, set the return value with the rest of the code, using ‘\~’ to tie the return value to the previous word. Its default width is 12n. .Me Usage unknown. The mdoc sources describe it as a macro for “menu entries”. Its default width is 6n. The only alternative I know of to not exhaustively cataloging every type of "thing" one might use to compose a man page is to write down rules governing the usage of a smaller lexicon, which itself is necessarily semantically "loose", and thus frequently derided as "presentational". There is, potentially, a _third_ option, which I mentioned in my earlier email. As I said, literally no one expressed interest. https://lore.kernel.org/linux-man/[email protected]/T/#m9fda91ba28ca257c67d4595f81d38b32c5c9c937 > Is ".in +4n" the default for .EX, unless the user changed it? No, meddling with indentation is not part of `EX`'s job at all. groff_man(7): .EX .EE Begin and end example. After EX, filling is disabled (and, on typesetters, a monospaced font family is selected). Calling EE enables filling (and restores the previous family). Ninth Edition Unix introduced the EX and EE extensions. Documenter’s Workbench (DWB), Heirloom Doctools, and Plan 9 troffs, and mandoc (since 1.12.2) support them. Solaris troff does not. > I wonder how often that case comes up. I wonder because I would need > to review an example of the problem to figure out how to search for it > ;-) It wouldn't be hard to snapshot a text dump of all the man-pages project's documents, as with "nroff -t -mandoc", do a "sed -i '/^\.in/d' man/man*" over the tree, snapshot another dump, and study the diff. It's the sort of thing I'd try out were I on a mission to eradicate `in` request usage from the man-pages project's documents, but I have no such mission. > Now I wonder if the problem case is predictable enough to have the > preprocessor *know* when .EX needs the .in +4n, and when it doesn't... What preprocessor? > Ok, now I looked for it, and we *already* use a perl script to > preprocess the files, in scripts/mk/build/pdf/book/prepare.pl. (this > just means perl is not a new dependency, so we *could* use perl > instead of sed) That script is used just to generate a PDF of one or two man page corpora. Deri James and Brian Inglis participate in groff development. (Deri is the author of gropdf(1).) The script is there to get older versions of groff "over the hump" while we implemented PDF and hyperlinking support directly within groff itself. (That work was substantially delivered in the groff 1.23 release in July 2023; note the script's date of December 2022.) I see that it also has some features to stylistically massage Research Tenth Edition Unix man pages. "prepare.pl" is not a general-purpose preprocessor that can or should be run over a given document in the Linux man-pages. As I understand it, one of Alex's objectives, as was Michael's before, is to keep the files in the man/man* directories directly renderable with "man -l". Regards, Branden
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmpXu1IACgkQ0Z6cfXEm bc6Qog//bzYq2Jh1HM340K/p/WuBRVO2jSLk/yqNEg0hmNjYlJa2+tbmiGXfX5Zy IjCXCgNTNd2kzszvPkXXh/vTqcbAKBatJFblgzwK2WEZcOmOhIoWSVmue3FeE+an HbXMT53HsKOt0RDeKTadd6qZvS6aUQXp4+vOylMXp/t0oXdR/8RNDguMF586FE8z DvBg+YIyuEJeDux/paZEAcqP/jDAWKcB1f62GHdu7tLF7A0l8f/L1jB0tPjfKlMa N3QIAVkyaVnCs4BzVkmX/4hRJ+aAwfQk9bWEx/GQgWkfaAl+FIoDdzrOlK8Kb8WA mcmNgm+MB6/YsZH++MBliflG14I9JBr97UQHE9YG/X7gIu41L+sOvs5L+/x5paLl xPR1wh2siAFXqmA/YbxLWJiHwRzpq7CQDEQ8GtMujJOh07gHarTY0E/CR5JB8FiC f0LdxR9zLfBORYAJQ7Kre5uocWnjDVB+HopeZud8FUl2EbwD7Tq6BqvQhk4146Dk hDsA0UJtkcpPYOR5KwMRHWs0Il++Ur4AQCJSolANU4Q/L99jg+ZaXQ64WTdtsuGX Uw8Zv8Ubh/Gg6K5xmzK3SOmoAB4lj3TKnBgjDD60BAFvPboyIxjhk3uEDaUWwl82 E/3J9mTLZPTWLQ1UkNfIXA+HWOezCEx63G1QqHSFyNKIQVX48z8= =chfU -----END PGP SIGNATURE-----