マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

指定のコードの和文トークンを得る方法(解決編)

2011-02-03 に「TeX パズル」を出題していつの間にか 30 日後が過ぎてしまったようである。問題は「指定のコードの和文トークンを得る命令」を作る、つまり次のようなマクロ \getjchartoken を実装するものであった。


% \getjchartoken \制御綴{<整数ch>}
% 内部漢字コードの値が ch の和文文字トークンに展開されるマクロ
% として \制御綴 を(ローカルに)定義する。

答え(の一例)は次の通り。


%% \getjchartoken \制御綴{<整数ch>}
\def\getjchartoken#1#2{%
\bgroup \kansujichar1=#2\relax
\xdef\xx@g@temp{\kansuji1}%
\egroup
\let#1=\xx@g@temp}

例えば次のコードを実行すると、


\getjchartoken\oku{\jis"317C}
\getjchartoken\soko{\jis"446C}
\edef\name{\oku\soko}
\show\name

\show の結果は次のようになる。


> \name=macro:

  • >奥底.

<*> \show\name

?

\kansujichar を用いることに気づけば後は簡単であるが、これに気付かず「この処理は不可能だ!」と考えていた時期が 3 か月ほどあった。