
ドラフト モードでは、テキストを折り返すことができず、余白にまで拡張した場合 (hbox がいっぱいの場合)、LaTeX は黒いマーカーを印刷します。フロートがページに対して高すぎてフッター領域にまで拡張した場合に、同様の視覚的なインジケーターを表示することは可能ですか?
答え1
LaTeX はログに警告を出力しますが、同時に何かを印刷することもできます。
\documentclass{article}
\usepackage{color}
\makeatletter
\def \@largefloatcheck{%
\ifdim \ht\@currbox>\textheight
\@tempdima -\textheight
\advance \@tempdima \ht\@currbox
\@latex@warning {Float too large for page by \the\@tempdima}%
\global\setbox\@currbox\hbox{%
\box\@currbox
{\color{red}\smash{\llap{FLOAT TOO BIG}}\vrule width 5pt}}%
\ht\@currbox \textheight
\fi
}
\makeatother
\begin{document}
\begin{figure}
\rule{2cm}{19cm}
\caption{a figure}
\end{figure}
\end{document}
ここで追加され\smash
ているのは、元のコードが一部のフォントでループする可能性があるというコメントで提起された問題を修正するためです。これなしでは\smash
、大文字のテキストにFLOAT TOO BIG
は深さがないものと想定していましたが、一部のフォントのフォント メトリックでは、大文字にゼロ以外の深さが与えられます。
答え2
オーバーフルルールは水平ボックスに対してのみ機能します。
本文領域の周囲にボックスがある場合、フッター領域への違反も簡単に確認できます。パッケージは、geometry
オプション とともに使用されている場合、ページ レイアウトをボックスでマークしますshowframe
。geometry
そうでない場合、オプションはレイアウト パラメータに触れないようにpass
通知します。geometry
\usepackage[pass, showframe]{geometry}