如何将子图的标题向右移动?

如何将子图的标题向右移动?

我的演示代码如下。现在每个子图的标题都居中显示。如何将每个标题(包括计数器)向右移动 0.5cm?

[PS:我希望标题“(a)数据”与“阈值”的中心对齐。]

\documentclass{article}
\usepackage{subfigure}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\centering
\subfigure[caption for a]{
    \includegraphics[width=3.5cm,height=3cm]{dummy}%
}
\subfigure[capture for b]{
    \includegraphics[width=3.5cm,height=3cm]{dummy}%
}
\subfigure[caption for c]{
    \includegraphics[width=3.5cm,height=3cm]{dummy}%
}
\end{figure}
\end{document}

在此处输入图片描述

答案1

问题出在图片中包含的垂直轴标签上。由于它们向左突出,因此子标题似乎应该向右移动。

解决这个问题的一种方法(与您可能使用的子图包无关)是在图像右侧插入一些空间,从而模拟右侧的一些轴标签。或者,您可以将标题移到左边通过在正确的的副标题。

这里有些例子:

在此处输入图片描述

\documentclass{article}

\usepackage{subcaption,graphicx}

\begin{document}

\begin{figure}
  \centering
  \subcaptionbox{First}{%
    \includegraphics[width=3.5cm,height=3cm]{example-image-a}%
  }\qquad
  \subcaptionbox{Second}{%
    \includegraphics[width=3.5cm,height=3cm]{example-image-b}%
  }

  \bigskip

  \subcaptionbox{First}{%
    \includegraphics[width=3.5cm,height=3cm]{example-image-a}\hspace*{2em}%
  }\qquad
  \subcaptionbox{Second}{%
    \hspace*{2em}\includegraphics[width=3.5cm,height=3cm]{example-image-b}%
  }

  \bigskip

  \subcaptionbox{First\hspace*{2em}}{%
    \includegraphics[width=3.5cm,height=3cm]{example-image-a}%
  }\qquad
  \subcaptionbox{\makebox[0pt][l]{Second}}{%
    \includegraphics[width=3.5cm,height=3cm]{example-image-b}%
  }
\end{figure}

\end{document}

在上面的例子中,(a) 和 (b) 是控件,而 (c) 和 (d) 分别在图像的右侧和左侧设置了空格。这会放大“图像”,从而移动标题。(e) 由于在右侧增加了空间,因此将标题向左移动。(f) 通过将标题设置在宽度 ()[l]较小的左对齐框中,将标题向右移动。0pt

答案2

我找到了一个比公认的更简单、更好的解决方案,无需给图像添加空间(例如,当您的图像太大时)。只需添加:

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

之前\begin{subfigure}。调整到您想要的边距。要将其更改为另一个子图,只需重新使用它并更改移位量。

相关内容