さらなる自己フォロー…。

In article <051231165255.M0112769@hayabusa.ics.nara-wu.ac.jp>, I write:
>   (2)はpLaTeXのバグでしょうかね。

  どうやらそうじゃないようです。

  日本語文字の中でも「ー」など記号文字は、「\」に続いて一文字だけで1マク
ロになる(「\_」などと同様)一方、それ以外のかな文字や漢字などは、「\」に
続いてそれらだけの連鎖で1マクロになるようです。
  なので、例えば

>    \def\キーワード{a}
>    \def\endキーワード{c}

と書くと、「\キ」までがマクロ、その後ろの「ーワード」はマクロ「\キ」の引
数ということになり、

>    \キーワード

はうまく動くけれど

>    \begin{キーワード}
>    b%
>    \end{キーワード}

は「\キーワード」というマクロがないのでうまく動かない、ということになる
らしいです。一方、

        \def\キワド{a}
        \def\endキワド{c}

として

        \begin{キワド}
        b%
        \end{キワド}

がうまく動くのは、「\キワド」が1つのマクロになるため。
  \newenvironmentを使って

>    \newenvironment{キーワード}{a}{c}
>    \begin{キーワード}
>    b%
>    \end{キーワード}

だと、「\csname キーワード\endcsname」を展開したものを1マクロ名とする内
部処理が行われるので、「\キーワード」という1つのマクロが作られて期待通り
に動きます。

  …というわけで、もしどうしても「キーワード」という環境を
\newenvironmentでなく\defを使って定義したければ

        \expandafrer\def\csname キーワード\endcsname{…}
        \expandafrer\def\csname endキーワード\endcsname{…}

のようにすればいいようです。

# 学内のシラバス作り用のクラスファイルを作ろうとして、はまっていたのでした。

                                                nide@ics.nara-wu.ac.jp