此 MWE:
\documentclass{article}
\usepackage[labelfont=bf,size=Large,position=top, skip=-10pt, justification=raggedright, singlelinecheck=false]{subcaption}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\subcaptionbox{}{\includegraphics[width=0.5\linewidth]{example-image-a}}
\subcaptionbox{}{\includegraphics[width=0.5\linewidth]{example-image-b}}
\caption{Some caption}
\end{figure}
\end{document}
产生以下输出:
由于子标题的“跳过”选项,标签 (a) 和 (b) 被遮挡。我真的希望标签比默认标签更靠右,但我不知道如何让子标题将标签放在图像前面。此外,我不明白为什么文本首先放在图像后面。
我怎样才能将标签 (a) 和 (b) 放在文本前面?标题中似乎没有任何选项可以控制事物的“深度”。我的最终目标是得到一个如上图所示的图形,但每个子图形前面都有文字。标题也必须位于现在的位置。
顺便说一句,documentclass
我必须使用(achemso
)却不允许我使用floatrow
。
答案1
我使用这里接受的答案解决了这个问题:
以下是 MWE:
\documentclass{article}
\usepackage{graphicx}
\newcommand{\subfigimg}[3][,]{%
\setbox1=\hbox{\includegraphics[#1]{#3}}% Store image in box
\leavevmode\rlap{\usebox1}% Print image
\rlap{\hspace*{10pt}\raisebox{\dimexpr\ht1-1.2\baselineskip}{\large\textbf{#2}}}% Print label
\phantom{\usebox1}% Insert appropriate spcing
}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{@{}p{0.5\linewidth}@{\quad}p{0.5\linewidth}@{}}
\subfigimg[width=\linewidth]{A)}{example-image-a} \\
\subfigimg[width=\linewidth]{B)}{example-image-b}
\end{tabular}
\caption{A caption}
\end{figure}
\end{document}
但是这感觉有点不靠谱,我仍然不知道如何使用副标题,也不明白为什么文本放在图像后面。所以如果有人知道我会接受答案。