放在单独页面上的图片居中,而不是位于顶部

放在单独页面上的图片居中,而不是位于顶部

我的文档中放置了多个图形(所有图形都使用了 [htbp]、[ht] 等,并且放置正确)。最后一个图形占用一个单独的页面(这没问题),但它位于此页面的中心,这看起来很奇怪,因为图形相当小。

有什么办法可以将这个图放在此页面顶部吗?如上所述,它是一个单独的页面,也是本章的最后一页。

我实际上无法提供一个最小的例子(因为我猜测位置取决于我之前的图形),但这是我为该图形使用的代码(我尝试过 [ht]、[ht!]、[htbp] 等,但都不起作用 - 我在编译之前也删除了 .aux 文件):

\begin{figure}[t!]
\centering
\begin{tabularx}{\columnwidth}{cc}
\subfloat[Results 1]
{ \centering    \includegraphics[width=0.47\textwidth,height=0.47\textheight,keepaspectratio]{images/plot1}
}
&
\subfloat[Results 2]
{ \centering    \includegraphics[width=0.47\textwidth,height=0.47\textheight,keepaspectratio]{images/plot2}
}
\end{tabularx}
\caption{Blabla}
\end{figure}

提前致谢!

答案1

只需在标题后放置一个足够大的值,\vspace即可将其推到顶部。指定\vspace太大也可以。在这里,我在[p]页面上放置了一个图形以保证“糟糕”的行为,但在标题后添加了一个 128 英寸\vspace,夸张地表明,如果实际长度足够大,则实际长度无关紧要。

\documentclass{article}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}[p]
\centering
\includegraphics[width=0.47\textwidth,height=0.47\textheight]{file}
\caption{Blabla}
\vspace{128in}
\end{figure}
\end{document}

在此处输入图片描述

为了避免因浮点数过大而产生的“警告”(如果这让你感到困扰),可以\vspace在图形内容之前添加负数,如下所示

\documentclass{article}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}[p]
\vspace{-128in}
\centering
\includegraphics[width=0.47\textwidth,height=0.47\textheight]{file}
\caption{Blabla}
\end{figure}
\end{document}

答案2

正如 tohecz 指出的那样,这是一般且正确的行为。但您可以使用以下方法更改此设置:

\makeatletter
\setlength{\@fptop}{0pt}
\makeatother

发现这里,回答了类似问题

答案3

如果您已经尝试过\begin{figure}[!htb] ... \end{figure}但仍然不起作用,可能是因为您的图表/表格已经浮动到下一个\section标题之后。因此,请尝试清除图表之前的页面。这将导致\clearpage图表之前:\clearpage \begin{figure}[!htb] ... \end{figure}。这对我来说是有效的,并且不会改变 LaTeX 的任何默认行为。

相关内容