CorTeX ドキュメントCorTeXを開く
CorTeXを開く
ドキュメント一覧

読みやすい LaTeX の表を作る

読みやすい列、単位、罫線、キャプション、ラベルを使って研究データを示します。

このページの内容

読者が正確な値を確認したり比較したりする必要がある場合は、表を使います。よい研究用の表では、測定対象を明記し、見出しに単位を入れ、比較する値の位置を揃えます。また、縦罫線や極端に小さい文字を使わなくても読みやすくします。

小さな結果表を作る#

tabular の列指定で配置を決めます。l は左揃え、c は中央揃え、r は右揃えです。& でセルを区切り、\\ で行を終えます。すべての行でセルの数を同じにする必要があります。

LaTeX ソース
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{tabular}{lrr}
\toprule
Method & Accuracy & Time (s) \\
\midrule
Baseline & 0.82 & 14.2 \\
Proposed & 0.89 & 11.7 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
コンパイル結果
CorTeX で開く

測定値は説明用の例で、実験の証拠ではありません。booktabs は控えめな横罫線を提供します。各セルで秒などの単位を繰り返さず、見出しに記載してください。精度そのものに意味がある場合を除き、同じ列では桁数を揃えます。

キャプションと参照を加える#

tabular は表本体を組み、table は表の配置、番号、キャプションを LaTeX に任せるために使います。表番号をラベルに割り当てるため、ラベルはキャプションの後に置きます。

Table~\ref{tab:runtime} compares the two methods.
\begin{table}[htbp]
  \centering
  \caption{Validation accuracy and mean inference time.}
  \label{tab:runtime}
  \begin{tabular}{lrr}
    \toprule
    Method & Accuracy & Time (s) \\
    \midrule
    Baseline & 0.82 & 14.2 \\
    Proposed & 0.89 & 11.7 \\
    \bottomrule
  \end{tabular}
\end{table}

前後の本文では、すべてのセルを読み上げるのではなく、結論を述べます。キャプションには、値を理解するために必要な母集団、条件、統計量を明記します。

数値を揃え、文章を折り返す#

投稿先のテンプレートで許可されている場合、十進小数の位置合わせと単位の処理には siunitx を使います。S 列では小数点の位置が揃い、書式も一貫します。説明文には、固定幅の p{...} 列または tabularx を使い、長い文章を l 列へ無理に収めないようにします。

次の完全な例では、注記の列が利用可能な幅を使い、測定値は小数点の位置で揃います。

\documentclass{article}
\usepackage{booktabs,siunitx,tabularx,threeparttable}
\begin{document}
\begin{table}[htbp]
  \centering
  \begin{threeparttable}
  \caption{Validation results across two calibration methods.}
  \label{tab:calibration}
  \begin{tabularx}{\linewidth}{
    >{\raggedright\arraybackslash}X
    S[table-format=1.2(2)]
    S[table-format=2.1]
  }
    \toprule
    Method and evaluation condition & {Accuracy} & {Time (s)} \\
    \midrule
    Baseline with default threshold & 0.82(3) & 14.2 \\
    Proposed method after calibration & 0.89(2) & 11.7 \\
    \bottomrule
  \end{tabularx}
  \begin{tablenotes}\small
    \item Values in parentheses are bootstrap standard errors.
  \end{tablenotes}
  \end{threeparttable}
\end{table}
\end{document}

コンパイルし、2つの数値列が揃っていること、文章が余白を越えずに折り返されること、表1を Table~\ref{tab:calibration} で参照できることを確認します。数値の見出しを波括弧で囲むと、siunitx がその単語を数値として解析しません。1.2(2) という書式は、小数点以下2桁と括弧付きの不確かさを確保します。報告する精度に合わせて変更してください。ここで 0.82(3) は、値が 0.82、不確かさが 0.03 であることを示し、0.3 ではありません。例の注記と同様に、不確かさが何を表すか明記してください。threeparttable を使うと、その注記を本文に埋めず、表と一緒に保持できます。

発展的な配置として、複数ページにわたる表が必要な場合は longtable を使います。外側の table フロートの代わりになり、見出しを明示的に繰り返します。

\usepackage{booktabs,longtable}
% in the document body
\begin{longtable}{lr}
\caption{Measurements by specimen.}\label{tab:specimens} \\
\toprule
Specimen & Response (mV) \\
\midrule
\endfirsthead
\toprule
Specimen & Response (mV) \\
\midrule
\endhead
S01 & 12.4 \\
S02 & 11.9 \\
% continue with the remaining rows
\bottomrule
\end{longtable}

投稿先のテンプレートに表のスタイルが定義されている場合は、それに従います。見出しの階層上どうしても必要になるまでは、セルを結合しないでください。単純な行と列、実際の見出しセル、論理的な読み順の方が解釈しやすく、アクセシブルな出力としてタグ付けしやすくなります。見た目が整っているだけでは、アクセシブルな読み順になっているとは限りません。

収まらない表を修正する#

最初から \resizebox や極端に小さいフォントで表全体を縮めないでください。まず、次の変更を試します。

  1. 重複する語を削り、詳細をキャプションまたは注記へ移します。
  2. 単位を見出しに入れ、繰り返されるラベルを短くします。
  3. 文章には折り返せる列を、数値には小数点で揃える列を使います。
  4. 関連のない測定値は別の表に分けます。
  5. 横向きまたは2段組みをまたぐ表は、投稿先が許可する場合に限って使います。

コンパイルし、通常の閲覧サイズで PDF を確認します。内容が余白を越えず、見出しから各値の意味が分かり、前後の本文から表番号で参照できれば成功です。続いてフロートとキャプションを学ぶか、横に広い結果を overfull box の解決方法で診断してください。