[TUHS] man pages, defensive programming, and bibliographic

Doug McIlroy doug at cs.dartmouth.edu
Wed Jan 29 06:09:21 AEST 2020


> Always use '\&' (a non-printing, zero width character) to
> make it clear to the software, that the _function_ of the
> character next to it, is neither a sentence-terminating nor
> a control one.

It is unfortunate that such advice has to be given.  One should
not have to defend against stupid AI. This is one of only two
really unfortunate design choices (in my opinion) in original
[nt]roff. (The other is beginning a new page when the vertical
position reaches--as distinct from definitively passing--the 
bottom of a page.)

If AI is used, it should be optional. I happen not to like
double-width intersentence space, but it keeps getting foisted
on me essentially at random. Instead of fattening the manual
with annoying duties like that quoted above, I suggest fattening
it with a new request, "turn on/off doubling of spaces between
apparent sentences", or "put at least the specified space
between apparent sentences".  One can still use \&, but then
it's for a chosen purpose, not just defense against gremlins.

Incidentally, "next to" in the quoted advice must be read with
care. Sometimes it means before, sometimes after.

------------------------------------------------------------

In this old AI-induced trouble I see a cautionary lesson for
paragraph-based line breaking. fmt(1) is an existing program
that tries to do this. On unjustified text (i.e. all text
handled by fmt) it produces paragraphs of different "optimal"
widths, which can be even more distracting than unusually
ragged right margins.

Doug


More information about the TUHS mailing list