请考虑以下代码。我尝试通过修改 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}
......