名前: しっぽ愛好家 日時: 2002-12-20 00:41:41 IPアドレス: 210.230.97.*
>>14162 TeX が ``\ + アルファベット(など)からなる文字列(*)'' という形の コントロール・シークェンス(コマンド)を読み取るときには, \ に続く *なるべく長い* アルファベット(など)の列を取得します. そこで,\o の後に後続の文字列を続けて書くと ``\onnum'' 全体が 1 つのコマンドとみなされて, ``未定義'' エラーが生じたわけです. %%% (*) もちろん,\makeatletter 適用時には文字 @ を含めることができる, %%% といったことや,pTeX では大半の和文文字も使える,ということは %%% 周知でしょう. %%% このような読み取り方をするので,\footnote と \footnotetext の %%% ようなものの区別ができるわけです. ただし,\^ のような \ + 記号類 1 文字の形のコマンドは例外で, \^a のように後続の文字(列)を続けて書いても構いません. %%% ``\ + 記号類 1 文字の形のコマンド'' は \ の直後の 1 文字を %%% 調べた時点でコマンドの終端が判明するからです. ところで, >Gr\o nnum >と書くのと >Gr{\o}nnum >と書くのでは、違った結果になるのですか。 については深く考えたことはなかったのですが… この場合は同じ結果になるようです. ただ,``\o '' のように空白文字を区切りにした場合には, \o の前後の文字とのカーニング(があれば,それ)も正しく処理されますが, ``{\o}'' と括弧で囲んでしまうと,カーニングがあっても無視されてしまいます. %%% 合字に関しても同様ですが,\o が絡む合字は見当たらないようですね.
この書き込みへの返事: