Re: longtable環境におけるカラム幅の指定

名前: しっぽ愛好家
日時: 2002-10-20 10:29:27
IPアドレス: 210.224.212.*

>>12116 >縦組みでは > longtable でページをまたぐ >ことは出来ないようです。 そういうことなのですか. longtable パッケージは \output ルーチンに細工をする, ということは知っていたのですが,縦組みの場合に影響するとは 気づきませんでした. あくまでも対症療法ですが,longtable パッケージを読み込んだ後に 次のような記述を入れてみるとどうでしょうか. %%% ``added'' というコメントをつけた行を追加しました. \makeatletter \def\LT@output{% \iftdir \let\par\@@par \fi%%% added \ifnum\outputpenalty <-\@Mi \ifnum\outputpenalty > -\LT@end@pen \LT@err{floats and marginpars not allowed in a longtable}\@ehc \else \setbox\z@\vbox{\unvbox\@cclv}% \ifdim \ht\LT@lastfoot>\ht\LT@foot \dimen@\pagegoal \advance\dimen@-\ht\LT@lastfoot \ifdim\dimen@<\ht\z@ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% \@makecol \@outputpage \setbox\z@\vbox{\box\LT@head}% \fi \fi \global\@colroom\@colht \global\vsize\@colht \vbox {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}% \fi \else \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% \@makecol \@outputpage \global\vsize\@colroom \copy\LT@head \fi} \makeatother [余談] longtable 環境は表の各カラムの幅を相互参照と同様にして 取得するため,``あるページのあるカラムの配列要素がすべて小さい'' と いったことがあっても,1 つのカラムの幅は表全体にわたって同じ値になります. 一方,supertabular 環境は(ページごとに)分割した個々の表を独立に扱うので 1 つのカラムの幅がページごとに変わる,ということも起こります. %%% そこで,カラム幅の取得に関しては longtable 方式を用い, %%% 表の分割方法に関しては supertabular 方式(を多少改良?したもの)を %%% 用いる,という折衷案を用いることも(個人的には)あります.

この書き込みへの返事:

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