我正在尝试以这样的方式设置图形浮动,即如果该页面中的文本后没有足够的空间,它将转到下一页的顶部。然后,浮动后的文本将写入可用空间,依此类推。所以我试过了[!ht]
。当有足够的文本可以移动到图形下方时,它就可以工作。但如果图形后没有文本,则无论说明符是什么,图形都会出现在页面中间t
!t
。如何解决这个问题,即使图形后没有文本,图形仍会保留在页面顶部。
我已尝试过\afterpage
,但没有效果。
我正在将图形块粘贴到我的代码中以供考虑。
(此外,如果有更好的方法来调整子图的大小并保持其纵横比,请告诉我)
\begin{figure}[!ht]
\centering
\begin{subfigure}{0.48\textwidth}
\centering
\adjincludegraphics[height=2.8in, keepaspectratio]{images/example-image1.png}
\caption{}
\label{label1}
\end{subfigure}
\hfill
\begin{subfigure}{0.48\textwidth}
\centering
\adjincludegraphics[height=2.8in, keepaspectratio]{images/exmaple-image2.png}
\caption{}
\label{label2}
\end{subfigure}
\captionsetup{width=0.85\textwidth, justification=centering}
\caption{The Caption}
\label{fig:label}
\end{figure}
我附上了上述两个案例的图片(1)1图后无文字,(2)2图后附有文字。
答案1
首先,阅读本指南。基本上,发生的情况是,您指定了[!ht]
,但由于您没有足够的空间h
,并且没有足够的文本t
用于下一页,因此 TeX 无法遵循您的指令。因此,您的图形实际上被放置在带有 的后续页面上p
。
因此,您需要做的更改是强制打印在浮动页面上的图形向顶部浮动,而不是垂直居中。为此,您可以在序言中包含
\makeatletter
\setlength{\@fptop}{0pt}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother