Hi Jeremy, At 2021-10-18T13:05:25+0800, Jeremy Kerr wrote: > > > +Addressing data is passed in socket system calls through > > > +.B struct sockaddr\_mctp > > > > That escape is unnecessary. Did you see it in another page perhaps? > > I thought I'd seen some odd line-breaks at the underscore, but can't > replicate that now. Will remove. My groff experiments don't reveal _ or \_ as being permissible break points[1]. However, the structure tag _could_ break like this: sock‐addr_mctp In other words (if my UTF-8 gets mangled), after "sock". To prevent that, you can prefix the word with the hyphenation control escape sequence, "\%". This escape sequence is extremely portable; it dates back to 1970s AT&T troff. Further, if you wanted to prevent breaking between the "struct" keyword and the structure tag, you could use a nonbreaking adjustable space escape sequence, "\~". While this was a groff innovation (about 30 years ago), it's been adopted by Heirloom Doctools troff and mandoc(1), so it's pretty portable to systems likely to install the Linux man-pages. So we might write .B struct\~\%sockaddr_mctp for instance in running text (that is, in sentences). (When filling is off, as in code examples and the synopses of most pages documenting C interfaces, neither of these escape sequences is necessary; unfilled lines are neither automatically hyphenated nor adjusted.) Just a typographical FYI. I know these issues sometimes frustrate people. Regards, Branden [1] I'm using groff's defaults. It's possible to change the groff "hyphenation code" of any character, but few do so.
Attachment:
signature.asc
Description: PGP signature