天地有情

[LaTeX] tabulary --- セル幅列がバランスのとれた表形式

tabulary --- セル幅列がバランスのとれた表形式

§1 はじめに

● tabulary パッケージは,セル幅列がバランスのとれた表形式を提供します.
● 各列の幅は,列内の最も幅の広いセルの自然の幅に応じて重み付けされます.
● tabulary 環境におけるセル幅の列仕様は L,C,R,J(大文字)を使用します.
     (\raggedright', \centering, \raggedleft, and normally justified)
  大文字指定以外は,標準的な表形式のtabular環境,array環境と同じように機能します.

1.1 インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

1.2 マニュアル

コマンドラインから texdoc tabulary を実行してください.


§2 LaTeX2e 文書での指定方法

2.1 書式

プリアンブルに
  \usepackage{tabulary} を記述します.

2.2 構文

\begin{tabulary}{<length>}{<pream>} . . . \end{tabulary}

   <length> 表の全幅長を指定.
   <pream> 列仕様(L,C,R,J)を指定.

§3 サンプル

<length> に等しい合計表の幅を作るために LCRJ列 は p列 に変換され,
これらの変換された列の幅は、各列の一番長いエントリの自然幅に比例しています.

パッケージオプション debugshow を付けると,即ち,\usepackage[debugshow]{tabulary} として
実行すると,コンパイル時に 各セルのサイズ が次のようにコンソール表示されます.


【コンソール表示】
---------------------------------------------------------------------
Table
Target Width: 327.0pt
\tabcolsep: 6.0pt \arrayrulewidth: 0.4pt \doublerulesep: 2.0pt
\tymin: 10.0pt \tymax: 654.0pt
Col 3: Initial=31.64432pt -12.4pt Final=19.24432pt > tymin
Col 2: Initial=51.44981pt -12.4pt Final=39.04982pt > tymin
Col 1: Initial=41.66647pt -12.4pt Final=29.26648pt > tymin

Line Width: 289.40002pt, Natural Width: 87.56062pt, Ratio: 1
29.26648pt, 39.04982pt, 19.24432pt,
Total:87.56062pt
---------------------------------------------------------------------


上記から,<length> を \textwidth(327.0pt)にした場合の各セルの長さとその合計は
31.64432pt + 51.44981pt + 41.66647pt = 124.7606pt → 125pt となります.
\textwidth の代わりに 125pt を使っても,上記と同じ結果となります.

また,LCRJ列 は p列 に変換されますが,コンソール表示の下段がその値と思われます.
即ち,29.26648pt + 39.04982pt + 19.24432pt = 87.56062pt
従って,この値を使うと p列 は概算で,
\begin{tabulary}{87.6pt}{|p{29.3pt}|p{39pt}|p{19.3pt}|}とすることが出来ます.

<length> を 125pt および p列変換値を使い並置すると次のようになります.
コンソール表示は前出と同じです.

tablary02.png


結論的には <length> を \textwidth 或いは パッケージオプション debugshow を指定してセル長さを合計
したものを指定(この例では 125pt)すればよいことになります. p列値はパッケージの内部処理であり,気にする
ことはないと思われます.

(EOF)
スポンサーサイト
  1. 2015/09/16(水) 14:11:52|
  2. LaTeX Tools