[texhax] The details of \csname, in this specific case
uwe.lueck at web.de
Tue Feb 26 11:29:16 CET 2013
Am Montag, den 25.02.2013, 21:46 +0100 schrieb Reinhard Kotucha:
> On 2013-02-25 at 19:35:22 +0100, Uwe Lück wrote:
> > > 4) How exactly does TeX come to interpret the #1 as a "character
> > > token," aren't things above value 127 by default labeled "invalid?"
> > I guess the same, and I had to care for this in the fifinddo package
> > by a loop turning the character codes into "other".
> > Your code may work due to earlier context that does the same.
> > I have seen such a loop in the graphics package. From a glance at
> > inputenc.sty (LaTeX) I guess that it turns them into "active"
> > instead.
> > I cannot find an answer in The TeXbook quickly about TeX's
> > (INITEX's) default (would require reading many pages).
> > AFAIK The TeXbook originally was written
> > when TeX took 7-bit characters. I would not be surprised
> > if the default were left to the installation.
> > After what I have experienced and seen, I would say that
> > it is safe (at least) to "fix" those catcodes before
> > trying your code.
> $ tex -ini \\relax
> This is TeX, Version 3.1415926 (TeX Live 2012) (INITEX)
> *\showthe\catcode 222
> > 12.
> <*> \showthe\catcode 222
Hm, hm. Are TeX Live's formats for "latex" and "pdflatex" made with
that INITEX? where is the e-TeX?
Once I observed that pdfTeX in PDF mode made a spurious line
for a blank space above an empty code line while it didn't
in DVI mode. Therefore I am not convinced that pdfTeX resembles
Knuth's TeX to the expected degree. (However, of course, see below.)
In March 2010 I had to assign "other" to those 8-bit characters
with "latex" and/or "pdflatex". My piece of TeX Live then was
from Fedora 8 and TeX Live 2006 (I think). I have made a note
for me to check the issue another time, once in the future.
> See also TeXbook, page 39, 4th paragraph.
Thanks, but see above. (For others: "When INITEX begins,
... All 256 characters are initially of category 12, except")
I had marked it by pencil, remembered that there is a
paragraph starting with "When INITEX begins" somewhere
in the TeXbook and tried to find it, but did not want to read
so much from pp. 38f. yesterday. With an electronic copy,
it would have been simple.
> BTW, the TeXbook already
> describes TeX 3, which is an 8-bit engine.
There have been TeXbooks that have described TeX 3, while
others have not. AFAIK, \holdinginserts was new with TeX 3.
I once compared p. 125 in my 1993 TeXbook, describing
\holdinginserts, with p. 125 in a copy that did not describe
\holdinginserts, and compared other pages of both copies.
My impression was that the newer issue was by no means
"completely revised", rather changed as little as possible.
I had referred to that impression (on the 7-bit origin).
I may have used a xerox copy from the old TeXbook that I
took in a library in the early 90ies, and it may well have
been the 1984 edition.
More information about the texhax