使用 sidesubfloat 更改图像标签的位置

使用 sidesubfloat 更改图像标签的位置

我的 MWE 目前将图片并排摆放,并在其下方放置标题,这完全符合要求。但是,图片 [(a) 和 (b)] 的标签似乎左边而我希望它们出现在数字下方:

在此处输入图片描述

\documentclass[12pt]{article}

    \usepackage{floatrow}
    \usepackage{subfig}
    \usepackage{caption}


\begin{document}

\begin{figure}[h!]
    \begin{center}
        \begin{tabular}{c c}
            \sidesubfloat[description]{\rule{2cm}{2cm}} &
            \sidesubfloat[description]{\rule{2cm}{2cm}} \\
        \end{tabular}
    \end{center}
    \caption{(a) Hello (b) World}
\end{figure}


\end{document}

是否有一个选项可以传递来sidesubfloat控制标签的位置?

答案1

根据文档,floatrow将子浮点数标题放置在相应子浮点数的左侧是预期的行为:

floatrow 中为子浮点添加的另一个命令是将子标题标签放在子浮点旁边的命令。子标题标签始终出现在左侧。键 subcapbesideposition= 设置子标题和子浮点旁边的垂直对齐方式。

要获取图像下方的标题(a)和(b),您可以使用subfig已经加载的包,如下面的 MWE 所示:

\documentclass[12pt]{article}
\usepackage{subfig}

\begin{document}
\begin{figure}
   \centering
   \subfloat[]{\label{fig:a}\rule{2cm}{2cm}} \quad
   \subfloat[]{\label{fig:b}\rule{2cm}{2cm}}
   \caption{(a) Hello (b) World}
   \label{fig:both}
\end{figure}
\end{document}

另一种选择是使用subcaption如以下示例所示的包:

\documentclass[12pt]{article}
\usepackage{subcaption}

\begin{document}
\begin{figure}
    \centering
    \begin{subfigure}{2cm}
    \rule{2cm}{2cm}
    \caption{}
    \label{fig:a}
    \end{subfigure}
    \begin{subfigure}{2cm}
    \rule{2cm}{2cm}
    \caption{}
    \label{fig:b}
    \end{subfigure}
    \caption{(a) Hello (b) World}
    \label{fig:both}
    \end{figure}
\end{document}

在此处输入图片描述

要水平移动子图标题,您可以使用(用于subfig解决方案subcaptioncaption包。要全局更改位置(针对文档中的所有图像),请在文档的序言中插入以下行。要局部更改位置(针对环境中的所有子图figure),请将代码放在相应的figure环境中。当然,您可以将值(在本例中为左右边距)更改为您喜欢的任何值。

\captionsetup[subfigure]{margin={2cm,0cm}}

有关如何使用该margin选项的更详细说明,您可以查看caption文档的“2.4 边距和其他段落选项”部分(第 11 页)

相关内容