LaTeX中如何将子图分两页展示且仅保留一个总标题
跨页子图共享单标题的正确实现方法
先明确你代码里的两个核心问题:
- 同时加载了
subfigure和subcaption包,二者存在冲突,必须二选一,推荐保留更现代灵活的subcaption - 拆分
figure后要实现子图编号连续、第二张图置顶,需要用到\ContinuedFloat命令并调整位置参数
以下是修正后的完整代码:
\documentclass{report} \usepackage{caption} \usepackage{graphicx} \usepackage{subcaption} % 仅保留该包,删除subfigure \begin{document} % 第一页的子图 \begin{figure}[!t] % 用!t强制将图放在页面顶部 \centering \begin{subfigure}{\linewidth} \includegraphics[width=.8\linewidth]{example-image} \caption{rmse} % 自动生成子图编号(a) \end{subfigure} \end{figure} % 第二页的子图,延续前一个figure的编号 \begin{figure}[!t] \ContinuedFloat % 关键命令:让当前figure与上一个共享编号,子图编号自动续接 \centering \begin{subfigure}{\linewidth} \includegraphics[width=.8\linewidth]{example-image} \caption{r2, test} % 自动生成子图编号(b) \end{subfigure} \label{myfigure} % label必须放在caption之后才会生效 \caption{模型评估指标} % 总标题,对应统一的Figure编号 \end{figure} \end{document}
补充几个关键细节:
\ContinuedFloat:告知LaTeX当前figure是上一个的延续,因此figure编号不会递增,子图编号会自动从(b)开始- 位置参数
!t替代!h:!h仅强制放在当前文本位置,若剩余空间不足仍会挤到下一页;!t强制置顶,确保第二张子图在页面最上方 subfigure环境必须指定宽度(如{\linewidth}),你之前的代码中宽度参数为空属于不规范写法- 引用标签
\label务必放在\caption之后,否则无法正确关联到对应的figure
这样修改后,两张子图会分占两页,共享同一个总标题,子图编号正常为(a)(b),第二张图也会固定在页面顶部。
内容的提问来源于stack exchange,提问作者sophie
相关产品推荐
相关产品推荐

