summaryrefslogtreecommitdiff
path: root/info/challenges/aro-bend/answer.014
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 ~".