Re: plext の \bou で丸い傍点(圏点) (Re: jsclassesとnrubyの併用について)

名前: しっぽ愛好家
日時: 2002-11-19 01:30:21
IPアドレス: 211.4.33.*

>>13026 plext.sty のオリジナルの \bou の定義では, 傍点部分の寸法を無視するようにしています. これは,各ページの 1 行目に傍点つきの文字が現れた場合にも %%% 下記のコードの (*) 部分を参照してください. %%% オリジナルの定義では,常にサイズ 0pt のボックスに %%% 入れることにしています. 1 行目の baseline の位置が変化しないようにするための措置です. とはいうものの,確かに,大きな depth をもつ行の次の行に傍点つきの 文字が現れる(あるいは傍点に使う文字自身が大きい)ときには 不都合があります. そこで,\@bou の定義を次のようにいじってみました. %%% plext.sty を読み込んだ後で,柿の記述を用いてみてください. %%% %%% \makeatletter, \makeatother は適宜補います. %%% 傍点部分の寸法を無視するか否かを表すフラグ \newif\ifIgnoreBoutenHeight %%% デフォルトでは,傍点部分の寸法を無視します. \IgnoreBoutenHeighttrue \def\@bou#1{% \ifx#1\end \let\next=\relax \else \iftdir \if@rotsw \hbox to\z@{% \vbox \ifIgnoreBoutenHeight to\z@\fi{%%% (*) \boxmaxdepth\maxdimen \vss\moveleft-\@boutenshift \hbox{\boutenchar}% \nointerlineskip \vskip\@boutensep \hbox{\char\euc"A1A1}}% \hss}% \nobreak#1\relax \else \hbox to\z@{% \vbox \ifIgnoreBoutenHeight to\z@\fi{%%% (*) \boxmaxdepth\maxdimen \vss\moveleft\@boutenshift \hbox{\yoko%%% (**) \ifx\@varboutenchar\@empty \boutenchar \else \@varboutenchar \fi}% \nointerlineskip \vskip\@boutensep \hbox{\char\euc"A1A1}} \hss}% \nobreak#1\relax \fi \else \hbox to\z@{% \vbox \ifIgnoreBoutenHeight to\z@\fi{%%% (*) \vss\moveleft-\@boutenshift \hbox{\yoko\boutenchar}% \nointerlineskip \vskip\@boutensep \hbox{\char\euc"A1A1}}% \hss}% \nobreak#1\relax \fi \let\next=\@bou \fi \next} \let\@varboutenchar\@empty % %%% \bou のカスタマイズ用マクロ \def\setboutenshift#1{\def\@boutenshift{#1}} \def\setboutensep#1{\def\@boutensep{#1}} \def\setboutenchar#1#2{% \def\boutenchar{#1}% \def\@varboutenchar{#2}} % %%% plext.sty でのデフォルト %%% \setboutenchar の引数は,次のとおりです. %%% ・第 1 引数: 横組み時用傍点 %%% ・第 2 引数: 縦組み時用傍点 \setboutenchar{\char\euc"A1A2}{\char\euc"A1A2}%%% 、 \setboutenshift{.2zw}%%% 傍点用の文字の文字送り方向の位置の補正量 \setboutensep{0pt}%%% 傍点用の文字と ``親文字'' との間隔 %%% plext.sty での \@bou の定義では,ここでの \boutenshift の値を %%% デフォルトの \boutenchar の位置を最適化するような(0 でない)値に %%% 固定しているため,\boutenchar を他の文字に再定義した場合に %%% ``位置がずれる'' ことがあります. %%% 上記のコードの (**) の行の \yoko はオリジナルの定義にもあるものですが, %%% この指定もデフォルトの \boutenchar に対して最適化したコードです. ここでは,次のように設定を変更するとどうでしょうか. \IgnoreBoutenHeightfalse \setboutenchar {\hbox to1zw{\hss$\scriptscriptstyle\bullet$\hss}}% {\hbox to1zw{\tate\hss$\scriptscriptstyle\bullet$\hss}} \setboutenshift{0pt} \setboutensep{.1zh}

この書き込みへの返事:

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