Re: \parshapeと\hfill

名前: .
日時: 2009-02-21 21:27:00
IPアドレス: 59.134.169.*

>>52801 要は,「10cm(約 29.6 文字分)のところに 30 文字詰め込んだ行に 無理がかかっている」ということが問題なのでしょう. 次の例を検討してください. \documentclass{jarticle} \textwidth=14cm \begin{document} \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお %%% 隣り合う行の評価値の差を気にしないように設定 %%% ただし,\adjdemerits を負で絶対値が大きな値にすると %%% 「アンバランスな行分割を促進」するので,そのような設定を無条件に %%% すべての段落に適用させるのはよくない. \begingroup \adjdemerits=-1000000 \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお \par\endgroup \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお かかかかかかかかかかかかかかかかかかかかかかかかかかか \newpage %%% 「中央寄せ」に使うグルーの伸張度を下げる(こうすると, %%% 「\null <グルー>い<改行>」などという行の評価値が上がることが期待される) \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hskip 0pt plus .5\hsize いいい\hskip 0pt plus .5\hsize \null\linebreak ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hskip 0pt plus .5\hsize いいい\hskip 0pt plus .5\hsize \null\linebreak ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hskip 0pt plus .5\hsize いいい\hskip 0pt plus .5\hsize \null\linebreak ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお かかかかかかかかかかかかかかかかかかかかかかかかかかか \newpage %%% 行長を整数文字分にして,強制改行していない行には無理がかからないようにする. %%% ただし,「和文のみ」の文書でないときにはあまり有効でない. \parshape 4 0pt 30zw 0pt 30zw 0pt 30zw 0pt 41zw あああ\\ \null\hfill いいい\hfill \null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ \vskip5mm \parshape 4 0pt 30zw 0pt 30zw 0pt 30zw 0pt 41zw あああ\\ \null\hfill いいい\hfill \null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお \vskip5mm \parshape 4 0pt 30zw 0pt 30zw 0pt 30zw 0pt 41zw あああ\\ \null\hfill いいい\hfill \null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお かかかかかかかかかかかかかかかかかかかかかかかかかかか \newpage %%% \kanjiskip の伸縮度を増やして,多少詰め気味な(あるいは間延びした)行が %%% できてもその行の評価値が上がらないようにする. \advance\kanjiskip 0pt plus.5pt minus.5pt \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお \vskip5mm \parshape 4 0pt 10cm 0pt 10cm 0pt 10cm 0pt 14cm あああ\\ \null\hfill いいい\hfill\null\\ ううううううううううううううううううううううううううう えええええええええええええええええええええええええええ おおおおおおおおおおおおおおおおおおおおおおおおおおお かかかかかかかかかかかかかかかかかかかかかかかかかかか \end{document}

この書き込みへの返事:

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