名前: Nobi 日時: 2009-09-22 20:08:43 IPアドレス: 114.48.226.*
>>53697 アドバイスありがとうございます。 すばやくご返答いただき感激です。 支柱は考えたのですが、ダミーを入れて minipage と密着させて……という流れは まったく考えつきませんでした。 教えていただいた方法のおかげで、parindent や baselineskip などに汎用性をもたせて 「この範囲では改ページしない」という環境を作成することができました。 大変ありがとうございました。 %%%%%%%%%%%%%%%%%%%%% \makeatletter \newlength{\@tempdimf} \newlength{\@tempdimg} \newenvironment{同一ページに収める}[1][\linewidth]{\par% \null% ダミーを入れて「次の行」に移動 \nointerlineskip% ダミー(\null)と minipage 環境を密着させる \vskip-1.2zw% minipage環境の先頭に入れた支柱の高さだけ戻る \setlength{\@tempdimf}{\parindent}% minipage に入る前の parindent を保存 \setlength{\@tempdimg}{\baselineskip}% minipage に入る前の baselineskip を保存 \noindent% minipage の前はインデントしない \begin{minipage}[b]{#1}% ``[b]'' 指定 \setlength{\parindent}{\@tempdimf}% minipage 内の parindent を設定 \setlength{\baselineskip}{\@tempdimg}% minipage 内の baselineskip を設定 \leavevmode\rule{0pt}{1.2zw}% 支柱を立てる。 \par\vskip-\baselineskip% minipage 内先頭で noindent などがきくように小手先。 }{\end{minipage}}
この書き込みへの返事: