名前: トノ 日時: 2004-04-14 01:03:55 IPアドレス: 150.35.254.*
>>28087 解説ありがとうございます。 > misc さん 以前、自作のマクロで \sf@size を利用しようとして、先に数式モードを 作らないと期待どおりにならないということがあったのですが、それと 同根だったのですね。 で、その時、数式モードが先にあれば解決するということは、\everymath に なにか仕掛けがあるだろうと思って \typeout{\the\everymath} としても 空だったので随分と悩んだ経験があります。その時はとりあえず、マクロの中で 冗長なボックス代入を作って、そこに数式を入れるという強引な解決を してしまったのですが‥‥ 》 # ここで追加した \check@mathfonts は,LaTeX2e が数式の開始時に 》 # 強制的に実行することにしているマクロです. ここの「強制」の仕方が実に巧妙なんですね。1年ぐらいたってから、たまたま \typeout{\meaning\everymath} とやって、その仕掛けに気付きました。 LaTeX の \everymath はプリミティブの \everymath ではない! latex.ltx に \let\frozen@everymath\everymath \let\frozen@everydisplay\everydisplay \newtoks\everymath \newtoks\everydisplay とあるのを見て、「なんじゃこりゃー」と叫んでしまい、職場で注目を 集めてしまいました。恥ずかしかった‥‥。
この書き込みへの返事: