groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: breaks and the no-break control character


From: G. Branden Robinson
Subject: Re: breaks and the no-break control character
Date: Sat, 6 May 2023 22:40:48 -0500

At 2023-05-06T22:32:37-0500, Dave Kemper wrote:
> On 5/5/23, G. Branden Robinson <g.branden.robinson@gmail.com> wrote:
> > We seem to have an ugly bit of non-orthogonality in this area.
> >
> > quantity                            register access
> >
> > extra pre-vertical line spacing             n/a
> > vertical (line) spacing                     .v
> > extra post-vertical line spacing    .a
> > post-vertical line spacing          .pvs
> 
> If the manual is to be taken literally, the situation is uglier than
> that.  "The 'extra post-vertical line space'... is the maximum value
> of all '\x' escapes with a positive argument," but the .a register
> only tells you "the most recent (non-negative) extra vertical line
> space."  So by my reading,
> 
> ... \x'0.3' ... \x'0.6' ... \x'0.3' ...
> 
> would space down an extra 0.6v, but .a would contain 0.3v.

Fortunately it's not so bad.  "Most recent" was meant to refer to the
extra-post vertical line space _applied to the output line_, not
encountered in an escape sequence.

$ cat EXPERIMENTS/post-vertical-accumulation.roff
foo\x'0.1m'bar\x'0.3m'baz\x'0.2m'qux
.br
.nr m 1m \" how much is an em?
.tm m=\nm, .a=\n(.a
$ groff -z EXPERIMENTS/post-vertical-accumulation.roff
m=10000, .a=3000

> Is this a real-world problem?  I have no idea.

No, I don't think so.  I've revised the "Manipulating Spacing"
section/node of our Texinfo manual fairly heavily to reflect the
understanding I acquired this week.

https://git.savannah.gnu.org/cgit/groff.git/commit/?id=2d613077eba413f444f0c2a5d9f607164db69182

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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