EPUB用の表を作成する!テキストエディタの挿入記法

表は罫線の見た目から作るのではなく、列の意味と各行の値から作ります。テキストエディタ 表 作成の受入では、原稿記法、生成XHTMLのtable要素、セルの順序を順に確認します。STUDIO-362の固定EPUBには表が一つあります。ローカル構造は実測済みですが、特定のプレビュー画面での幅や折り返しは観測していません。

二列二行の標本を先に固定する

今回の固定標本は二列二行です。一行目は左から見出し、見出し、二行目は左から内容、内容です。説明用に別の項目名を足さず、この四セルを原稿と生成物の共通の期待値にします。単純な標本だから、列数の変化、行の欠落、セル順の入れ替わりを迷わず判定できます。

原稿へ罫線記法を入れる前に、列数と行数を数えます。一行だけセルが多いと、Markdown上では読めても生成HTMLの列がずれる場合があります。縦棒を本文として使うセルはエスケープ規則を確かめ、複雑な表をいきなり本番へ入れません。

chapter-01.mdだけに表を置く

固定標本は四章です。表記法はchapter-01.mdに一つだけ置き、残る三章には置きません。これにより、生成後に表が二つあれば重複、0なら変換漏れと判断できます。画像素材は入力しておらず、image_source_count=0です。

生成計画はfileCount=4、chapterCount=4でvalid=trueでした。四つの章がすべて目次掲載対象になっていることも計画応答で確認します。表の試験だからといって、別章を落としたEPUBを受け入れないようにします。

EPUBを保存してZIPとして開き直す

出力ファイルのSHA-256はa62df3922743e14011758abd1869b69ced8b6a84cf6821efeeeda74650adc5cbです。保存後に検査命令で開き直し、entry_count=12、spineはタイトル、nav、p001〜p004、奥付の七項目、navとNCXは各四章でした。

表は生成XHTMLの構造検査でtable_count=1でした。件数だけでなく、表がp001にあり、見出しセルと本文セルが予定した順序を持つかを読みます。原稿記法がそのまま文字列として漏れていないことも確認します。

二列から外れた失敗をセル座標で記録する

負の例は、二行目だけ区切りを一つ多くして三セルにしたり、右側の内容を落として一セルにしたりするケースです。画面で罫線が見えても、二列二行という契約は崩れています。失敗票にはrow=2, expected_cells=2, actual_cells=3のように座標と件数を書きます。

復旧では出力XHTMLを直接編集せず、chapter-01.mdの該当行を直します。失敗EPUBは別SHAで残し、修正版を新しい名前で生成します。四章のspine、nav、NCXを再検査したうえで、表一件の全セルを最初から照合します。

セル順を構造として読み取る

展開したp001では、一行目がth二個、二行目がtd二個になっていることを確認します。抽出する期待配列は[["見出し","見出し"],["内容","内容"]]です。左から右、上から下の順序が一致して初めて、この標本の変換を受け入れます。

狭い画面でセルが折り返すことは、構造エラーとは限りません。四セルと要素種別が正しいかを先に判定し、幅や折り返しは別の視覚試験へ回します。構造票に画面の見た目を書き足さないことで、Reader固有の表示差を変換失敗と取り違えません。

プレビューの見え方は未実測として残す

今回の証拠で確認したのは原稿四章、生成EPUB、p001のtable要素一件、パッケージの整合です。Rune Studioのプレビューで罫線、列幅、折り返し、横スクロールがどう表示されたかは取得していません。CLIのtable_count=1から見た目を推測しません。

UI試験を追加するなら、アプリ版、ウィンドウ幅、テーマ、拡大率、表示中のp001、各列の折り返しを記録します。その画面と同じEPUB SHAを用意し、構造票と視覚票を結びます。画面だけを見て、生成物にも同じ表があると断定しないことも重要です。

表を画像に置き換えない

表を画像化すると見た目は固定できますが、文字検索、読み上げ、コピー、画面幅への追従が難しくなります。今回の標本は画像参照0件で、XHTMLの表として残しています。説明用の装飾画像とデータ表を混同しません。

複雑な結合セルが必要な場合は、この単純な二列二行表とは別の検証を作ります。すべてのReaderが同じCSSを扱うとは限らないため、対象環境を名前で指定し、構造と表示を両方確認します。

一つの表と四章の整合を渡す

受入票には入力四章、表を持つchapter-01.md、出力EPUB SHA、p001、table_count=1を並べます。次に、見出し二セル、内容二セル、二列二行、原稿記法の漏れ0を記録します。表以外の三章もspineと目次に残ることを確認します。

構造試験の合格は、同じSHAのEPUBを開き直し、四章を保ったままp001に表一件を再現できることです。プレビューの罫線や幅は未実測欄に残します。Reader表示が必要になった時点で、その環境名を持つ別の視覚試験を追加します。