AI が作る LaTeX 表のよくある4つの問題と対処法
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 を確認できます。