overfull box と underfull box の警告を直す
余白を越える内容や、間隔が広がりすぎる内容を見つけ、局所的な原因を修正します。
このページの内容
overfull box は、内容が割り当てられた横幅または高さを超えていることを示します。このガイドでは、よくある横方向のはみ出しを扱います。underfull box は、LaTeX が間隔を広すぎると判断したことを示します。どちらも致命的なエラーではなく警告ですが、原稿内の切れたテキスト、読みにくい表、目立つ空白を発見する手掛かりになります。
影響を受けた出力を見つける#
最初に報告された行範囲から始め、最新の PDF で、その付近の段落、表、数式、キャプション、URL を確認します。プリアンブルへ \overfullrule=4pt を一時的に追加すると、overfull になった行の端に黒い印が描かれます。
次の例では、改行できない識別子と、意味のある位置で改行できる表現を比較しています。
\documentclass{article}
\begin{document}
\overfullrule=4pt
\noindent
\begin{minipage}{0.42\linewidth}
Unbroken: \mbox{calibration-result-without-breakpoints}
Revised: calibration result with ordinary break points
\end{minipage}
\end{document}印は、幅を圧迫している箇所を見つけるのに役立ちます。修正後は \overfullrule を削除してください。overfull の警告は、普段の倍率では見えないことがあります。ページが一見問題なく見えても、示された行を確認します。
局所的な原因を修正する#
意味と投稿先のレイアウトを保てる修正方法を選びます。
- 不自然な文章や長い見出しを書き換え、自然に改行できる位置を作ります。
- 長いアドレスや識別子には、適切な URL またはパス用のコマンドを使います。
- 導出式は、
amsmathの環境を使って、意味のある関係ごとに分けます。 - 幅の広い表は、見出しを短くする、列内で折り返す、本当に関連する測定値だけに絞るなどして設計し直します。
- 図は、歪ませずに利用可能な
\linewidthへ収まるよう拡大縮小または切り抜きます。
1 行の問題を解決するために、文章へ無作為に \\ コマンドを挿入したり、文書全体の文字を小さくしたりしないでください。ソース内で正確に保つ必要がある識別子には、テンプレートが対応しているパッケージやコマンドを使い、意図的な改行位置を設けます。
underfull の警告を解釈する#
underfull の警告は、強制改行、狭い列、内容の少ない表のセル、短い両端揃えの行に伴って発生しがちです。LaTeX の段落設定を変更する前に、不要な \\ と手動の空白を削除します。小さな underfull の警告は、見た目のバランスが取れていれば問題ないことがありますが、単語間が非常に広い行は修正が必要です。
文書全体への \sloppy、大きな \emergencystretch、広範な許容値の変更は、文書全体の組版に関わる判断として扱ってください。ある種類の警告を減らす代わりに、論文全体の間隔が広がるため、投稿先の要件に合わせる必要があります。
再びコンパイルし、通常の閲覧倍率で該当ページを確認します。内容が余白を越えたり切れたりせず、表と数式を読み取ることができ、警告が消えるか、見た目の上で問題ないと判断できれば成功です。表が原因の警告については、読みやすい LaTeX の表を作成するへ進みます。エラーと警告が混在するログについては、LaTeX のコンパイル問題を解決するを参照してください。
