设置子图之间的默认距离

设置子图之间的默认距离

我在论文中使用了很多子图。

因此,我的两个问题是:

(1)如何增加两个子图之间的默认距离?

或者

(2)如何减少子图标题的默认宽度?

示例代码:

\usepackage{subfigure}
...
\begin{figure}[h!t]
\centering
\subfigure[long long caption]{
    \includegraphics{filename1}
}
\subfigure[another long caption]{
    \includegraphics{filename2}
}
\caption{two subfigures}
\end{figure}

谢谢

答案1

这取决于您使用的subfigsubcaption包裹subfigure(这最后在CTAN中实际弃用)。

解雇的一个例子subfigure

\documentclass[spanish,11pt]{article}
\usepackage{babel}
\usepackage[utf8]{inputenc}

% Compare between loose and normal option in the fig. 1
% (see more options in the documentation)   
\usepackage[normal]{subfigure}
% \usepackage[loose]{subfigure}

% Compare fig. 1 and 2. subcaptions fixing this value
\subfigcapmargin = .5cm

% Fix these other commands as you want and see
% \subfigtopskip = 2cm
% \subfigcapskip = 2cm
% \subfigcaptopadj = 7cm % when caption is above
% \subfigbottomskip = 2cm
% \subfiglabelskip = 2cm

% See fig 3 to 6 examples of set distances 
% between subfigures 
% (there are not any space default, as far I know)

\begin{document}

\begin{figure}%
\centering
\subfigure[subcaption aa aa aa aa]{\framebox{... ... figure text ... ...}}
\subfigure[subcaption bb bb bb bb]{\framebox{... ... figure text ... ...}}
\caption[The caption]{The caption}
\end{figure}

\subfigcapmargin = .0cm

\begin{figure}%
\centering
\subfigure[subcaption aa aa aa aa]{\framebox{... ... figure text ... ...}}
\subfigure[subcaption bb bb bb bb]{\framebox{... ... figure text ... ...}}
\caption[The caption]{The caption}
\end{figure}


\begin{figure}%
%\centering
\subfigure[subcaption]{\framebox{... figure text ...}}\hfill
\subfigure[subcaption]{\framebox{... figure text ...}}
\caption[The caption]{The caption}
\end{figure}


\begin{figure}%
%\centering
\subfigure[subcaption]{\framebox{... figure text ...}}\qquad
\subfigure[subcaption]{\framebox{... figure text ...}}
\caption[The caption]{The caption}
\end{figure}

\begin{figure}%
\centering
\subfigure[subcaption]{\framebox{... figure text ...}}
\hspace{3cm}
\subfigure[subcaption]{\framebox{... figure text ...}}
\caption[The caption]{The caption}
\end{figure}


\begin{figure}%
\centering
\subfigure[subcaption]{\framebox{... figure text ...}}
\\\hspace{5cm}\vspace{1cm}
\subfigure[subcaption]{\framebox{... figure text ...}}
\caption[The caption]{The caption}
\end{figure}


\end{document}

另一个解决方案是使用 subcaption 包(与 subfigure 不兼容)或使用一些选项,因为子图之间的间距与任何其他浮点数一样。例如:

\documentclass{article}
\usepackage{subcaption}
\usepackage[margin=20pt,
font+=small,labelformat=parens,labelsep=space,
skip=6pt,list=false,hypcap=false
]{subcaption}
\begin{document}
    
\begin{figure}%
    \centering
    \begin{subfigure}[h]{0.3\textwidth}
        \framebox{... figure text ...}
        \caption{subcaption}
    \end{subfigure}
    \begin{subfigure}[h]{0.3\textwidth}
        \framebox{... figure text ...}
        \caption{subcaption}
    \end{subfigure}%

    \caption[The caption]{Subfigures with default space and too much margin in subcaptions}
\end{figure}
    
\begin{figure}%
    \centering
    \begin{subfigure}[h]{0.3\textwidth}
        \framebox{... figure text ...}
        \caption{subcaption}
    \end{subfigure}
    \hspace{0.3\textwidth}
    \begin{subfigure}[h]{0.3\textwidth}
        \framebox{... figure text ...}
        \caption{subcaption}
    \end{subfigure}%
    
    \caption[The caption]{Subfigures with extra space}
\end{figure}
    
\end{document} 
 

类似地,使用subfig包,您还可以使用命令 as 简单地控制子浮点数之间的空间,\qquad还可以控制许多子标题选项。请参阅文档包。

\documentclass{article}
\usepackage[margin=40pt]
{subfig}
\begin{document}
\begin{figure}%
\centering
\subfloat[][subcaption aa aa aa ]{\framebox{... ... figure text ... ... }}%
\qquad 
\subfloat[][subcaption bb bb bb ]{\framebox{... ... figure text ... ... }}%
\caption{The caption}%
\label{fig:cont}%
\end{figure}
\end{document}

相关内容