Re: 傍注の仕組み(Re: ページの途中から傍注をつけたい

名前: しっぽ愛好家
日時: 2003-05-14 09:37:09
IPアドレス: 211.4.46.*

>>18667 >なるほど、上の部分だけフロートにしてしまうのですね。 >outputルーチンをかなり書き換えなくてはできない気がしていました。 本気でやるのなら,\output ルーチンを結構いじるのですが… %%% 前回,``安易な定義'' といったのは,そういうことです. >傍注が、本文中の挿入箇所と同じ高さのところに出力されるのは、 >どういう仕組みでなされるのか?というのが目下の疑問点です。 あれは,実は,本当に傍注を用いた場所に直ちに配置しているのです. %%% \@addmarginpar の定義の中に,幅 \columnwidth の水平ボックスの中に %%% \box\@marbox(傍注自身を収めたボックス)を配置している箇所があります. %%% その(\columnwidth の幅の)ボックスは特に他のボックスに %%% 入れられているわけではない,ということに注意してください. ただ,近接した傍注が互いに重ならないようにする都合(*)で, \output ルーチンに持ち込んで現在のページに配置されたテキストの高さ (\@pageht)と,``前回配置した傍注の下端の位置(\@mparbottom, 傍注間の最小間隔(\marginparpush)も加算済)と今回配置する傍注の高さ (\ht\@marbox)の和'' を比較することにしています. %%% (*) また,偶数ページであるか奇数ページであるかによって脚注を %%% ページの左右どちらに出力するかが異なる場合には, %%% ``現在どのページにいるか'' を知る必要もあります.そこで, %%% ``完成しているのに未出力'' のページがもし存在すれば. %%% それも出力してしまわなければなりません. %%% %%% これらの点を気にしなくてもよければ,単に \vadjust を用いても %%% %%% 構わないようですが.(実際,ページ分割可能な枠の中に %%% %%% 傍注をつける(**)場合には,その枠の中に限り傍注の処理を %%% %%% 一時的に変更して \vadjust に持ち込む,ということもあります.) %%% %%% (**) はっきり言って,面倒な注文です… %%% 詳しくは,\@specialoutput と \@addmarginpar の定義を参照してください.

この書き込みへの返事:

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