TBL(7) | FreeBSD Miscellaneous Information Manual | TBL(7) |
名称
tbl — mandoc のための 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, r と f ( 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@bsd.lv によって書かれました。September 3, 2011 | FreeBSD |