mpg at elzevir.fr
Sat Mar 27 10:54:50 CET 2010
Heiko Oberdiek a écrit :
> On Sat, Mar 27, 2010 at 01:58:22AM +0100, Manuel Pégourié-Gonnard wrote:
>> Sorry if I'm missing something obvious, but I fail to understand the
>> behaviour of \catcodetable0. Consider the following test file.
>> \catcode64 11
>> The "output" is 12, 11, 12 (LuaTeX from trunk). I would expect 12, 12, 12
>> \(the catcodetable0 statement should override the preceding \catcode
>> assignment, as does the later \catcodetable1).
> The \catcode assignment has changed catcode
> table 0 (until the current group is closed).
That's what I misunderstood. It thought the catcode tables could only be
modified (globally) by \initcatcodetable and \savecatcodetable.
> And the following \catcodetable0 has nothing to do,
> because the current table is already table 0.
Right. For some reason I thought that \catcode modifies only the "current set of
catcodes" which would be an object different from the "current catcode table".
So, to sum up, a catcode table can be modified:
- locally, when it is active, using \catcode,
- globally, when it is active, using \global\catcode,
- globally, when it is not active, using \savecatcodetable,
- globally, when it has never been used before, using \initcatcodetable.
I previously missed the first two options. Am I still missing something?
More information about the luatex