スポンサーリンク

TBL

名称
書式
解説
オプション
使用法
EQN との相互作用
GNU TBL 拡張
バグ
関連項目

名称

tbl − troff のための表フォーマッタ

書式

tbl [ −Cv ] [ files... ]

解説

本 マ ニュ アルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの tbl について記述します。 tbl は、 troff ドキュメントに 埋 め 込まれた表の記述を troff が解釈できるコマンドに変換します。通常、 tblgroff−t オプションを指定することにより起動されます。 tbl は Unix tbl と高い互換性を持ちますが、GNU tbl の出力は Unix troff で処理す ることはできません。それは GNU troff で処理する必要があります。コマンド ラ イ ン にファイル名が指定されなかった場合、標準入力から読み込みます。 ファイル名として を指定した場合も標準入力から読み込みます。

オプション

−C

.TS.TE のあとに空白や改行以外の文字がきても、それを .TS.TE であると解釈します。

−v

バージョン番号を表示します。

使用法

tbl は表の記述子を .TS (表開始) と .TE (表終了) のマクロで括られている ものと期待しています。 .TS マクロの直後の行は次のグローバルオプションを 含むことが可能です (文字の大文字小文字は無視します -- Unix tbl は、すべ て小文字かすべて大文字のオプションのみを受け付けます):

center

表を中央寄せします (デフォルトは左寄せです)。別 の キー ワード centre も認識されます (これは GNU tbl 拡張です)。

delim(xy)

xyeqn(1) の開始および終端のデリミタとして使用します。

expand

表を現在の行の長さと同じ幅にします。

box

表を箱で囲みます。

doublebox

表を二重箱で囲みます。

allbox

表の各項目を箱で囲みます。

frame

box と同じです (GNU tbl のみ)。

doubleframe

doublebox と同じです (GNU tbl のみ)。

tab(x)

入力データ行の各項目を、タブの代りに文字 x で分離しま す。

linesize(n)

線または罫線 (例 box によるもの) を n ポイントタイプにします。

nokeep

ページブレークを抑止するために転換 (diversion) を使用し ま せん (GNU tbl のみ)。通常 tbl は転換を使用し、表内で望ましく ないブレークを抑止しようとします。これは、独自に転換を使用し て い る マ クロパッケージ、例えばフットノートが使用された場合など に、干渉する場合があります。

decimalpoint(c)

指定した文字を数値列の小数点として認識させます (GNU tbl のみ)。

nospaces

データ項目の先頭および末尾の空白を無視させます (GNU tbl のみ)。

グローバルオプションはセミコロンで終端される必要があります。オプショ ン の後には空白があっても良く、引数は括弧で括られます。

グ ローバルオプションの後には、表の各行の書式を記述する行が来ます。それ ぞれの書式行は表の 1 行それ自身を記述しますが、例外は最後の書式行 (ピリ オ ドで終端する必要があります) であり、これは表の残りの行の書式を記述し ます。単一のキー文字が、表の各行の各列を記述します。数行分の書 式 指 定 を、単一行にコンマで区切って指定可能です。

各 キー文字の後に指定子を続けることができます。指定子は、対応する項目の フォントやポイントサイズを決定し、列の幅や列の間の間隔等を決定します。

最長の書式行が、表に含まれる列数を指定します。書式行の末尾で欠けてい る 書式記述子は ‘L’ であると仮定されます。データ中の余分な列 (対応する書式 項目が無いもの) は無視されます。

使用可能なキー文字は次の通りです:

c,C

項目を列の中で中央寄せします。

r,R

項目を列の中で右寄せします。

l,L

項目を列の中で左寄せします。

n,N

項目を数値的に揃えます。数値の単位位置が垂直に揃います。

s,S

左の直前の項目が、この列にも続きます。

a,A

この列の最長の行を中央寄せし、中央寄せされた行に従って他の すべての行を左寄せします。

^

直前の行の項目が、この列にも続きます。

_,-

この項目を水平行と置換します。

=

この項目を二重水平行と置換します。

|

対応する列は垂直罫線となります (2 個連続した場合には二重垂直 罫線となります)。

最初のキー文字の左または最後のキー文字の右にある垂直バーは、表の端の 線 を生成します。

以下の指定子は、列キー文字のサフィックスとして使用可能です:

b,B

fB の短縮形 (対象の項目をボールドにします)。

i,I

fI の短縮形 (対象の項目をイタリックにします)。

t,T

垂直に複数行の範囲となる項目を、垂直位置で中央から開始する のではなく、頂上部から開始します。

d,D

垂直に複数行の範囲となる項目を、垂直位置で中央から開始する のではなく、基底部から開始します (GNU tbl のみ)。

v,V

後に数値が続き、複数行の表の項目における、垂直行間隔を指定 します。符号付きの場合、現在の垂直行間隔が増加または減少され ま す (符号付きの 1 桁数ではなく符号付きの数値が使えるのは GNU tbl 拡張です)。垂直行間隔指定子の後に列間隔数を続けるには、1 個以上 の 空白で区切ります。対応する表の項目がテキストブロックではない 場合、効果無しです。

f,F

これらの指定子は、フォント名 (1 または 2 文字)、フォント番 号 (1 桁)、括弧で括られた長い形式の名前が続きます (最後の形式は GNU tbl 拡張です)。 1 文字のフォント名の後には、後に続くもの と の間に 1 個以上の空白が続く必要があります。

p,P

後に数値が続き、対象の欄のポイントサイズを変更します。符号 付きの場合、現在のポイントサイズが増加または減少されます (符 号 付 きの 1 桁数ではなく符号付きの数値が使えるのは GNU tbl 拡張で す)。ポイントサイズ指定子の後に列間隔数を続けるには、1 個以上の 空白で区切ります。

w,W

列の最小幅です。この後に、 troff(1) の幅の表現を括弧で括っ たものか、単位無しの整数が続く必要があります。単位を指定しな い と、en 単位が使用されます。インクルードされるテキストブロックの デフォルト行長としても使用されます。特定の列の幅の指定が複数 回 使用されると、最後の項目が使用されます。

e,E

同じ間隔の列を作成します。

u,U

対応する列を半行分上に移動します。

z,Z

対応する列を、幅計算の対象から除外します。

キー文字に対する数値サフィックスは、en 単位での列セパレータと解釈されま す ( expand オプションがオンの場合、これに比例します)。デフォルトの間隔 は 3n です。

書 式 行の後には、表の実際のデータを含む行が続きます。最後に .TE が来ま す。各データ行中では、データは通常、タブ文字 (または tab オプションで指 定 された文字) で区切られます 。長い入力行は、行の最後の文字を ‘\’ とす ることで、複数行に分割可能です (この文字は結合後に消えます)。

行を開始するドットに数値以外のものが続く場合、troff コマンドとして扱 わ れ、無変更で渡されます。この場合、表の位置は変わりません。

デー タ行が ‘_’ または ‘=’ だけから成る場合、その場所でそれぞれ、表全体 に渡る線または二重線が引かれます。データ行中の単一項目が ‘_’ または ‘=’ だ けから成る場合、この項目がそれぞれ、線または二重線に置換され、隣りの 項目を繋ぎます。データ行中の単一項目が ‘\_’ または ‘\=’ だけから成る 場 合、 この項目がそれぞれ、線または二重線に置換されますが、隣りの項目を繋 ぎません。

‘\Rx’ (‘x’ は任意の文字) のみから成るデータ項目は、列の幅だけ続く 文 字 ‘x’ の繰り返しで置き換えられます (隣りの項目を繋ぎません)。

‘\^’ のみから成るデータ項目は、すぐ上の欄がこの行を通って下向きに続くこ とを意味します。

テキストブロックを使用することで、単にタブ間に置くには長過ぎるかもし れ な いデータを単一項目として入力できます。これは ‘T{’ で開始し ‘T}’ で終 端します。前者は行末にあることが必要で、後者は行頭にあることが必要 で、 この後に (タブで区切られて) 他のデータが続くでしょう。

表中のデータの書式を変えるには、 .T& コマンドを使用します (行頭で使用し ます)。この後に、 .TS リクエストと同様に、書式とデータの行が続きます ( グローバルオプションは駄目です)。

EQN との相互作用

tbl(1) は常に eqn(1) の前に呼ぶ必要があります (groff(1) は自動的にプリ プロセッサの正しい順序の面倒を見ます)。

GNU TBL 拡張

列数には限界がありませんし、テキストボックス数にも限界がありません。 表 の す べての行が、列の幅の決定に使用されます。最初の 200 行ではありませ ん。表の継続 (.T&) 行は最初の 200 行に制限されません。

数字と英字の項目を同じカラムに印字することもできます。

数字と英字の項目を水平方向にまたがらせることもできます。

tbl3 で始まる名前のレジスタ、文字列、マクロ、転換名を使用し ま す。 tbl を使う際には 3 で始まる名前の使用は避けるべきです。

バグ

複 数ページにまたがる枠付き表を表示する場合、それをサポートしているマク ロパッケージと .TS H/.TH を併用しなければなりません。表の各ページの上部 に 表示されるべきヘッダが出ない場合、そのフォーマットセクションの直後に .TH を置いて下さい。複数ページの表を keep/release マクロで囲んだり、 そ の他の方法で迂回させないでください。

表中のテキストブロックは 1 ページに収まらなければなりません。

bp リクエストは複数ページの表でページブレークを強制するために使用するこ とはできません。 bp のかわりに BP を以下のように定義して使用し て 下 さ い。

.de BP
.ie ’\\n(.z’’ .bp \\$1
.el \!.BP \\$1
..

表 中で直接 \a を使用しても、リーダはうまく得られません。これは正しい動 作です: \a は 解釈されないリーダです。リーダを得るためには、本物の リー ダを使います。それには control A か以下を使用する必要があります:

.ds a \a
.TS
tab(;);
lw(1i) l.
A\*a;B
.TE

関連項目

groff(1), troff(1)

スポンサーリンク