防止子浮动字幕换行

防止子浮动字幕换行

由于我的 s 中的图像\subfloat比其标题小,因此标题会换行到下一行。我该如何避免这种情况?


更新

我错误地认为subfig这是一个流行的软件包,因此这里有更多有关我的问题的信息。

\usepackage{subfig}
% ...more latex here
\begin{figure}
\centering
\subfloat[A sufficiently long caption]{\includegraphics{bakan}‎} \qquad
\subfloat[Here goes another long caption]{\includegraphics{bakan}‎} \qquad
\subfloat[The captions are broken]{\includegraphics{bakan}‎}
\caption{Line breaks in subcaptions demo.}
\end{figure}

上面的代码产生:

替代文本

当图像很小时,子字幕看起来很丑。

答案1

您可以将图像放入 \parbox 中,宽度由您自己决定。由于 subfig 包会使标题与内容一样宽,因此这会有所帮助。示例(用作\rule{1cm}{1cm}小图像的占位符):

\documentclass{article}
\usepackage{subfig}
\begin{document}
\begin{figure}
\subfloat[Blah blah blah blah blah blah\ldots]
  {\rule{1cm}{1cm}}
\subfloat[Blah blah blah blah blah blah\ldots]
  {\parbox{4cm}{\centering\rule{1cm}{1cm}}}
\end{figure}
\end{document}

另外,你也可以使用我的 subcaption 包提供的 \subcaptionbox 的可选宽度参数:

\documentclass{article}
\usepackage{caption,subcaption}
\begin{document}
\begin{figure}
\subcaptionbox{Blah blah blah blah blah blah\ldots}
  {\rule{1cm}{1cm}}
\subcaptionbox{Blah blah blah blah blah blah\ldots}
  [4cm]{\rule{1cm}{1cm}}
\end{figure}
\end{document}

答案2

subfig包有一个选项width可以传递给\captionsetup设置标题的宽度,但它似乎并没有真正将整个\subfloat框设置为该宽度。我认为最简单的方法是使用\makebox内部\subfig设置宽度为您想要的宽度。

\documentclass{article}
\usepackage{subfig}
\usepackage{showframe} % This is just to show rules around the text area
\begin{document}
\begin{figure}
\noindent
\subfloat[Here is my caption that is longer than my
figure.]{\makebox[.45\textwidth]{\rule{1in}{1in}}}%
\hfill
\subfloat[Here is my caption that is longer than my
figure.]{\makebox[.45\textwidth]{\rule{1in}{1in}}}%
\caption{Here is my main caption.}
\end{figure}
\end{document}

答案3

一个简单的解决方案(但可能不是适合所有情况的最佳解决方案):

% in preamble
\usepackage{subfig}
\DeclareCaptionLabelSeparator{nobreakspace}{\nobreakspace}
\captionsetup[subfigure]{labelsep=nobreakspace}
% in text
\subfloat[\mbox{...}]{image}

还有一个:

\DeclareCaptionFormat{oneline}{\mbox{#1#2#3}}
\captionsetup[subfigure]{format=oneline}
% in text
\subfloat[any thing]{image}

相关内容