\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