行または列にまたがるセル
グループ化されたヘッダーの下の multicolumn、multirow、cmidrule。
行または列にまたがるセル
実際のテーブルではセルを結合する必要があることがよくあります。 2 つのメトリック列の上にある「スコア」のようなヘッダーは複数の列にまたがり、2 つの結果行に適用されるモデル名は複数の行にまたがります。 LaTeX は、異なるツールを使用して 2 つの方向を処理します。\multicolumn は組み込まれていますが、\multirow は同じ名前のパッケージから来ています。以下は、両方を使用したコンパクトなテーブルと、booktabs の部分的なルールです。
\usepackage{multirow,booktabs}\begin{tabular}{lcc} \toprule & \multicolumn{2}{c}{Scores} \\ \cmidrule(lr){2-3} Model & Acc & F1 \\ \midrule \multirow{2}{*}{Ours} & 0.9 & 0.88 \\ & 0.91 & 0.89 \\ \bottomrule\end{tabular}複数の列にまたがる
\multicolumn{2}{c}{Scores} は、2 つの通常のセルを 1 つのセルに置き換えます。最初の引数は吸収する列の数で、2 番目はこのセルのみの列指定で、ここでは「c」は中央揃えを意味し、3 番目は内容です。その前の唯一の & に注意してください。その行の最初の列は意図的に空になっているため、「スコア」は列 2 から始まり、列 2 と 3 をカバーします。 2 番目の引数は列の型をローカルでオーバーライドするため、\multicolumn{1}{c}{...} は、単一のヘッダー セルを左揃えの列の上に中央揃えするための標準的な方法でもあります。
部分的なルール
\cmidrule(lr){2-3} は、列 2 ~ 3 の下にのみ水平罫線を描画し、グループ化されたヘッダーをその列に視覚的に結び付けます。 (lr) オプションはルールの左端と右端をわずかにトリミングするため、隣接する \cmidrule が接触せず、別個のグループ マーカーとして読み取られます。これは「booktabs」コマンドであり、トリミングはこれらの表を描画ではなく組版のように見せる詳細の 1 つです。完全な 3 ルール スタイルは、3 ルール テーブル でカバーされています。
複数の行にまたがる
\multirow{2}{*}{Ours} は、「Ours」を 2 行にわたって垂直中央に印刷します。最初の引数は行数、2 番目はセル幅です。「*」はコンテンツの自然な幅を意味し、3 番目はコンテンツ自体です。このコマンドは表示スペースを予約するだけなので、2 行目は空の最初のセルを提供する必要があります。そのため、次の行は裸の & で始まります。空のセルを忘れると、行内のすべての値が 1 列左にシフトされ、位置ずれのエラー メッセージが間違った行を指すため、最初に \multirow の後の行を確認してください。
実際の制限
結合されたセルは、ヘッダーと短い行グループに留めておくのが最適です。データ セルが両方向にまたがるテーブルは、行を追加するたびにスパンを再計算する必要があるため、読みにくく、保守も困難です。 \multicolumn 内に \multirow が入れ子になっている場合は、代わりにテーブルを再構築することを検討してください。