
我發現將桌子放在我想要的位置有點困難。我也看不到製作 MWE。但是文檔已經上傳了這裡。
基本上來說說
文本(~\ref{})位於第 70 頁,實際表格位於第 84 頁;
文本(~\ref{})位於第 71 頁,實際表格位於第 85 頁;
文本(~\ref{})位於第 72 頁,實際表格位於第 86 頁;
在哪裡
\begin{table}[!hp]
已在所有表格的開頭使用。
在所有情況下,文字均以\subsection{}
s 為單位。表格似乎已刷新到整個部分的末尾。
我希望得到的是,表格與文字接近,即使不是頁面上的可能next
。但簡單的!hp
根本不起作用。
答案1
有一般建議(主要在威爾的回答中)之前的一個問題
但是,您有一個特定的要求(出於某種原因)以避免文字頁面浮動並且只允許 h 和 p。
這使得定位變得困難。如果浮動無法到達「這裡」(通常是這種情況,因為頁面上的該點太低而無法容納浮動),那麼 LaTeX 會將其保留以製作浮動頁面。為了避免非常空的頁面,它會等待,直到它至少有\floatpagefraction
一個頁面(如果您使用 ,則不會忽略此部分!
)。預設情況下,article
該值為 0.5,因此至少必須填入一半頁面。
這意味著,如果您有兩個圖形,第一個圖形的高度不到半頁,那麼在大約一半的情況下,它們將不適合“此處”,因為該點將位於頁面的下半部分。第一個浮動無法製作浮動頁面,因為頁面太短,但如果第二個較大,或者即使較小但沒有空間容納兩個圖形,則兩個圖形將無法容納在浮動頁面上之間\floatsep
的差距。這意味著設置[hp]
使得很容易獲得無法放置的浮動,並且由於所有人物都是按順序排列的,一旦無法放置,它們就都無法放置。然後它們將被保留,直到與\clearpage
文件或部分末尾的 齊平。
因此,使用選項時,[hp]
您必須設定得\floatpagefraction
足夠低,以便可以放置任何浮動序列。
最簡單的方法是將其設置得很低,例如 0.01。那麼任何浮動都不應浮動超過一頁;它總是會立即發貨。然而,由於浮動不會被阻止,因此浮動頁面每頁只有一個浮動,因為乳膠不會等待查看下一個是否適合。
答案2
有多種方法可以使浮動物件更接近其位置。
請參閱關於浮動對像如何運作的精彩答案:
https://tex.stackexchange.com/a/39020/59716
透過可選的放置說明,[!hp]
您不會獲得太多收益。您取消了 LaTeX 放置浮動物件的一些選擇,即b
和t
,並新增!
和h
。
如果您沒有提供選項,則標準位置是btp
,您可以使用 float 套件變更此預設值:
\usepackage{float} \floatplacement{table}{htbp}
新增h
為預設值。
另一個有幫助的套件是placeins
,它提供了命令\FloatBarrier
,該命令強制所有當前的浮點數放置在它之前。
如果你像這樣加載它:
\usepackage[section, below]{placeins}
浮動永遠不會在不屬於其部分的頁面上運作。