图形浮动位于页面中间,而不是顶部

图形浮动位于页面中间,而不是顶部

我正在尝试以这样的方式设置图形浮动,即如果该页面中的文本后没有足够的空间,它将转到下一页的顶部。然后,浮动后的文本将写入可用空间,依此类推。所以我试过了[!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

相关内容