summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/ptexdir/tests/control-symbol.tex
blob: f81275468853f77534b25fd4552fa8d7ce51ff2d (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
\scrollmode
% plain TeX ソース
\def\+{A}
\def\+{A}
\def\X{\+}
\def\Y{\+}

\message{■control symbol}
% 記号類扱いの単文字命令 → control symbol
% (この時の和文文字の挙動が tex-jp-build#37 の問題)
\ifx\kanjiskip\undefined
  \catcode`\+=12
  \catcode`\+=12
\else
  \catcode`\+=12
  \kcatcode`+=18
\fi
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}

\message{■control word}
% 普通の文字扱いの単文字命令 → control word
\ifx\kanjiskip\undefined
  \catcode`\+=11
  \catcode`\+=11
\else
  \catcode`\+=11
  \kcatcode`+=17
\fi
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}

\message{■control word}
% 複数文字命令 → control word
\def\ABC{A}
\def\あいう{A}
\def\X{\ABC}
\def\Y{\あいう}
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}

% csname
\ifx\protected\undefined\else
\catcode`\:=12
\ifx\kanjiskip\undefined\else
\kcatcode`!=18
\fi
\message{■csname}
\protected\expandafter\def\csname :AB\endcsname{A}
\protected\expandafter\def\csname !あい\endcsname{A}
\edef\X{\csname :AB\endcsname}
\edef\Y{\csname !あい\endcsname}
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}

\protected\expandafter\def\csname AB:\endcsname{A}
\protected\expandafter\def\csname あい!\endcsname{A}
\edef\X{\csname AB:\endcsname}
\edef\Y{\csname あい!\endcsname}
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}

\ifx\enablecjktoken\undefined\else
\message{■not_cjk}
\kcatcode`ア=15
\kcatcode`!=15
\catcode"8A=12\relax
\protected\expandafter\def\csname ア\endcsname{A}
\protected\expandafter\def\csname !\endcsname{A}
\edef\X{\csname ア\endcsname}
\edef\Y{\csname !\endcsname}
\show\X\relax\message{(\meaning\X)}
\show\Y\relax\message{(\meaning\Y)}
\fi
\fi

\message{■行末の和文コントロールシンボル}


\kcatcode`】=18

\def\】{◆}
\def\@{◆}

1. \】◇,\@◇

2. \】%
◇, \@%
◇

3. \】
◇, \@
◇

4. \】 ◇, \@ ◇



\end