Latex在同一figure中排版多张图片的方法

Latex在同一figure中排版多张图片的方法

主要使用了minipage(子图)语法。minipage可以嵌套,子图还可以分解为更多子图,功能很好玩,无聊可以自己试试。下面介绍几种常用效果的实现方法。

并排显示两张图,并分别标记

\begin{figure}[thbp!]
    \centering
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/opencv-logo.png}
        \caption{OpenCV的logo}
        \label{fig:opencv_logo}
    \end{minipage}
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/gdalicon_big.png}
        \caption{GDAL的logo}
        \label{fig:gdal_logo}
    \end{minipage}
 \end{figure}

上述代码的结果为:
在这里插入图片描述
特别需要注意的是,第一个minipage的宽度和第二个minipage的宽度之和不能超过1。如果超过一,则会自动变成垂直排列,如下图所示:

\begin{figure}[thbp!]
    \centering
    \begin{minipage}[t]{0.49\linewidth}% 注意!0.49
        \centering
        \includegraphics[width=0.9\linewidth]{figure/opencv-logo.png}
        \caption{OpenCV的logo}
        \label{fig:opencv_logo}
    \end{minipage}
    \begin{minipage}[t]{0.59\linewidth}% 注意!0.49+上面的0.59>1,导致自动重排版
        \centering
        \includegraphics[width=0.9\linewidth]{figure/gdalicon_big.png}
        \caption{GDAL的logo}
        \label{fig:gdal_logo}
    \end{minipage}
 \end{figure}

在这里插入图片描述

并排显示两张图,并只作一个标记\label

尝试下面的代码,figure/opencv-logo、figure/gdalicon_big为两张图片的相对路径,表示figure文件夹下的opencv-logo.png、gdalicon_big.png两张图片。则将其并排显示且整体标记的代码如下:

\begin{figure}[thbp!]
    \centering
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/opencv-logo}
        %\caption{第1个子图标题}
    \end{minipage}
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/gdalicon_big}
        %\caption{第2个子图标题}
    \end{minipage}
    \caption{并排安放两张图}
    \label{fig:image_group}
 \end{figure}

语法与上一节的类似,不同之处在于,对每个minipage都不使用\caption\label,以免将其编号。
在这里插入图片描述

注意,如果在minipage包含的图片中也使用了\caption命令,则也会将minipage子图编号,如下图所示:

\begin{figure}[thbp!]
    \centering
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/opencv-logo.png}
        \caption{OpenCV的logo}
    \end{minipage}
    \begin{minipage}[t]{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{figure/gdalicon_big.png}
        \caption{GDAL的logo}
    \end{minipage}
    \caption{并排安放两张图}
    \label{fig:image_group}
 \end{figure}

在这里插入图片描述

那么,如何做到既标记子图,又不编号呢?

为子图增加说明文字,但不编号

实现这个效果需要用到tabular包。

\begin{figure}[thbp!]
    \centering
    \begin{tabular}{@{\extracolsep{\fill}}c@{}c@{\extracolsep{\fill}}}
            \includegraphics[width=0.5\linewidth]{figure/opencv-logo.png} &
            \includegraphics[width=0.5\linewidth]{figure/gdalicon_big.png}\\
            (a)OpenCV的logo & (b)GDAL的logo\\
    \end{tabular}
    \caption{并排,但不标记子图}
    \label{fig:image_with_table}
 \end{figure}

figure中嵌套一个两行两列表格,然后将两张图片插入第一行,两张图片的描述文字插入第二行,最后将整个figure作一次标签。效果如下所示:
在这里插入图片描述

另一个例子,将6张图片按321排版:

\begin{figure}[thbp!]
    \centering
    \begin{minipage}[t]{1.0\linewidth}
    \centering
        \begin{tabular}{@{\extracolsep{\fill}}c@{}c@{}c@{}@{\extracolsep{\fill}}}
            \includegraphics[width=0.33\linewidth]{figure/opencv-logo} &
            \includegraphics[width=0.33\linewidth]{figure/gdalicon_big}&
            \includegraphics[width=0.33\linewidth]{figure/eigen_logo}\\
            (a)OpenCV的logo & (b)GDAL的logo & (c)Eigen的logo\\
        \end{tabular}
    \end{minipage}
    \begin{minipage}[t]{1.0\linewidth}
    \centering
        \begin{tabular}{@{\extracolsep{\fill}}c@{}c@{}@{\extracolsep{\fill}}}
            \includegraphics[width=0.33\linewidth]{figure/vtk_logo} &
            \includegraphics[width=0.33\linewidth]{figure/qt}\\
            (d)vtk的logo & (e)Qt的logo\\
        \end{tabular}
    \end{minipage}
    \begin{minipage}[t]{1.0\linewidth}
    \centering
        \begin{tabular}{@{\extracolsep{\fill}}c@{}@{\extracolsep{\fill}}}
            \includegraphics[width=0.33\linewidth]{figure/vcpkg_logo}\\
            (f)vcpkg的logo\\
        \end{tabular}
    \end{minipage}
    \caption{3行,每行子图数不同,子图不编号}
    \label{fig:image_with_table_321}
 \end{figure}

代码中使用了3个minipage来分别完成3行图片的设置;每个minipage内嵌一个tabular来实现当前行子图的文字说明(不标记);每个tabular的行数为2,第一行为子图、第二行为说明文字,列数为该行的子图数。
效果如下:

在这里插入图片描述

  • 27
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LaTeX,可以使用不同的方法多张图片并排显示。根据提供的引用内容,有三种常见的方法可以实现这个效果。 第一种方法是使用`figure`环境和`tabular`包。可以在`figure`环境使用`tabular`环境来创建一个表格,然后在表格的每个单元格插入图片。每个单元格可以使用`\includegraphics`命令来插入图片,并使用`\caption`命令为每个图片添加标题。这种方法可以实现多张图片并排显示,但不会标记子。\[2\] 第二种方法是使用`minipage`环境。可以在`figure`环境使用两个`minipage`环境,每个`minipage`环境插入一张图片。每个`minipage`环境可以使用`\includegraphics`命令来插入图片,并使用`\caption`命令为每个图片添加标题。这种方法可以实现两张图片并排显示,并且可以为每个图片添加标记。\[3\] 第三种方法是使用`subfigure`包。可以在`figure`环境使用`subfigure`环境来创建子。每个`subfigure`环境可以使用`\includegraphics`命令来插入图片,并使用`\caption`命令为每个图片添加标题。这种方法可以实现多张图片并排显示,并且可以为每个图片添加标记。\[1\] 根据具体需求,可以选择适合的方法来实现多张图片的并排显示。 #### 引用[.reference_title] - *1* *3* [Latex如何插入多个图片,实现并排排列或者多行多列排列](https://blog.csdn.net/weixin_44044161/article/details/116736257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Latex同一figure排版多张图片方法](https://blog.csdn.net/qq_42679415/article/details/130894937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值