答案1
因为你的问题有
\floatsetup[figure]{style=plain,subcapbesideposition=top}
我在此假设您已经知道如何使用floatrow
plus 包来实现您想要的目标subfig
,并且您正在要求采用一种替代方法subcaption
。
从包文档的第一页开始caption
:
请注意,该
caption
包仅控制字幕的外观和感觉。它不控制字幕的位置。(但您可以使用其他包(如包floatrow
[8])来做到这一点。)
因此,即使您可以使用caption
/来执行此操作subcaption
(参见下面的代码),但并没有像 提供的那样具有开箱即用的机制floatrow
。
您可以floatrow
像以前一样使用。floatrow
可以使用包subfigure
中的环境subcaption
和adjustbox
包装便于垂直调整;大致如下:
\documentclass{article}
\usepackage[export]{adjustbox}
\usepackage{subcaption}
\usepackage{graphicx}
\begin{document}
Cross-references to Figure~\ref{fig:test} and its subfigures~\ref{sfig:testa} and~\ref{sfig:testb}.
\begin{figure}
\adjustbox{minipage=1.3em,valign=t}{\subcaption{}\label{sfig:testa}}%
\begin{subfigure}[t]{\dimexpr.5\linewidth-1.3em\relax}
\centering
\includegraphics[width=.95\linewidth,valign=t]{example-image-a}
\end{subfigure}%
\adjustbox{minipage=1.3em,valign=t}{\subcaption{}\label{sfig:testb}}%
\begin{subfigure}[t]{\dimexpr.5\linewidth-1.3em\relax}
\centering
\includegraphics[width=.95\linewidth,valign=t]{example-image-b}
\end{subfigure}
\caption{This is a figure}
\label{fig:test}
\end{figure}
\end{document}
答案2
如果你可以改变为floatrow
和subfig
,那么可以做类似的事情
\documentclass{article}
\usepackage{subfig}
\usepackage{graphicx}
\usepackage{floatrow}
\usepackage{lmodern}
\floatsetup[figure]{style=plain, subcapbesideposition=top}
\begin{document}
\begin{figure}
\begin{subfloatrow}
\sidesubfloat[]{\includegraphics[width=.3\linewidth]{example-image-a}}
\sidesubfloat[]{\includegraphics[width=.3\linewidth]{example-image-b}}
\end{subfloatrow}
\caption{This is a figure}
\end{figure}
\end{document}