AI が作る LaTeX 表のよくある4つの問題と対処法

ブログEasyLaTeX公開日

1. 列指定と区切りの数を揃える

\begin{tabularx}{\linewidth}{lXX} は3列を指定するため、通常の行には区切りの & が2つ必要です。多すぎると Extra alignment tab has been changed to \cr などになります。結合セルを考慮しながら1行ずつ確認します。

次の完全な例には、折り返す X 列、booktabs の罫線、文字のエスケープが含まれます。

\documentclass[11pt]{article}
\usepackage{booktabs,tabularx}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Illustrative model descriptions}\label{tab:models}
\begin{tabularx}{\linewidth}{lXX}
\toprule
Model & Description & Note \\
\midrule
baseline\_v1 & A long description wraps within this column. & Accuracy: 81.2\%. \\
model\_v2 & Another description. & A\&B; run\#2. \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

2. 既存の表の書式に合わせる

booktabs 形式を使うテンプレートは多いですが、提出先の指定を優先します。見本がないと \hline と \toprule を混在させ、警告なしで線幅が不揃いになる場合があります。既存の表とパッケージ設定を一緒に渡します。

3. セル内の特殊文字を処理する

データやコードから移した文字には _、%、&、# が含まれます。_ は Missing $ inserted の原因になり、% は行の後半をコメントとして消して後のエラーを起こすことがあります。

通常の文字は \_、\%、\&、\# と書きます。数式の変数なら \(x_i\) のように数式モードを使います。

4. 長い内容には折り返す列を使う

Overfull \hbox が出ても PDF はできる場合があります。\resizebox で全体を縮小すると、表だけ文字が小さくなりすぎることがあります。

tabularx を読み込み、\linewidth の幅と X 列を検討します。固定幅の p{...} 列も必要に応じて見直します。なお、長い数式や改行できない URL は X 列でもはみ出すため、内容側も確認してください。

パッケージとキャプションも確認する

エラーと警告を分けて読みます。\multicolumn は標準、\multirow は multirow、\cmidrule は booktabs が提供します。依頼にはパッケージ一覧も添えます。

表の上にキャプションを置く場合は表本体より前に \caption、その直後に \label を置きます。テンプレートの規則があればそちらを優先します。

メッセージ原因対処
Extra alignment tab has been changed to \cr通常行の区切りが多い列指定と区切りを照合
Missing $ inserted本文の _ が添字扱い文字なら \_、変数なら数式モード
Paragraph ended before \\ was complete以前の記号やコメントが行構造を壊した可能性% と行全体を確認。原因を1つに決めつけない
Undefined control sequence. \multirow必要なパッケージがない意図を確認して読み込むか、利用可能な方法で組み直す
Overfull \hbox内容が幅を超える折り返す列と改行不能な内容を確認

まとめ

  • 最初のエラーを読み、列数を確認する。
  • 完成した表を見本にする。
  • パッケージとキャプション・ラベル位置を確認する。
  • 折り返せない場合は内容自体も見直す。

EasyLaTeXで論文全体と一緒にコンパイルし、ログと PDF を確認できます。