Formatting problem in WEAVE

Andreas Scherer andreas_tex at freenet.de
Fri May 1 10:49:11 CEST 2020


Hello, Igor,

> On p.232 of MetaFont source the code
Better to refer to this as "section 566"; as Karl said, it appears on
page 266 of "Volume D" of "Computers & Typesetting".

> The question is how to achieve that @} appears on the same line as @{.
I don't know how DEK did it in print; most likely, TWILL and twimac.tex
(if there is such a thing) works slightly different than WEAVE and
webmac.tex.

I played with the code of section 566 and found:

(a) '@+' adds '\ ' in the woven TeX code, which appears to be defined as
'\SP' (space in string).  In fact, if you look at the _printed_ version,
there's a significant amount of whitespace between ';' and '@}' (in
sections 566, 567, and 568).

(b) Independent of the presence of '@+' in the WEB code, WEAVE writes
'\2\6' after the code, but before '$\T$', which actually prints as '@}'
to "terminate controlled comment".

(c) The culprit seems to be '\6', which is a "forced break".

So, either TWILL produced different TeX output than WEAVE (probably
with/out the "forced break"), or there's a possible bug in WEAVE?!
According to webman.tex, '@+' should, in fact, "cancel a line break that
might otherwise be inserted by WEAVE".

(d) '@+' does work as expected for code like section 9 of mf.web.
There, the '\6' between the inner '@}' and the end-like 'debug' appears
only without '@+'.

Cheers,
Andreas


More information about the texhax mailing list.