[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 00770] 画像張り付け後の改行幅が巨大に



はじめまして。寺尾@大阪学院大学情報 です

> [mgp-users-jp 00724] Re: 数式EPSを貼りつけると行間隔がずれる
> >>>>> On Sun, 9 Jul 2000 19:40:35 +0900, Taro NAKANO <nakano@chianti.c.u-tokyo.ac.jp> said:
>  >> 文中で数式を使うことが非常に多いので、LaTeX で書いた数式を dvips 
>  >> で EPS 画像にして貼りつけているのですが、このようにして数式画像を
>  >> 貼ると、貼った行とその次の行との間隔がかなり広く空いてしまい、ちょっ
>  >> と困っています。
> ううむ。バグですね。
> こういうパッチをあてるとどうなりますか?

のパッチを適用することによって、文章のなかに EPS ファイルを
取り込んだときに、きれいな出力ができるようになり、助かってお
ります。

ところが、その後別のトラブルに見舞われるようになりました。

☆大きな画像を張り付けると、その直後の改行が非常に大きくなる。

というものです。コード(draw.c)を見ると、その行の maxascent 
を見て、それに対する vgap % 分の行間隔を出力するようになって
いるようでした。もともと 0 であった image の場合の maxascent 
が、パッチを当てたことによって、その画像の高さ分に変化したこ
とによって、行間隔が大きくなったもののようです。そこで、今で
は以下のパッチを当て、行間隔をちいさくして使用しています。

(2000/11/27 の snap に対する差分です)

*** magicpoint-1.07a.snap-20001127/draw.c       Mon Jul 17 23:21:25 2000
--- magicpoint-1.07a.snap-20001127.fix/draw.c   Tue Dec  5 16:48:26 2000
***************
*** 870,879 ****
        }
  
        state->ypos += state->maxascent;
!       if (VERT_GAP(state->maxascent) < state->maxdescent)
                state->ypos += state->maxdescent;
        else
!               state->ypos += VERT_GAP(state->maxascent);
        state->ypos += 2;
  }
  
--- 870,881 ----
        }
  
        state->ypos += state->maxascent;
!       /*      if (VERT_GAP(state->maxascent) < state->maxdescent) */
!       if (VERT_GAP(char_size[caching]) < state->maxdescent)
                state->ypos += state->maxdescent;
        else
!         /*            state->ypos += VERT_GAP(state->maxascent); */
!               state->ypos += VERT_GAP(char_size[caching]);
        state->ypos += 2;
  }
  
つまり、あくまでもその行の文字の大きさに対する vgap % で行間
隔を出力するように変更しました。
この変更には注意すべきことがあります。それは、行間隔の考え方
を変えることになるということです。(SYNTAX ファイルの表現には
むしろ近付いているようにも思いますが。) したがって、こう変え
るべきなのかどうかは判断つきません。自分の目的にはこれが合っ
ているのですが...

// TERAO Toru   Faculty of Informatics,                     //
//              Osaka Gakuin University(Lecturer)           //