如何将下面子图的标题左对齐,以便标题开始与相应子图的左边缘对齐?
\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
设置不同的选项。figure
table
subfigure
subtable
在你的情况下
FLOAT_TYPE
将是subfigure
。如果你把这个\captionsetup
命令放在序言中,全部您的子图标题将左对齐。如果您将其放在某个中间点,则所有后续标题都会获得这种效果。如果您只需要一个图的标题,请将其放在该特定figure
环境中。
这是输出。