使用 subfig 包将子浮动标题居中

使用 subfig 包将子浮动标题居中

第 12 页的脚注subfig文档部分内容如下:

请注意,“宽度”可能大于子浮动主体的宽度,或者,如果子浮动主体较小,则“宽度”可能为负数,以便为标题提供更多空间。容纳标题的框相对于子浮动主体居中。

我肯定是没有理解某些事情。

首先,通过查看第 35 页的图 91,他们的意思是,您可以将设置margin为负值,以便获得比子浮动主体更宽(并且相对于子浮动主体居中)的标题吗?

即使这是正确的,我也无法得到一个简单的示例。请参阅下面的 MWE。

我究竟做错了什么?

梅威瑟:

\documentclass{article}
\usepackage{caption}
\usepackage{subfig}
\begin{document}
\begin{figure}[ht]
 \centering
 \subfloat[very long subfloat caption]{
  \framebox[3cm][c]{
   subfloat body
  }
 }
\end{figure}
\begin{figure}[ht]
 \centering
 \captionsetup[subfloat]{width=-2cm}
 \subfloat[very very long subfloat caption]{
  \framebox[3cm][c]{
   subfloat body
  }
 }
\end{figure}
\begin{figure}[ht]
 \centering
 \captionsetup[subfloat]{margin=-2cm}
 \subfloat[very very long subfloat caption]{
  \framebox[3cm][c]{
   subfloat body
  }
 }
\end{figure}
\end{document}

在此处输入图片描述

答案1

你可以通过将子浮点数主体插入到具有该宽度的框中,subfig让它认为子浮点数是宽的。\textwidth

例子:

\documentclass{article}
\usepackage{subfig}
\begin{document}
\begin{figure}[ht]
 \centering
 \subfloat[very very very very very long subfloat caption]{%
  \makebox[\textwidth]{\framebox[3cm][c]{subfloat body}}%
 }
\end{figure}
\end{document} 

输出:

在此处输入图片描述

相关内容