使用 setcaptionwidth 时子浮点索引未对齐

使用 setcaptionwidth 时子浮点索引未对齐

我有以下文件:

\documentclass{article}
\usepackage{subfig}
\usepackage{graphicx}
\usepackage{geometry}
\setcaptionwidth{12cm}
\begin{document}
\begin{figure}[t]
  \centering%
  \subfloat[]{\label{figa}\includegraphics[width=38mm,%
    height=32.48mm]{fig1}}\hspace{3mm}%
  \subfloat[]{\label{figb}\includegraphics[width=38mm,%
    height=32.48mm]{fig2}}\hspace{3mm}%
  \subfloat[]{\label{figc}\includegraphics[width=38mm,%
    height=32.48mm]{fig3}}%
  \caption{Some caption.}
  \label{fig-moire-comp-xue}
\end{figure}
\end{document}

我希望所有图形的标题宽度为 12 厘米(略小于正文),并让 TeX 为我生成 (a)、(b) 标签。

结果如下:

图片不正确

如果我随后注释掉序言中将标题宽度设置为 12 厘米的行,它就会按照我想要的方式对齐:

正确的图像

(这是我的论文中的一个问题,是一份更为复杂的文档,但我认为我已经将其缩小到这个冲突。)我只希望对齐能够得到修复,但所有图形的标题仍然有 12 厘米宽。

我不太在意解决方案是否是一个丑陋的图形黑客,我只关心对齐。

谢谢你的帮助。

答案1

您可以全局设置标题的宽度并单独设置子标题的宽度:

\captionsetup{width=12cm}
\captionsetup[subfloat]{margin=0pt}

\setcaptionwidth当然不要使用(它是caption版本 2 的过时命令)。

答案2

在标题本身之前设置标题宽度:

\documentclass{article}
\usepackage{subfig}
\usepackage[demo]{graphicx}
\usepackage{geometry}
\begin{document}
\begin{figure}
  \centering%
  \subfloat[]{\label{figa}\includegraphics[width=38mm,%
    height=32.48mm]{fig1}}\hspace{3mm}%
  \subfloat[]{\label{figb}\includegraphics[width=38mm,%
    height=32.48mm]{fig2}}\hspace{3mm}%
  \subfloat[]{\label{figc}\includegraphics[width=38mm,%
    height=32.48mm]{fig3}}%
  \setcaptionwidth{12cm}
  \caption{Some very long caption to show that is not
           wider than 12 cm as defined by the setting.}
  \label{fig-moire-comp-xue}
\end{figure}
\end{document}

相关内容