フロートが実際に着地する場所
htbp、なぜここで強制すると失敗することが多く、環境をテキストに近づけます。
フロートが実際に着地する場所
LaTeX の図と表は浮動小数点数です。つまり、ソース内のコードの位置は指示ではなく提案です。 LaTeX はフロートを移動してページを均等に埋め、半分空のページを避け、ページのどのくらいの量が画像であるかなどの印刷上の制限を尊重します。これはワード プロセッサによる最大のカルチャー ショックですが、配置システムを理解していれば、それと戦うために何時間も費やすことがなくなります。
htbp の意味
すべての float 環境は、LaTeX がそれを置くことができるオプションの引数リストを受け取ります。
\begin{figure}[htbp] % here, top, bottom, page of floats各文字は許可です。 h では、テキスト内のコードが出現する位置で、float “here” を使用できます。 t はページの上部を許可し、b はページの下部を許可し、p は図と表のみを含む専用のフロート ページを許可します。 LaTeX は、作成するページごとに大まかにその順序で評価し、間隔とページバランスに関する内部ルールを満たす最初の配置を採用します。文字はランク付けされた願いを表現するのではなくオプションを許可するため、4 つすべてをリストすることで、LaTeX にフロートを適切で合理的な場所に配置するための最大の余地が与えられます。引数を完全に省略すると、デフォルトは h なしの [tbp] になります。これが、裸の図が頻繁に次のページの先頭にジャンプする理由です。
なぜ「ここ」を強制すると逆効果になるのか
[h] だけを書くと明らかな修正のように思えますが、通常は状況を悪化させます。 float が現在のページの残りのスペースに収まらず、与えられた権限が h だけである場合、LaTeX はそれをこのページに配置することも、他のページに合法的に配置することもできません。したがって、float をページごとに前方に運び、「h」を満たすスポットを待ちます。フロートも順番を保たなければならないので、後のフィギュアはすべて、スタックしたフィギュアの後ろに並び、章の終わりに山全体が頻繁に捨てられます。 [h!] のように感嘆符を追加すると、LaTeX にスペース規則の一部を緩和するように指示されますが、存在しないスペースを作成することはできません。
実際に効果がある習慣
まず、「[htbp]」をデフォルトのままにして、下書き中はピクセル完璧な配置をやめてください。段落を追加または削除するたびにページが再シャッフルされるからです。次に、ソース内の Figure 環境を最初に参照する段落の隣に配置します。これは、LaTeX はその時点からホームの検索を開始し、float は後で移動できますが、そのコードより先に移動することはできません。 3 番目に、「図 3 はパイプラインを示しています」のように、数字で図を参照する散文を作成します。「下の図」ではなく、フロートがどこに着地してもテキストが正しいままになります。
それでもフロートが許容できない場所に落ちた場合は、セクションから逃げる図 でカバーされる、フロート バリアや [H] 配置などのより強力なツールがあります。下書き中ではなく、文章が安定してから執筆の終わりに手を伸ばしてください。