You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LaTeX中实现多子图并排排布并拆分到两页显示

解决方法

问题根源是单个figure浮动体默认无法跨页排版,要实现分页且保持子图、主图编号连续,只需要把10张子图拆分为两个figure环境,搭配subcaption包提供的\ContinuedFloat命令即可,无需修改子图尺寸、子图编号逻辑。

修改后完整代码如下:

\documentclass{article}

\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx}

\begin{document}    
% 第一个figure:放置前8张子图
\begin{figure}[htbp]
    \centering
    \begin{subfigure}[b]{0.45\textwidth}
        \centering
        \includegraphics[width=\textwidth]{example-image-a} 
        \caption{A subfigure} \label{fig:sub1}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
        \centering
        \includegraphics[width=\textwidth]{example-image-b} 
        \caption{B subfigure} \label{fig:sub2}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-c} 
        \caption{C subfigure} \label{fig:sub3}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-d} 
        \caption{D subfigure} \label{fig:sub4}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-e} 
        \caption{E subfigure} \label{fig:sub5}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-f} 
        \caption{F subfigure} \label{fig:sub6}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-g} 
        \caption{G subfigure} \label{fig:sub7}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-h} 
        \caption{H subfigure} \label{fig:sub8}
    \end{subfigure}
    % 若需要第一页也显示主标题,可取消下一行注释,自行补充后缀标识即可
    % \caption{the main caption of the figures(一)} \label{fig:figure_part1}
\end{figure}

% 第二个figure:放置最后2张子图
\begin{figure}[htbp]
    \centering
    % 关键命令:继承上一个figure的编号,子图编号自动顺延,不会重新从a开始计数
    \ContinuedFloat
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-i} 
        \caption{I subfigure} \label{fig:sub9}
    \end{subfigure}
    \hfill
    \begin{subfigure}[b]{0.45\textwidth}
    \centering
        \includegraphics[width=\textwidth]{example-image-j} 
        \caption{J subfigure} \label{fig:sub10}
    \end{subfigure}
    
    \caption{the main caption of the figures} \label{fig:figure}
\end{figure}
\end{document}

关键说明

  • \ContinuedFloat是subcaption包原生提供的命令,无需额外引入其他依赖,保证两个figure共用同一个主图编号,子图编号自动从i、j顺延,不会出现编号重置问题。
  • 两个figure环境会自动分页排布,不会压缩子图原有尺寸,完全符合排版要求。
  • 如果需要第一页也显示主标题,打开第一个figure里注释的\caption行,标注为(一),第二页的主标题同步标注为(二)即可。

内容的提问来源于stack exchange,提问作者matrix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:36:02