子图和子标题之间的间距

子图和子标题之间的间距

请考虑以下代码。我尝试通过修改 subfigcapskip(我也尝试过 skip、aboveskip 和 captionskip)在子图和其各自的标题之间添加空间,但没有得到想要的效果。应该指定哪个正确的属性?

\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{subcaption}
\usepackage{caption}

\begin{document}

\begin{figure}
\centering
\begin{subfigure}{0.45\textwidth}
\centering
    \begin{tikzpicture}
        \fill[blue] (0,0) rectangle (3,3);
    \end{tikzpicture}
    \subcaption[subfigcapskip =50pt]{A blue square.}
\end{subfig}%
\begin{subfigure}{0.45\textwidth}
\centering
    \begin{tikzpicture}
        \fill[red] (0,0) rectangle (3,3);
    \end{tikzpicture}
    \subcaption[subfigcapskip = 50pt]{A red square.}
\end{subfig}
\caption{Two squares.}
\end{figure}

\end{document}

平均能量损失

答案1

可选参数\subcaption不是用于指定设置,而是用于图形/表格列表中使用的标题。

您必须使用\captionsetup,无论是全局还是局部。我向您展示了这两种方法:

\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{subcaption}
\usepackage{caption}

\captionsetup[subfigure]{skip=15pt} % global setting for subfigure

\begin{document}

\begin{figure}
\centering
\begin{subfigure}{0.45\textwidth}
\centering
\begin{tikzpicture}
  \fill[blue] (0,0) rectangle (3,3);
\end{tikzpicture}
\subcaption{A blue square.}
\end{subfigure}%
\begin{subfigure}{0.45\textwidth}
\captionsetup{skip=50pt} % local setting for this subfigure
\centering
\begin{tikzpicture}
  \fill[red] (0,0) rectangle (3,3);
\end{tikzpicture}
\subcaption{A red square.}
\end{subfigure}
\caption{Two squares.}
\end{figure}

\end{document}

在此处输入图片描述

答案2

如果您想要进行全局修改,例如 10pt(默认值为 6),请使用:

\usepackage[skip=10pt]{subcaption}

如果仅适用于子图环境:

\captionsetup{subfigure]{skip=10pt}

如果您只想修改某些子图:

\begin{subfigure}{0.45\textwidth}
   \captionsetup{skip=10pt}
   ......

相关内容