让两张图片出现在同一页面上

让两张图片出现在同一页面上

我有两张图片,我想将它们显示在同一页上。每张图片都应显示为单独的图片,并带有自己的标题。

我的问题是 LaTeX 有时会将图形放在单独的页面上。

我目前已通过\psfragfig在同一环境中连续放置两个命令来实现此目的。这似乎是一种简单而成功的方法,但我想知道这样做figure是否没有正确使用环境。我应该改用包吗?figuresubcaption

答案1

您正确地使用了figure环境。环境只是一个浮动外壳,主要包含与图形相关的内容。当然,您可以在其中放置一个表格,但大多数人会包含一个图像和一些文本(以标题的形式)。如果您包含多个,则效果相同:

\begin{figure}[ht]
  \centering
  \includegraphics[<options>]{<image1>}
  \caption{<caption1>}

  \vspace*{\floatsep}% https://tex.stackexchange.com/q/26521/5764

  \includegraphics[<options>]{<image2>}
  \caption{<caption2>}
\end{figure}

连续浮点之间的间隙是(谁)给的\floatsep

\subcaption仅当您要说明的主要内容相同,但两个图略有不同时,才使用其中一个。因此,它们应该放在同一标题 ( \caption) 之下/之上,但每个标题都有一个子编号 ( \subcaption)。

答案2

要在同一个浮动图中放置两个图形和两个标题,您只需要在浮动图中包括两个图形和两个标题即可。就是这样:)。请参阅 MWE。

如果您还想在figure环境中包含一个表格(或一个图形table),那么您可以使用caption包广告\captionof命令。

\documentclass[twocolumn]{article}
\usepackage{graphicx,mwe,caption,lipsum}
\begin{document}
\section{Cheking cross-references}
See figures \ref{a} and \ref{b} on the same float in page \pageref{a}. Figure \ref{c} is on page \pageref{c}. (All is correct).
\section{Dummy text}
\lipsum[1-2] % dummy text
\begin{figure}[t] %float with two figures
\centering
\includegraphics[width=.5\linewidth]{example-image-a}
\caption{Image A\label{a}}\bigskip 
\includegraphics[width=.5\linewidth]{example-image-b}
\caption{Image B\label{b}}
\end{figure}
\lipsum[3-5]
% float in next page
\begin{figure}[b]
\centering
\includegraphics[width=.5\linewidth]{example-image-16x10}
\caption{Image C\label{c}}
\end{figure}
\lipsum[3-10]

\end{document}

平均能量损失

编辑:与\vspace*{\floatsep}Werner 的答案的间距比更正确\bigskip

如果您希望强制图形停留在同一页面但不在一起(例如,顶部和底部有两个浮动图形),那么您可以尝试使用浮动选项和/或放宽浮动惩罚来强制浮动位置。请参阅:

如何影响 LaTeX 中图形和表格等浮动环境的位置?

如何将放置选项 [t]、[h] 与数字一起使用?

相关内容