[tex-k] Module name typesetting bug in either tangle.web or weave.web

Shreevatsa R shreevatsa.public at gmail.com
Thu Mar 26 01:20:48 CET 2020

On Wed, 25 Mar 2020 at 12:34, Doug McKenna <doug at mathemaesthetics.com>

> All -
> Line 3115 (or thereabouts) of tangle.web, at, e.g.,
>   <
> http://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/web/tangle.web
> >
> is:
>   @ @<If the next text is `|(#)==|'...@>=
> which concerns processing the text of a WEB parametric macro in the input
> file.
> But if you look at the output in Section 174 of tangle.pdf that this line
> starts, at (e.g.)
>   <http://texdoc.net/texmf-dist/doc/generic/knuth/web/tangle.pdf>
> you see that the pair of equal signs *within* the typeset module name (and
> further within an alleged verbatim TeX context!) has been incorrectly
> replaced with the mathematical equivalence sign '≡'.  The thing is, there
> are no equivalence signs in the input text of a ".web" file that tangle
> processes; they are a nicety used by weave to replace certain uses of '=='
> when typesetting the algorithms.
> This module name in tangle.web is clearly referencing the ASCII character
> pair, and clearly expecting them to be typeset verbatim, so I would argue
> that the typeset version of tangle.web is incorrect.

A minor matter no doubt, and I'm just commenting from the sidelines, but
IMO it seems debatable whether there is anything incorrect here :) If you
look at the documentation of WEB, specifically the bottom of page 4:
http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pdf#page=4 then
what it says about the |...| syntax is that things within it are supposed
to typeset the way Pascal code is typeset.

[image: image.png]

So when the module name contains |(#) ==| then the way it has been typeset
by WEAVE matches that documentation, because that is how the equivalent
Pascal code would be typeset by WEAVE. (See also how many other module
names are typeset, including 176 which has the same “==”.)
Perhaps you can argue (and I guess what you're saying is) that Knuth should
have chosen a different module name in the source code, as he means those
literal characters rather than Pascal code (e.g. written "\.{(\#) ==}" or
something like that: haven't tested this). As the risk of confusion seems
low here, this seems up to his judgment or taste, but maybe he would agree

> I'm not sure what the fix is, (a) whether it should be on this line 3115
> in tangle.web, or (b) if it concerns the logic of how weave.web works when
> typesetting module names or verbatim quotes inside TeX code inside module
> names, or (c) if it's some combination of all.
> Or, as sometimes happens, I might be misunderstanding something else.
> Thoughts?
> Doug McKenna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://tug.org/pipermail/tex-k/attachments/20200325/210fded9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 112774 bytes
Desc: not available
URL: <https://tug.org/pipermail/tex-k/attachments/20200325/210fded9/attachment-0001.png>

More information about the tex-k mailing list.