thesisuestc
thesisuestc copied to clipboard
如何满足subfigure图过多需要跨页排版需求?
一幅图里面有六个子图,希望可以跨页排版,实现学校规范里面的(二,5.图(5)):“有分图时,分图过多不能在一页内编排时,可转到下页,但总图题只编排在下页。”需求,请问如何解决?
这个问题可以使用\ContinuedFloat命令解决,比如下面的例子:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}[tb]
\begin{subfigure}[t]{0.5\hsize}
\includegraphics[width=0.9\linewidth]{example-image}
\caption{}
\end{subfigure}
\begin{subfigure}[t]{0.5\hsize}
\includegraphics[width=0.9\linewidth]{example-image}
\caption{}
\end{subfigure}
\caption{first part of my figure}
\end{figure}
\clearpage
\begin{figure}[tb]\ContinuedFloat
\begin{subfigure}[t]{0.5\hsize}
\includegraphics[width=0.9\linewidth]{example-image}
\caption{}
\end{subfigure}
\begin{subfigure}[t]{0.5\hsize}
\includegraphics[width=0.9\linewidth]{example-image}
\caption{}
\end{subfigure}
\caption{second part of my figure}
\end{figure}
\end{document}
我试了楼主的方法,也看了楼主最近的模板更新,但是有两个新的问题
- 在排版多张图片时(4张:2*2),上一页的子图放置后仍留有空白,但是后面段落的文字不会自动顶上去,不知道是不是因为 \floatcontinue 里面的 \clearpage 导致的

- 如果我只用figure环境(1张图),不使用subfloat,若当前页放不下图片被放置后一页时,紧接的段落文字是可以自动顶到前页空白的,不过这时候图片标题的段后间距出现了问题,
例如这是正常间距
这是图片被放置到下一页后
可以看到,后面的标题段后明显大于前一个
我试了楼主的方法,也看了楼主最近的模板更新,但是有两个新的问题
* 在排版多张图片时(4张:2*2),上一页的子图放置后仍留有空白,但是后面段落的文字不会自动顶上去,不知道是不是因为 **\floatcontinue** 里面的 **\clearpage** 导致的  * 如果我只用figure环境(1张图),不使用subfloat,若当前页放不下图片被放置后一页时,紧接的段落文字是可以自动顶到前页空白的,不过这时候图片标题的段后间距出现了问题, 例如这是正常间距  这是图片被放置到下一页后  可以看到,后面的标题段后明显大于前一个
没有阅读源码,盲猜是因为 \textfloatsep 与 \intextsep 长度不同导致的,这是设计如此,不是 bug,可以参考如何改变浮动体前后与正文的间距和 texdoc latex2esec 5.6 Floats,手动修改,使得它们长度一致即可
这个间距学校并没有明确的规定,使用latex默认的设置或者遵循一般美观的原则应该都是可以的。
这个间距学校并没有明确的规定,使用latex默认的设置或者遵循一般美观的原则应该都是可以的。
这样会导致如果图表被挤到下一页开头,图表段后就比要求的12磅大,能很明显的看出来。我自己用ctex宏包尝试发现没有这个问题。感觉有可能是楼上说的问题,但是自己不会改
这个间距学校并没有明确的规定,使用latex默认的设置或者遵循一般美观的原则应该都是可以的。
这样会导致如果图表被挤到下一页开头,图表段后就比要求的12磅大,能很明显的看出来。我自己用ctex宏包尝试发现没有这个问题。感觉有可能是楼上说的问题,但是自己不会改
MWE 如下,自己根据要求改吧,顺便
图表段后就比要求的12磅大
真的有这要求的话,叫作者改吧
\documentclass{article}
\usepackage{mwe,lipsum}
\setlength\textfloatsep{12pt}
\setlength\intextsep{12pt}
\begin{document}
\lipsum[1]
\begin{figure}[h]
\includegraphics[width=\textwidth]{example-image.pdf}
\end{figure}
\lipsum[1-2]
\begin{figure}[t]
\includegraphics[width=\textwidth]{example-image.pdf}
\end{figure}
\end{document}
@dnsilence
- 在排版多张图片时(4张:2*2),上一页的子图放置后仍留有空白,但是后面段落的文字不会自动顶上去,不知道是不是因为 \floatcontinue 里面的 \clearpage 导致的
是。删了 \claerpage 就好。
\ContinuedFloat 的功能是(参考 caption 宏包文档 3.3 节),让所在的浮动体环境中的
- 总题注的编号不自增
- 子图题注接着上一个浮动体连续编号。
相当于
\begin{figure}
子图 1(a)
子图 1(b)
\end{figure}
\begin{figure}
子图 1(c)
子图 1(d)
总图题注 1
\end{figure}
@dnsilence
- 在排版多张图片时(4张:2*2),上一页的子图放置后仍留有空白,但是后面段落的文字不会自动顶上去,不知道是不是因为 \floatcontinue 里面的 \clearpage 导致的
是。删了
\claerpage就好。
\ContinuedFloat的功能是(参考caption宏包文档 3.3 节),让所在的浮动体环境中的
- 总题注的编号不自增
- 子图题注接着上一个浮动体连续编号。
相当于
\begin{figure} 子图 1(a) 子图 1(b) \end{figure} \begin{figure} 子图 1(c) 子图 1(d) 总图题注 1 \end{figure}
恩恩,这个问题已经解决了,主要是第二个间距问题,可能需要更新下模板
恩恩,这个问题已经解决了,主要是第二个间距问题,可能需要更新下模板
你在导言区设置一下不就好了,为什么要更新模板
这个问题可以使用
\ContinuedFloat命令解决,比如下面的例子:\documentclass{article} \usepackage{graphicx} \usepackage{caption} \usepackage{subcaption} \begin{document} \begin{figure}[tb] \begin{subfigure}[t]{0.5\hsize} \includegraphics[width=0.9\linewidth]{example-image} \caption{} \end{subfigure} \begin{subfigure}[t]{0.5\hsize} \includegraphics[width=0.9\linewidth]{example-image} \caption{} \end{subfigure} \caption{first part of my figure} \end{figure} \clearpage \begin{figure}[tb]\ContinuedFloat \begin{subfigure}[t]{0.5\hsize} \includegraphics[width=0.9\linewidth]{example-image} \caption{} \end{subfigure} \begin{subfigure}[t]{0.5\hsize} \includegraphics[width=0.9\linewidth]{example-image} \caption{} \end{subfigure} \caption{second part of my figure} \end{figure} \end{document}
这个能够用于2022年的图间距要求吗