相对于子图左对齐标题

相对于子图左对齐标题

如何将下面子图的标题左对齐,以便标题开始与相应子图的左边缘对齐?

enter image description here

\documentclass{article}

\usepackage[draft]{graphicx}
\usepackage{subcaption}

\begin{document}

\begin{figure}[H]
\begin{center}
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[scale=0.8]{fig/workflow-S}
\caption{workflow $S$}
\end{subfigure}
\begin{subfigure}[b]{0.5\textwidth}
\includegraphics[scale=0.8]{fig/workflow-S-run}
\caption{run of $S$}
\end{subfigure}

\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[scale=0.8]{fig/workflow-S'}
\caption{workflow $S'$}
\end{subfigure}
\begin{subfigure}[b]{0.5\textwidth}
\includegraphics[scale=0.8]{fig/workflow-S'-run}
\caption{run of $S'$}
\end{subfigure}
\end{center}
\end{figure}

\end{document}

似乎有很多相关问题,但没有一个专门解决这个问题。

答案1

将此行添加到你的序言中,

\captionsetup[subfigure]{justification=justified,singlelinecheck=false}

这将影响全部子图标题。有关详细信息(和其他选项),请继续阅读。


正如标题包文档

除了标题格式之外,您还可以指定标题对齐方式;它是通过选项指定的 justification=<justification name>

您可以选择以下选项之一:

justified:将标题排版为普通段落。

......

singlelinecheck= 如果标题适合一行,标准 LaTeX 文档类(文章、报告和书籍)会自动将标题居中。标题包会适应此行为,因此通常会忽略您 justification= & indention=在这种情况下设置的对齐和缩进。但您可以使用选项关闭对此类短标题的特殊处理 singlelinecheck=false

现在,由于您只希望子图标题左对齐,因此您需要使用命令\captionsetup[FLOAT_TYPE]{OPTIONS}

FLOAT_TYPE可以是表格、figure和,subtable并指定subfigure特定命令适用的标题类型。因此,您可以为、和浮动分别\captionsetup设置不同的选项。figuretablesubfiguresubtable

在你的情况下 FLOAT_TYPE将是subfigure。如果你把这个\captionsetup命令放在序言中,全部您的子图标题将左对齐。如果您将其放在某个中间点,则所有后续标题都会获得这种效果。如果您只需要一个图的标题,请将其放在该特定figure环境中。


这是输出。

enter image description here

相关内容