[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: warning on mid-input line sentence endings
From: |
G. Branden Robinson |
Subject: |
Re: warning on mid-input line sentence endings |
Date: |
Mon, 18 Jul 2022 01:22:33 -0500 |
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