如何在LaTeX/Overleaf的subfigure子图行间添加垂直间距
问题原因
你当前的代码无法实现每行之间都有垂直间距的原因有两个:
- 第一行子图结束后,你直接插入了
\vspace{1cm}但没有显式触发换行,LaTeX会将这个垂直间距插入到第一行内容的末尾位置,而非第一行与第二行的行间隙中,因此看不到效果。 - 代码中的
&是表格环境的列分隔符,在普通figure环境中没有作用,无法实现两个子图的左右分隔排布。
解决方案
你可以参考以下修改后的代码:
\begin{figure*} \centering \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=5cm, height=5cm]{m1.png} \caption{M1:Correlation graph.} \label{fig:m1} \end{subfigure} \hfill \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=5cm, height=5cm]{m1c.png} \caption{M1:Clusters.} \label{fig:m1c} \end{subfigure} \\ \vspace{1cm} \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=6cm, height=6cm]{m2.png} \caption{M2:Correlation graph.} \label{fig:m2} \end{subfigure} \hfill \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=6cm, height=6cm]{m2c.png} \caption{M2:Clusters.} \label{fig:m2c} \end{subfigure} \\ \vspace{1cm} \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=5cm, height=6.5cm]{m3.png} \caption{M3:Correlation graph.} \label{fig:m3} \end{subfigure} \hfill \begin{subfigure}{0.45\linewidth} \centering \includegraphics[width=6cm, height=6.5cm]{m3c.png} \caption{M3:Clusters.} \label{fig:m3c} \end{subfigure} \caption{Correlation graphs and discovered clusters.}\label{fig:enrichment} \end{figure*}
修改说明
- 每一行子图结束后添加
\\显式换行,再插入\vspace{1cm},确保垂直间距作用在相邻两行子图之间 - 将原本的
&替换为\hfill,让同行的两个子图均匀分布在页面宽度内,左右间距更美观 - 三行子图的间距设置逻辑统一,所有行之间的垂直间隔保持一致
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

