groff
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]