名前: 本田 日時: 2006-09-23 14:13:28 IPアドレス: 222.158.121.*
>>44997 とりあえず,array packageを使わない場合は こんな感じでどうでしょう ちょっとad hocですけども \@itemの中で上下方向の空白を処理してるあたりに p指定のセルのときのみ 一行目に「柱を立てる」のではなく,行を追加して その分戻るという細工をついかしています. 問題点はlist環境の一行目に大きな要素があると はみ出してしまうことです. まあ,これは仕様だということで. #array packageの場合・・・ #\everyparへの細工がlist環境とarray packageの方で #衝突するから厄介だなぁ・・・ \documentclass{jarticle} \makeatletter \newif\if@pbox \def\@startpbox#1{\vtop\bgroup\setlength\hsize{#1}\@pboxtrue\@arrayparboxrestore} \let\@@startpbox=\@startpbox \def\@endpbox{% \ifhmode\vrule\@width\z@\@height\z@\@depth\dp\@arstrutbox \else \ifdim\prevdepth>\z@ \ifdim\prevdepth>\dp\@arstrutbox\else \vskip-\prevdepth \fi \fi \hrule \@height\z@\@width\z@\@depth\dp\@arstrutbox \fi \par\egroup \hfil} \let\@@endpbox\@endpbox \def\@item[#1]{% \if@noparitem \@donoparitem \else \if@inlabel \indent \par \fi \ifhmode \unskip\unskip \par \fi \if@newlist %%%%%%追加開始 \if@pbox \null\vspace{-\baselineskip}%%%!! \fi %%%%%%追加終わり \if@nobreak \@nbitem \else \addpenalty\@beginparpenalty \addvspace\@topsep \addvspace{-\parskip}% \fi \else \addpenalty\@itempenalty \addvspace\itemsep \fi \global\@inlabeltrue \fi \everypar{% \@minipagefalse \global\@newlistfalse \if@inlabel \global\@inlabelfalse {\setbox\z@\lastbox \ifvoid\z@ \kern-\itemindent \fi}% \box\@labels \penalty\z@ \fi \if@nobreak \@nobreakfalse \clubpenalty \@M \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter\@listctr \fi \fi \sbox\@tempboxa{\makelabel{#1}}% \global\setbox\@labels\hbox{% \unhbox\@labels \hskip \itemindent \hskip -\labelwidth \hskip -\labelsep \ifdim \wd\@tempboxa >\labelwidth \box\@tempboxa \else \hbox to\labelwidth {\unhbox\@tempboxa}% \fi \hskip \labelsep}% \ignorespaces} \makeatother \begin{document} ああああああああああ あああ \begin{tabular}{cc} \hline ああ\\ いい\\ うう\\ うう\\ うう\\ \hline \end{tabular} \begin{tabular}{p{6zw}} \hline ああ\par いい\par うう\par うう\par うう\par \\\hline \end{tabular} \begin{tabular}{p{6zw}} \hline \begin{list}{$\bullet$} {\parsep0pt \topsep0pt \partopsep0pt \itemsep0pt}% \item ああああああああ \item いいい \item ううう \end{list} \\\hline \end{tabular} ああああああああああああ \end{document}
この書き込みへの返事: