blob: 9892558c7a3889a7369b85ac7eb3145409186439 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
[This was included as a self-decoding answer in the posting of Exercise
#14; see exercise.014]
Answer to Around the Bend #14:
Catcode Char Codes Catcode Char Codes
------- ---------- ------- ----------
1 0--255 10 1--255
2 0--255
3 0--255 11 0--255
4 0--255 12 0--255
13 0--255
6 0--255
7 0--255
8 0--255
Category 10 is the exceptional case. Catcode-10 characters with character
code <> 32 can only be produced by \uppercase/\lowercase tricks (TeXbook,
Appendix D). So the pair character 0, catcode 10 is not possible: \uppercase
and \lowercase cannot produce a character 0 from a non-0 character.
Active characters will test true for category 10 with \ifcat if they are
\let equal to a space token. But if the ~ character (say) has been so
defined, it will not match a space in the delimiter text of a macro with
delimited arguments. And according to \tracingcommands the meaning of an
active tilde that has been \let equal to a space is "blank space ",
whereas the meaning of a category-10 tilde is "blank space ~".
|