分かってしまうと簡単なことなのですが、 手短かな説明で分かってもらうのは案外難しい「¥と \問題」です。
乱暴に言い切ってしまうと、 ¥の JIS コードも \の ASCII コードも、どちらも で、 コンピューターのプログラム (Windows や TEX の内部処理) にとっては、 同じものである、ということです。
コンピューターの中では、どういうデータも数列として表現されます。 例えば ``I am a boy.'' は、私が今使っているコンピューターでは、
という数列になります。 いきなり分かりづらいと思うかも知れませんが、 落ち着いてみると、空白も1文字と考えると、 ``I am a boy.'' は 11 文字からなる文で、数列の方は 11 項からなる数列なので、 1文字が1つの数に対応しているのだろう、 そう考えてみると、空白は という数で表わすらしい、 きっと
だろう、まで分かります。
実は ASCII というアメリカの規格では、 バックスラッシュは (16進数では 5c) という数で表わすことになっています。
0x20 ( 32): 0x21 ( 33): ! 0x22 ( 34): " 0x23 ( 35): # 0x24 ( 36): $ 0x25 ( 37): % 0x26 ( 38): & 0x27 ( 39): ' 0x28 ( 40): ( 0x29 ( 41): ) 0x2a ( 42): * 0x2b ( 43): + 0x2c ( 44): , 0x2d ( 45): - 0x2e ( 46): . 0x2f ( 47): / 0x30 ( 48): 0 0x31 ( 49): 1 0x32 ( 50): 2 0x33 ( 51): 3 0x34 ( 52): 4 0x35 ( 53): 5 0x36 ( 54): 6 0x37 ( 55): 7 0x38 ( 56): 8 0x39 ( 57): 9 0x3a ( 58): : 0x3b ( 59): ; 0x3c ( 60): < 0x3d ( 61): = 0x3e ( 62): > 0x3f ( 63): ? 0x40 ( 64): @ 0x41 ( 65): A 0x42 ( 66): B 0x43 ( 67): C 0x44 ( 68): D 0x45 ( 69): E 0x46 ( 70): F 0x47 ( 71): G 0x48 ( 72): H 0x49 ( 73): I 0x4a ( 74): J 0x4b ( 75): K 0x4c ( 76): L 0x4d ( 77): M 0x4e ( 78): N 0x4f ( 79): O 0x50 ( 80): P 0x51 ( 81): Q 0x52 ( 82): R 0x53 ( 83): S 0x54 ( 84): T 0x55 ( 85): U 0x56 ( 86): V 0x57 ( 87): W 0x58 ( 88): X 0x59 ( 89): Y 0x5a ( 90): Z 0x5b ( 91): [ 0x5c ( 92): \ 0x5d ( 93): ] 0x5e ( 94): ^ 0x5f ( 95): _ 0x60 ( 96): ` 0x61 ( 97): a 0x62 ( 98): b 0x63 ( 99): c 0x64 (100): d 0x65 (101): e 0x66 (102): f 0x67 (103): g 0x68 (104): h 0x69 (105): i 0x6a (106): j 0x6b (107): k 0x6c (108): l 0x6d (109): m 0x6e (110): n 0x6f (111): o 0x70 (112): p 0x71 (113): q 0x72 (114): r 0x73 (115): s 0x74 (116): t 0x75 (117): u 0x76 (118): v 0x77 (119): w 0x78 (120): x 0x79 (121): y 0x7a (122): z 0x7b (123): { 0x7c (124): | 0x7d (125): } 0x7e (126): ~
さて、これを日本に持って来て JIS 規格にする際に、 ほんのちょびっと (2ヶ所) だけ、変更を加えました。
そのうちの一つが、 を (バックスラッシュでなく) 円記号 ¥を表わすことにしたことです。 つまり、 通貨記号 ¥を含めたいので、比較的利用頻度が低いバックスラッシュのコードを使ってやろう、 ということです。