<div dir="ltr"><div dir="ltr"><div>On Wed, 25 Mar 2020 at 12:34, Doug McKenna <<a href="mailto:doug@mathemaesthetics.com">doug@mathemaesthetics.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">All -<br>
<br>
Line 3115 (or thereabouts) of tangle.web, at, e.g.,<br>
<br>
  <<a href="http://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/web/tangle.web" rel="noreferrer" target="_blank">http://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/web/tangle.web</a>><br>
<br>
is:<br>
<br>
  @ @<If the next text is `|(#)==|'...@>=<br>
<br>
which concerns processing the text of a WEB parametric macro in the input file.<br>
<br>
But if you look at the output in Section 174 of tangle.pdf that this line starts, at (e.g.)<br>
<br>
  <<a href="http://texdoc.net/texmf-dist/doc/generic/knuth/web/tangle.pdf" rel="noreferrer" target="_blank">http://texdoc.net/texmf-dist/doc/generic/knuth/web/tangle.pdf</a>><br>
<br>
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.<br>
<br>
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.<br></blockquote><div><br></div><div>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: <a href="http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pdf#page=4">http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pdf#page=4</a> then what it says about the |...| syntax is that things within it are supposed to typeset the way Pascal code is typeset.<br></div><div><br></div><div><div><div><img src="cid:ii_k87zwim41" alt="image.png" style="margin-right: 0px;" width="562" height="237"><br></div></div></div><div><br></div><div>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 “==”.)</div><div>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 :-) </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
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.<br>
<br>
Or, as sometimes happens, I might be misunderstanding something else.<br>
<br>
Thoughts?<br>
<br>
<br>
FWIW,<br>
<br>
Doug McKenna<br>
<br>
</blockquote></div></div>