名前: M. Hasumi 日時: 2010-02-16 18:53:15 IPアドレス: 157.80.76.*
>>52591 はじめてお便りします。この Q&A からはいろいろと教えられる ことが多く感謝いたしております。 さて,ごく最近、奥村先生の jsclasses から \everydisplay=\expandafter{\the\everydisplay \narrowbaselines} を教えていただき、感激しました。これは拝借して使わせて いただきたいと思っております.それと同時に行送りの ずれの問題があることを知りました。ずれは \baselineskip の差 という結論は出ているようですから、蛇足になると思いますが、 素人考えを書かせていただきます。思い違いがあるかと思いますので, 宜しくご教示をお願いします。 ディスプレイ式はとりあえず long display に限ります。 テキスト文 A \baselineskip a たとえば 16 行送り x ディスプレイ数式 B \baselineskip b たとえば 12 行送り y テキスト文 C \baselineskip c (a と同じとして)16 と並んでいる場合,A と B の間の行送りの量を x, B と C の間の行送りの量を y として,x と y を 計算してみます。LaTeX のプログラムの難しいこと は全然分りませんから,大体の見当です。 x = b + (B の \abovedisplayskip), y = c + (B の \belowdisplayskip) = a + (B の \belowdisplayskip) displayskip はディスプレイについているものとすれば、 above も below も B のものしか可能性はないはず. また,\baselineskip は下の方が使われるはず,両方が 見えるのは下 ( 後) の方だから,というだけですが?? 従来の LaTeX や AMS-LaTeX では,abovedisplayskip と belowdisplayskip は同じに設定してあります.jsclasses では 違えてありますが、とりあえず同じとします. 英文 TeX のように,a = b のときは,上の公式 (\) により 上下の行送り x と y は一致します.これは a = b = 16 でも 多分同じことです.baselineskip の切り替えをしなければ、 行送りのずれは起らない説明になるでしょう. 実際は,a = c = 16, b = 12 となって,面倒が起こると 思われます.しかし,もしこの公式が正しければ、解決は簡単で, abovedisplayskip を a - b (上の例ならば 16 - 12 = 4pt) だけ 臨時に増やせばいい訳です。 兎も角、思考実験を続けます。LaTeX の元の定義を一応 尊重することにして、abovedisplayskip = belowdisplayskip とします.そうすると、jsclasses の中での次の可能性は \narrowbaselines の定義の中でしょうか? \def\narrowbaselines{% ............................. \skip6=\belowdisplayshortskip \skip8=\baselineskip% \baselineskip もコピーする \@currsize\selectfont \abovedisplayskip=\skip0 \advance\abovedisplayskip\skip8% + a \advance\abovedisplayskip -\baselineskip% - b ............................... \belowdisplayshortskip=\skip6\relax} これで abovedisplayskip が baselineskip の差だけ増えて ずれは解消するのではと思います。勿論、below の方を変更する のもここで可能な訳で,above に限る必然はないようです.LaTeX のこれまでの習慣とも 矛盾しません.さらに、微調整するにしても \normalsize だけを 直接扱って他はそのままというのがいいかどうか分りません. 上の \advance 方式でも変更できますし,ここならば \small などの方も 同時に処理できるのではと思います.間違っているかも知れません。 また、jsclasses では,narrow でも wide でも displayskip の 数値は同じように見えますが、そうでしょうか。 もしそうならば,初期化されても別に困らないのではないでしょうか? 誤解かも知れませんが。 お騒がせして恐縮です。悪しからず宜しくお願いいたします。
この書き込みへの返事: