Hi Doug, At 2022-07-17T13:31:13-0400, Douglas McIlroy wrote: > >> In regard to turning the warning on or off, the warning should not > >> be given when sentence spacing is set to 0 > > > I'm not sure I agree > > I withdraw the suggestion. Since the default .ss 12 12 has the same > effect at a mid-line "sentence space" as copying the double space, I > had not realized that AI tinkers with the width of such spaces as well > as end-of-line sentence spaces. Thus double spaces do not harm > documents typeset with sentence-space 0.
Right. I've tried to elucidate this in groff's documentation, since it took me a long time to figure it out to the point where I could confidently predict the formatter's behavior. Here's some applicable material from section "Concepts" of roff(7) in Git HEAD. A roff formatter attempts to detect the boundaries between sentences, and supplies additional inter-sentence space between them. It does this by flagging certain characters (normally "!", "?", and ".") as potentially ending a sentence. When the formatter encounters one of these end-of-sentence characters at the end of a line, or one of them is followed by two spaces on the same input line, it appends an inter-word space followed by an inter-sentence space in the formatted output. The non- printing input break escape sequence \& can be used after an end- of-sentence character to defeat end-of-sentence detection on a per-instance basis. Normally, the occurrence of a visible non- end-of-sentence character (as opposed to a space or tab) immediately after an end-of-sentence character cancels detection of the end of a sentence. However, several characters are treated transparently after the occurence of an end-of-sentence character. That is, a roff does not cancel end-of-sentence detection when it processes them. This is because such characters are often used as footnote markers or to close quotations and parentheticals. The default set is ", ', ), ], *, \[dg], \[dd], \[rq], and \[cg]. The last four are examples of special characters, escape sequences whose purpose is to obtain glyphs that are not easily typed at the keyboard, or which have special meaning to the formatter (like \). [...] There are several ways to cause a break at a predictable location. A blank input line not only causes a break, but by default it also outputs a one-line vertical space (effectively a blank output line). Macro packages may discourage or disable this "blank line method" of paragraphing in favor of their own macros. A line that begins with one or more spaces causes a break. The spaces are output at the beginning of the next line without being adjusted (see below). Again, macro packages may provide other methods of producing indented paragraphs. Trailing spaces on text lines (see below) are discarded. The end of input causes a break. Much the same appears in our Texinfo manual, with examples. Regards, Branden
signature.asc
Description: PGP signature