如何使图片网格跨越整个页面

如何使图片网格跨越整个页面

我正在写一篇论文,其中有一个模板,文本沿着两列排列。我有一个 2x3(2 宽,3 高)的图像网格,目前包含在一列中。我想将其变成一个横跨两列的 3x2 网格,同时使图像更大。

我当前的代码是:

\begin{figure}[ht]
\centering
\subfigure[Total/Avg]{
  \label{fig:Total_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Total_scatter}
}%
\subfigure[Num/Avg]{
  \label{fig:Num_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Num_scatter}
}
\subfigure[Raw/Avg]{
  \label{fig:Raw_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Raw_scatter}
}%
\subfigure[Num/Raw]{
  \label{fig:Num_Raw_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Num_Raw_scatter}
}
\subfigure[Total/Raw]{
  \label{fig:Total_Raw_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Total_Raw_scatter}
}%
\subfigure[Num/Total]{
  \label{fig:Num_Total_scatter}
  \includegraphics[width=0.49\columnwidth]{images/Num_Total_scatter}
}%
\caption{Scatter plots of 6 pics.}%
\label{fig:Scatter}
\end{figure}

我不确定图像的尺寸是多少,或者它是否按比例缩放以符合给定的空间(因此随着空间的可用而动态变化/

任何帮助将不胜感激。

编辑

以下两个答案几乎让我明白了,只是相邻列中的文本现在没有环绕展开的图形。我很抱歉没有列出类文件 - 我是 Tex 的新手,正在接管一份文件。我正在使用此处找到的 sig-alternate.cls 文件:acm.org/sigs/publications/proceedings-templates

答案1

您提到使用双列设置,尽管您目前让整个figure环境占据一列的宽度,但您确实希望它占据整个文本块的宽度,即两列。为此,您需要切换到环境figure*。带星号的浮动环境始终必须显示在页面顶部;因此,请省略[ht]位置说明符。

此外,由于您希望每行(现在更宽)有三个子图,因此您应该将每个子图的宽度subfigure0.49\columnwidth改为0.31\textwidth。然后,使用将子图推到边距,即让它们占据整个文本块。最后,在每个行末\hspace*{\fill}使用注释符号 ( )以避免引入虚假空格。%subfigure

下图展示了实施这些建议的效果:

在此处输入图片描述

\documentclass[twocolumn]{article}
\usepackage[demo]{graphicx} % omit 'demo' option in real document
\usepackage{subfigure}
\usepackage{lipsum} % for filler text
\begin{document}
\lipsum[1-3] % start with some filler text

\begin{figure*}%
%% first three subfigures
\subfigure[Total/Avg]{%
  \label{fig:Total_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Total_scatter}%
}%
\hspace*{\fill}
\subfigure[Num/Avg]{
  \label{fig:Num_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Num_scatter}%
}%
\hspace*{\fill}
\subfigure[Raw/Avg]{
  \label{fig:Raw_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Raw_scatter}%
}

%% second group of subfigures
\subfigure[Num/Raw]{%
  \label{fig:Num_Raw_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Num_Raw_scatter}%
}%
\hspace*{\fill}
\subfigure[Total/Raw]{
  \label{fig:Total_Raw_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Total_Raw_scatter}%
}%
\hspace*{\fill}
\subfigure[Num/Total]{
  \label{fig:Num_Total_scatter}%
  \includegraphics[width=0.31\textwidth]{images/Num_Total_scatter}%
}
\caption{Scatter plots of 6 pics.}\label{fig:Scatter}
\end{figure*}

\lipsum[4-10] % more filler text
\end{document}

答案2

您的行尾有很多空白。通过%在行尾添加空格来清理空白会有所帮助。此外,如果您使用新的长度来控制图像的宽度,您的自定义将更加容易:

\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\pagestyle{empty}
\newlength{\myimagewidth}
\begin{document}
\setlength{\myimagewidth}{\dimexpr\columnwidth/3-1em\relax}

\begin{figure}[ht]
\centering
\subfigure[Total/Avg]{%
  \label{fig:Total_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-a}%
}
\subfigure[Num/Avg]{%
  \label{fig:Num_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-b}%
}
\subfigure[Raw/Avg]{%
  \label{fig:Raw_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-c}%
}
\subfigure[Num/Raw]{%
  \label{fig:Num_Raw_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-a}%
}
\subfigure[Total/Raw]{%
  \label{fig:Total_Raw_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-b}%
}
\subfigure[Num/Total]{%
  \label{fig:Num_Total_scatter}%
  \includegraphics[width=\myimagewidth]{example-image-c}%
}
\caption{Scatter plots of 6 pics.}%
\label{fig:Scatter}
\end{figure}
\end{document}

在此处输入图片描述

结束语

如果您包含一个可以工作的 MWE,或者至少包含所有可以重现您问题的软件包的 MWE,那么会更有帮助。通常,让我们猜测您可能会使用或可能不会使用哪些软件包,可能会导致答案无法完全解决您需要解决的问题。

相关内容