EN JA
TBL(7)
TBL(7) FreeBSD Miscellaneous Information Manual TBL(7)

名称

tblmandoc のための tbl 言語リファレンス

解説

tbl 言語は、テーブルを書式化する言語です。それは、 mdoc(7)man(7) UNIX マニュアルページ内で使用されます。このマニュアルは、 mandoc(1) ユーティリティによって受け付けられる tbl 言語の一部について説明しています。

mdoc(7) または man(7) 内のテーブルは、正確な構文は、 roff(7) で文書化されている、‘TS’と‘TE’マクロタグによって囲まれます。テーブルは、単一行のひと続きのオプションから成り、テーブルレイアウトが続き、データが続きます。

例えば、次は、セル内にセンタリングされた数字でボックスのテーブルを作成します。

.TS 
tab(:) box; 
c5 c5 c5. 
1:2:3 
4:5:6 
.TE

書式化されたとき、次の出力が生成されます:

1 2 3
4 5 6

mandoc(1)tbl 実装は、現在開発中です。

テーブル構造

テーブルは、‘TS’と‘TE’ roff(7) マクロによって囲まれます。テーブルは、セミコロンによって終了したテーブル オプション の省略可能な単一行から成り、ピリオドによって終了した レイアウト 指定の 1 行以上と データ が続きます。すべての入力は、7 ビットの ASCII でなければなりません。例:

.TS 
box tab(:); 
c | c 
| c | c. 
1:2 
3:4 
.TE

テーブルデータは、 プリプロセス されます、すなわち、データの列は、解析され、次に入力データの基本的なストリームに挿入されます。これによって、次のような任意の roff(7), mdoc(7)man(7) マクロによってデータ列を組み込むことができます。 mdoc(7) の場合は、

.TS 
tab(:); 
c c c. 
1:2:3 
.Ao 
3:2:1 
.Ac 
.TE

または man(7) の場合は、

.TS 
tab(:); 
c c c. 
.ds ab 2 
1:\*(ab:3 
.I 
3:2:1 
.TE

です。

オプション

テーブルの最初の行は、セミコロンによって終了した、空白で分離されたオプションキーと修飾子から成ります。最初の行に終了するセミコロンがないなら、オプションが指定されないと仮定され、代わりに、 レイアウト が処理されます。いくつかのオプションは、括弧によって囲まれた引数を受け付けます。次の大文字と小文字を区別しないオプションが利用可能です:
center
このオプションは、 mandoc(1) でサポートされていません。また、これは、 centre (センタリング) を引き起こします。
delim
2 文字の引数を受け付けます。このオプションは、 mandoc(1) でサポートされていません。
expand
このオプションは、 mandoc(1) でサポートされていません。
box
テーブルのまわりに単線のボックスを描画します。また、これは、 frame を引き起こします。
doublebox
テーブルのまわりに二重線のボックスを描画します。また、これは、 doubleframe を引き起こします。
allbox
このオプションは、 mandoc(1) でサポートされていません。
tab
単一文字引数を受け付けます。この文字は、データセルの間のデリミタとして使用され、そうでなければ、デフォルトでタブ文字となります。
linesize
自然数 (すべての数字) を受け付けますこのオプションは、 mandoc(1) でサポートされていません。
nokeep
このオプションは、 mandoc(1) でサポートされていません。
decimalpoint
単一文字引数を受け付けます。この文字は、 n レイアウトキーで小数点として使用されます。
nospaces
このオプションは、 mandoc(1) でサポートされていません。

(レイアウト

テーブルレイアウトは、 オプション または‘T&’マクロ呼び出しに続きます。レイアウトは、データ列が出力でどのように表示されるかを指定します。各レイアウト行は、データの行に対応します。最後のレイアウト行は、すべての残りのデータ行に適用されます。また、レイアウト行は、コンマによって区切られます。各レイアウトのセルは、続く大文字と小文字を区別しないキーの 1 つから成ります:
c
カラム内のリテラル文字列をセンタリングします。
r
カラム内のリテラル文字列を右寄せします。
l
カラム内のリテラル文字列を左寄せします。
n
その最後の小数点のまわりの数を右端にんそろえます。数値に小数点が見つからないなら、それは、数を引きずる (trail) と仮定されます。
s
最後の non- s データセルからのカラムを水平にスパンします。スパンするカラムが - または | セルに続くか、または最初に来るなら、それはエラーです。このオプションは、 mandoc(1) でサポートされていません。
a
1 つの空白があるリテラル文字列と詰め物を左寄せします。
^
最後の non- ^ データセルから列を垂直にスパンします。それは、最初のレイアウトの列で垂直のスパンを引き起こすエラーです。水平のスパナ (spanner) と異なり、対応するデータセルで空のセル (空でないなら、データは、廃棄されます) を指定しなければなりません。
-
データセル (その内容は、失われる) を単一の水平行と置き換えます。また、これは、 _ を引き起こします。
=
データセル (その内容は、失われる) を二重の水平行と置き換えます。
|
データの代わりに垂直のバーを出力します。
||
データの代わりに二重垂直のバーを出力します。

キーに 1 組の修飾子が続きます。修飾子は、カラムの最小の幅を指定するための修飾子のキーまたは自然数のいずれかです。次の大文字と小文字を区別しない修飾子のキーが利用可能です: z, u, e, t, d, b, i, rf ( b, i, r, 3, 2, または 1 が続きます)。これらのすべては、 mandoc(1) によって無視されます。

例えば、次のレイアウトは、最小の幅 10 のセンタリングにそろえられたカラムを指定し、垂直のバーが続き、最小の幅 10 の左寄せられたカラム、別の垂直のバーが続き、次にカラム、数値中の小数点に関してそろえられます:

c10 | l10 | n

データ

データセクションは、最後のレイアウト列に続きます。デフォルトで、データセクション中のセルは、タブで区切られます。この振る舞いは、 tab オプションと変更することができます。 _ または = が指定されるなら、単一または二重の行が、それぞれ、データフィールドにわたって描画されます。 \- または \= が指定されるなら、行は、データフィールド内 (すなわち、セル内で終了し、境界を描画しない) に描画されます。行の最後のセルが T{ であるなら、すべての続く行は、 T} が、それ自体のデータセルとして指定されるまで、セルの一部として含まれます。次に、タブ (または tab で示される文字) が続くか、または列を終了するために行の終り (end-of-line) が続きます。

互換性

このセクションは、現時点で GNU tbl に限定されている、 mandoc と他の tbl 実装の間の互換性を文書化しています。

  • GNU tbl では、コメントとマクロは、テーブルのデータブロックより前は許可されません。 mandoc(1) 実装は、それらを許可しています。

関連項目

mandoc(1), man(7), mandoc_char(7), mdoc(7), roff(7) M. E. Lesk, Tbl—A Program to Format Tables, June 11, 1976.

歴史

tbl ユーティリティ、troff のためのプリプロセッサは、1975 年に Bell Labs の M. E. Lesk によって最初に書かれました。 tbl の GNU 再実装、groff パッケージの一部は、 James Clark によって 1990 年にリリースされました。スタンドアロンの tbl の実装は、2010 年に Kristaps Dzonsons によって書かれました。これは、 mandoc(1) ユーティリティの一部である実装の基礎を築きました。

作者

この tbl リファレンスは、 Kristaps Dzonsons, kristaps@bsd.lv によって書かれました。
September 3, 2011 FreeBSD