Re: \ruleと\@tempdim*(Re: emathTとarydshlnの併用での問題点 ---> arydshln & hhline)

名前: トノ
日時: 2002-08-03 12:19:29
IPアドレス: 202.219.232.*

>>9866 》 \ruleと\@tempdimaや\@tempdimb,\@tempdimcですが 》 引数にこれらのdimenを使うまずいことが起こりえます. 身に覚えがあります。 今回も「確か \rule の引数に \@tempdima はまずかったはず」と思いながら、 とりあえず書いてみたら期待どおり動いたので、少々怪訝に思いながらもそのま まアップしたような次第です。 改めて latex.ltx での \rule(というより、その下請けマクロの \@rule) の 定義を調べてみると、\rule の第1引数(オプション引数)を \@tempdima に、 第2引数および第3引数をそれぞれ \@tempdimb、\@tempdimc にそのまま代入して います。今回の私のコードは、オプション引数に \@tempdima なので、\rule の 側では \@tempdima の値を \@tempdima に代入することになり、問題は顕在化し なかったということのようです。 この手の落とし穴で、オプション引数をとるコマンドの引数に \reserved@? と いうのもトラブルの元になるとか、いろいろ経験してはいるのですが、なかなか きっちりと頭に入らないので、マクロを書くたびに試行錯誤するような羽目になっ てしまいます。パソコンのメモリーやハードディスクは気軽に増設できますが、 人間の頭もそうなってくれないものでしょうかねぇ。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)