5 个图形排列成 3 行 x 2 列

5 个图形排列成 3 行 x 2 列

我想以 3 x 2 格式排列 5 个数字。我希望这些数字看起来像这样:

在此处输入图片描述

我尝试了以下操作(见下文),但无法使第二行中的两个数字居中。

\documentclass{article}

\usepackage{graphicx}
\begin{document}

\begin{figure}[h]
\begin{center}$
\begin{array}{lll}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{array}$
\end{center}

\begin{center}$
\begin{array}{rr}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{array}$
\end{center}
\caption{Figure caption}
\label{pics:blablabla}
\end{figure}

\end{document} 

这是我得到的: 在此处输入图片描述

答案1

它简单多了:

\documentclass{article}

\usepackage{graphicx}
\begin{document}

\begin{figure}[htp]
\centering
\includegraphics[width=.3\textwidth]{example-image-b}\quad
\includegraphics[width=.3\textwidth]{example-image-b}\quad
\includegraphics[width=.3\textwidth]{example-image-b}

\medskip

\includegraphics[width=.3\textwidth]{example-image-b}\quad
\includegraphics[width=.3\textwidth]{example-image-b}

\caption{Figure caption}
\label{pics:blablabla}
\end{figure}

\end{document}

在此处输入图片描述

关于您的代码。首先,您可能没有可用的 150mm,加上列间空间。通过使用,.3\textwidth我们知道我们将占用分配宽度的 9/10。

第二。$\begin{array}...\end{array}$您可以使用tabular: 相同的语法,但进入文本模式(甚至可以进入数学模式)。但不需要两个表格:只需将两行居中即可,只需记住在\quad两幅图像之间留出一些空间(此处为 )。行之间的垂直空间,瞧瞧;-)

答案2

如果您想使用子标题来区分图形,可以使用以下代码:


\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{float}

\begin{document}

\begin{figure} [H]
\centering
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} &
\includegraphics[width=0.3\textwidth]{example-image-c} \\
\textbf{(a)}  & \textbf{(b)} & \textbf{(c)}  \\[6pt]
\end{tabular}
\begin{tabular}{cccc}
\includegraphics[width=0.3\textwidth]{example-image-a} &
\includegraphics[width=0.3\textwidth]{example-image-b} \\
\textbf{(d)}  & \textbf{(e)}  \\[6pt]
\end{tabular}
\caption{ \textbf{(a)} Some text
\textbf{(b)} Some text
\textbf{(c)} Some text
\textbf{(d)} Some text
\textbf{(e)} Some text}
\label{fig:Name}
\end{figure}

\end{document}

在此处输入图片描述

答案3

您提供的代码确实中心按照你的需要设置。只是页面不够宽。如果我添加\usepackage[paperwidth=25.0cm,showframe]{geometry},你会得到:

在此处输入图片描述

array此外,由于您没有数学内容,因此不需要使用环境,简单tabular就足够了。此外,您应该按照以下说明使用环境\centeringcenter何时应使用 \begin{center} 而不是 \centering?

笔记:

  • [showframe]选项已应用于包裹geometry 只是为了显示页边距。
  • @{}在列的开始和结束处消除tabular了在表格的开始和结束处添加的列填充。
  • 如果您希望图形水平对齐,此tabular解决方案非常有用。如果您不需要对齐图形(即,您只是希望它们水平分布),则 Werner 或 egreg 的解决方案是可行的。

代码:

\documentclass{article}

\usepackage{graphicx}
\usepackage[paperwidth=25.0cm,showframe]{geometry}
\begin{document}

\begin{figure}[h]
\begin{center}$
\begin{array}{lll}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{array}$
\end{center}

\begin{center}$
\begin{array}{rr}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{array}$
\end{center}
\caption{Figure caption}
\label{pics:blablabla}
\end{figure}

\end{document} 

代码:\centering

\documentclass{article}

\usepackage{graphicx}
\usepackage[paperwidth=25.0cm,showframe]{geometry}
\begin{document}

\begin{figure}[h]
{\centering%
\begin{tabular}{@{}lll@{}}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{tabular}\par}

{\centering%
\begin{tabular}{@{}rr@{}}
\includegraphics[width=50mm]{example-image-b}&
\includegraphics[width=50mm]{example-image-b}
\end{tabular}
\caption{Figure caption}
\label{pics:blablabla}\par}
\end{figure}

\end{document} 

答案4

tcolorbox此类分布的替代方案由with环境提供tcbraster。在这种情况下,选项raster halign=center可确保最后的行框在其行上居中。

下面的代码显示了两个示例,第一个示例仅放置没有任何子标题的图像,而第二个示例使用subfig包允许为每个子图添加特定的标题。

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{subfig} %For subcaptions

\newcommand{\mysubfig}[3][width=\linewidth]{%
    \tcbitem\subfloat[#2]{\includegraphics[#1]{#3}}}

\begin{document}

\begin{figure}
\begin{tcbraster}[
    raster columns=3,
    raster halign=center,
    raster every box/.style={blankest},
    ]
\tcbincludegraphics{example-image-b}
\tcbincludegraphics{example-image-b}
\tcbincludegraphics{example-image-b}
\tcbincludegraphics{example-image-b}
\tcbincludegraphics{example-image-b}
\end{tcbraster}

\caption{Figure caption}
\label{pics:blablabla}
\end{figure}

\begin{figure}
\begin{tcbitemize}[
    raster columns=3,
    raster halign=center,
    raster every box/.style={blankest}
    ]
\mysubfig{}{example-image-b}
\mysubfig{}{example-image-b}
\mysubfig{}{example-image-b}
\mysubfig{}{example-image-b}
\mysubfig{}{example-image-b}
\end{tcbitemize}

\caption{Figure caption}
\label{pics:blablabla}
\end{figure}
\end{document} 

在此处输入图片描述

相关内容