答案1
可以通过重新定义\captionsetup
每个子图来完成,添加一些\hspace
来取代\subcaption
左边或右边。
\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx}
\newlength{\hangright}
\setlength{\hangright}{50pt} %for subfigure (a) center to right
\newlength{\hangleft}
\setlength{\hangleft}{-40pt}%for subfigure (b) center to left
\DeclareCaptionFormat{hangright}{\hspace*{\hangright}#1#2#3\par}
\DeclareCaptionFormat{hangleft}{\hspace*{\hangleft}#1#2#3\par}
\begin{document}
\begin{figure}
\captionsetup[sub]{format=hangright, font=it}
\begin{subfigure}{.4\linewidth}
\subcaption{sub caption c}
\label{fig:figure-1.c}
\includegraphics[width=\linewidth]{example-image-c}
\end{subfigure}
\hfil
\captionsetup[sub]{format=hangleft, font=it}
\begin{subfigure}{.4\linewidth}
\subcaption{sub caption b}
\label{fig:figure-1.b}
\includegraphics[width=\linewidth]{example-image-b}
\end{subfigure}
\caption{My figures}
\label{fig:figure1}
\end{figure}
\end{document}