名前: misc 日時: 2004-02-04 23:23:47 IPアドレス: 211.4.123.*
>>25596 \ふー という名称が問題です. \def\ふー{foo} という定義を行ったとき, これは,\ふ + 書式指定文字列 ``ー'' が文字列 ``foo'' に展開されるように 定義しているわけですから,マクロ \テスト と マクロ \ふ とは 異なるマクロですね. もちろん,\ifx\テスト\ふー という記述の際にも, 比較されるのは \テスト と \ふ です. # 比較の結果が偽なので,\ふ の後の文字列 ー は(\else の前にあることも # あって)読み飛ばされています. ここでは,\ふー でなく \ふう くらいにすると, 意図どおりの結果を得ることができることでしょう. # 結局,“@ 入りの名称のマクロは,\makeatletter が適用されていない箇所では, # 素朴には定義できない”ということと同種のことです…
この書き込みへの返事: