Re: float環境?の上下のアキ

名前: .
日時: 2009-11-13 17:30:43
IPアドレス: 59.134.169.*

>>53957 # 「h」指定をしなければそのような問題で悩む必要はないわけですが…… # それはともかく, 「h」配置の図版の下側には,通常の行間のグル―も入っているようですね. というわけで,「いついかなる場合でも『h』配置の図版の上下の空白を 厳密に等しく」するというのは(未来を知ることはできない以上)困難でしょう. もっとも,「一般的な状況で,概ね」等しければよいという程度の補正なら, 次の例のような細工が考えられるでしょう. \documentclass{jbook} \makeatletter \def \@addtocurcol {% \@insertfalse \@setfloattypecounts \ifnum \@fpstype=8 \else \ifnum \@fpstype=24 \else \@flsettextmin \advance \@textmin \@textfloatsheight \@reqcolroom \@pageht \ifdim \@textmin>\@reqcolroom \@reqcolroom \@textmin \fi \advance \@reqcolroom \ht\@currbox \ifdim \@colroom>\@reqcolroom \@flsetnum \@colnum \ifnum \@colnum>\z@ \@bitor\@currtype\@deferlist \if@test \else \@bitor\@currtype\@botlist \if@test \@addtobot \else \ifodd \count\@currbox \advance \@reqcolroom \intextsep %%% added %%% 図版の直前の行の後に「標準的な」高さの行が続く場合に入る %%% 行間のグル―の大きさを割り出し,その大きさだけ補正 \dimen@\baselineskip \advance\dimen@-\@pagedp \advance\dimen@-\Cht \ifdim\dimen@<\lineskiplimit \dimen@\lineskip \fi \advance \@reqcolroom \dimen@ %%% end of added part \ifdim \@colroom>\@reqcolroom \global \advance \@colnum \m@ne \global \advance \@textfloatsheight \ht\@currbox \global \advance \@textfloatsheight 2\intextsep \@cons \@midlist \@currbox \if@nobreak \nobreak \@nobreakfalse \everypar{}% \else \addpenalty \interlinepenalty \fi \vskip\dimen@%%% added \vskip \intextsep \box\@currbox \penalty\interlinepenalty \vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi \outputpenalty \z@ \@inserttrue \fi \fi \if@insert \else \@addtotoporbot \fi \fi \fi \fi \fi \fi \fi \if@insert \else \@resethfps \@cons\@deferlist\@currbox \fi } \makeatother \begin{document} ■■■■■■■■■■■■■■■■■■■■■■ \begin{figure}[h] ■■■■■■■■■■■■■■■■■■■■■■ \end{figure} ■■■■■■■■■■■■■■■■■■■■■■ \begin{table}[h] ■■■■■■■■■■■■■■■■■■■■■■ \end{table} ■■■■■■■■■■■■■■■■■■■■■■ \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)