【AsciiDoc入門】表作成の限界を突破!高度なテーブル(表組み)をマスターしよう!

この記事は約4分で読めます。

前回の連載第4回「【AsciiDoc入門】長文・仕様書作成の神機能!ファイルの分割と結合(include)をマスターしよう!」では、章ごとにファイルを分割して1つにまとめる include 機能や、Pythonなどのソースコードを直接ドキュメントに埋め込む実践テクニックを解説しました。

連載第5回となる今回は、AsciiDocの表現力の高さを最も実感できるテーマの1つ、「高度なテーブル(表組み)」について徹底解説します!

第1回の比較記事(https://niyanmemo.com/7489/ )でもチラッとお見せしましたが、Markdownの表組みは非常にシンプルで「セルの結合ができない」「セル内で改行や箇条書きができない」といった限界があります。

AsciiDocなら、標準のシンタックス(記法)だけで「縦横のセル結合」「セル内での箇条書き」「列幅の自由な指定」「文字の右寄せ・中央寄せ」などが自由自在に表現できます。

VS Codeのリアルタイムプレビューを見ながら、一緒に試していきましょう!

1. 基本的な表の書き方

まずは、最もシンプルな表の書き方からおさらいです。

[cols="1,1", options="header"]
|===
| OS | パッケージマネージャー

| Windows | Chocolatey / Scoop
| macOS | Homebrew
| Linux | apt / dnf
|===

💡 記述のポイント

  • 表全体を |=== (パイプ3つ+イコール3つ)で囲みます。
  • 先頭の options="header" をつけると、最初の1行目が自動的に見出し(ヘッダー行)としてレンダリングされます。
  • cols="1,1" は列の比率を表しています(上記の場合は 1:1 の均等幅)。

見え方

2. 列の幅や配置(右寄せ・中央寄せ)を調整する

cols 属性を使うことで、各列の幅の比率や文字の配置を細かくコントロールできます。

列幅の比率を変更する

例えば、3列の表で「1列目は狭く、2列目と3列目は広くしたい」という場合は以下のように数値を指定します。

[cols="1,3,3", options="header"]
|===
| ID | 機能名 | 説明
| 01 | ログイン | ユーザー認証を行います。
|===

(※列幅が 1 : 3 : 3 の比率になります)

見え方

文字の配置(左寄せ・中央寄せ・右寄せ)を変更する

cols の数値の前に記号をつけるだけで、列ごとの文字配置を一括設定できます。

  • ^(ハット): 中央寄せ
  • >(大なり): 右寄せ
  • <(小なり): 左寄せ(デフォルト)
[cols="^1, <2, >1", options="header"]
|===
| ID | 商品名 | 価格
| 001 | Python入門書 | 3,000円
|===

(※ 1列目は中央寄せ、2列目は左寄せ、3列目は右寄せになります)

見え方

3. 自由自在!セルの結合(縦・横)

Markdownでは不可能な「セルの結合」も、数字と記号の組み合わせでサクッと書けます。

横方向(列)の結合: 数値+

横に2マス分結合したい場合は、セルの先頭に 2+ を付けます。

|===
| 項目A | 項目B | 項目C

| 通常セル
2+| 横に2マス結合したセル
|===

見え方

縦方向(行)の結合: .数値+

縦に2マス分結合したい場合は、ドットを頭に付けて .2+ と書きます。

|===
| 言語 | 特徴 | 用途

.2+| Python
| 読みやすい文法 | Web開発・AI
| 豊富なライブラリ | データ分析

| Rust | メモリ安全性 | システム開発
|===

(※ Pythonのセルが縦に2行分結合されます)

見え方

4. 【超重要】セルの中で「箇条書き」や「改行」を使う(a|

AsciiDocで表を作るときに一番ハマりやすいポイントがここです!

通常、表のセルの中で * を使って箇条書きを書こうとしても、ただの文字列として表示されてしまいます。 セル内でAsciiDocの文法(箇条書きやコードブロックなど)を有効にするには、セルのパイプの前に a(AsciiDocスタイルの略) を追加して a| と記述します。

|===
| 機能 | 詳細説明

| 通常のセル
| 普通の文章が入ります。

a| 箇条書きを含むセル
| セル内でリストが使えます:
* 項目1
* 項目2
* 項目3
|===

💡 ココがポイント! セル内で箇条書きや改行、画像などを綺麗に表示したいときは、a|(アスキーパイプ) を使う!と覚えておきましょう。

見え方

5. まとめ

今回は、Markdownの限界を超えるAsciiDocの「高度なテーブル機能」について解説しました。

  • cols="1,2" で列幅の比率を自由に変更できる
  • ^ で中央寄せ、> で右寄せの設定が可能
  • 横結合は 2+|、縦結合は .2+| を使う
  • セル内で箇条書きや改行を使うときは a| にする

複雑な仕様書や比較表を作る際、これらのテクニックを知っておくとドキュメントのクオリティが劇的に上がります。

コメント

タイトルとURLをコピーしました