漂浮物實際降落的地方

htbp,為什麼強制在這裡經常失敗,將環境移近文字。

浮標實際降落的地方

LaTeX 中的圖形和表格是浮點數,這表示程式碼在原始程式碼中的位置是建議,而不是指令。 LaTeX 移動浮動以保持頁面均勻填充,避免頁面半空,並遵守排版限制,例如頁面中可以有多少圖片。這是來自文字處理程式的最大的文化衝擊,了解放置系統可以節省數小時的時間。

htbp 是什麼意思

每個浮動環境都附帶一個可選參數列表,LaTeX 可以將其放置在其中:

\begin{figure}[htbp] % here, top, bottom, page of floats

每一個字母都是一個許可。 h 允許在「此處」浮動,即文字中程式碼出現的位置。 「t」允許頁面頂部,「b」允許頁面底部,「p」允許僅包含圖形和表格的專用浮動頁面。 LaTeX 會按照其建構的每個頁面的順序粗略地評估它們,並採用滿足其有關間距和頁面平衡的內部規則的第一個位置。這些字母授予選項而不是表達排名的願望,因此列出所有四個字母為 LaTeX 提供了最大的空間來將浮動元素放置在靠近且合理的位置。如果完全省略該參數,預設值為“[tbp]”,沒有“h”,這就是為什麼裸圖經常跳到下一頁的頂部。

為什麼強迫「這裡」會適得其反

單獨寫“[h]”似乎是顯而易見的解決辦法,但它通常會讓事情變得更糟。如果浮動不適合目前頁面的剩餘空間,且「h」​​是您授予的唯一權限,則 LaTeX 無法將其放置在此頁面上或合法地將其放置在任何其他頁面上。因此它一頁一頁地向前推進浮動,等待滿足「h」的位置。漂浮物也必須保持有序,因此每個後面的圖形都會在卡住的圖形後面排隊,整堆圖形經常在章節結束時被倒出。加上感嘆號,如“[h!]”,告訴 LaTeX 放寬一些間距規則,但它不能創建不存在的空間。

真正有效的習慣

首先,將「[htbp]」保留為預設值,並在起草時放棄像素完美的位置,因為您新增或刪除的每個段落都會重新調整頁面。其次,將圖形環境放置在原始程式碼中首先引用它的段落旁邊,因為 LaTeX 從該點開始搜尋起始點,並且浮動可以晚於其程式碼移動,但絕不能早於其程式碼。第三,在你的文章中按數字引用數字,如“圖 3 顯示管道”,而不是“下圖”,這樣無論浮標落在哪裡,文字都保持正確。

如果浮動仍然在不可接受的地方結束,有更強大的工具,包括浮動障礙和「[H]」放置,在逃離該部分的圖形中介紹。一旦文本穩定,就在寫作結束時使用它們,而不是在起草期間。

返回{曲目}