At 2020-10-03T09:10:14+0200, Michael Kerrisk (man-pages) wrote:
On 10/2/20 10:27 PM, Alejandro Colomar wrote:
On 2020-10-02 22:14, Paul Eggert wrote:
> On 10/2/20 11:38 AM, Alejandro Colomar wrote:
>
>> .I void *
>>
>> renders with a space in between.
>
> That's odd, as "man(7)" says "All of the arguments will be
> printed next to each other without intervening spaces". I'd play
> it safe and quote the arg anyway.
Oops, that's a bug in man(7). Don't worry about it.
I'm not sure where that text in man(7) comes from. However, for
clarity I would normally also use quotes in this case.
Michael, you might want to have a look at it.
I'll also add Branden, who might have something to say about it.
Yes, maybe Branden can add some insight.
The "short" answer[1] is that I think Alex is correct; Paul's caution is
unwarranted and arises from confusion with the font alternation macros
of the man(7) macro package. Examples of the latter are .BI and .BR.
Those set their even-numbered arguments in one font and odd-numbered
arguments in another, with no space between them. That suppression of
space is the reason they exist. With the "single-font" macros like .B
and .I[2], if you don't want space, don't type it.
I could say more, including an annotated explanation of the groff and
Version 7 Unix man(7) implementations of the I macro, if desired. :)
Regards,
Branden
[1] since as everyone knows, I struggle with brevity
[2] I (and others) discourage use of .SM and .SB because they can't be
distinguished from ordinary roman and bold type, respectively, on
terminals.