答案1
编辑:
- 软件包
subfigure
已过时。不要使用它!相反,它被定义为subfig
,而不是\subfigure
定义\subfloat
具有类似功能的命令。 - 最新、更强大、功能更丰富的软件包
subcaption
版本 1.3 也支持\subfloat
。 - 请记住,提到的软件包不兼容。我只能使用其中的一个。
- 使用很简单来定义所需的子标题样式:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subcaption}
\captionsetup[subfigure]{labelformat=simple}
\renewcommand\thesubfigure{}
\begin{document}
\begin{figure}[ht]
\centering
\subfloat[First caption \label{fig:a}]%
{\includegraphics[width=0.45\linewidth]{example-image}}
\hfil
\subfloat[Second long, long, long, long, long caption \label{fig:b}]%
{\includegraphics[width=0.45\linewidth]{example-image}}
\caption{if needed}
\label{fig:...}
\end{figure}
\end{document}
答案2
你不需要subfigure
(顺便说一句,这个包已经过时二十年了)。
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}% for mock text
\newlength{\pseudosubfloatwd}
\newlength{\pseudosubfloatsep}
\setlength{\pseudosubfloatsep}{3pt}% adjust to suit
\NewDocumentCommand{\pseudosubfloat}{m>{\TrimSpaces}m}{%
\sbox0{#2}%
\setlength{\pseudosubfloatwd}{\wd0}%
\parbox[t]{\pseudosubfloatwd}{%
\box0\par\vspace{\pseudosubfloatsep}%
\makepseudosubfloatcaption{#1}%
}%
}
\newcommand{\makepseudosubfloatcaption}[1]{%
\small
\sbox0{#1}%
\ifdim\wd0>\pseudosubfloatwd
#1\par
\else
\makebox[\pseudosubfloatwd]{#1}\par
\fi
}
\begin{document}
\lipsum[1][1-4]
\begin{figure}[htp]
\centering
\pseudosubfloat{First caption}{
\includegraphics[width=0.4\linewidth]{example-image}
}\quad
\pseudosubfloat{Second long, long, long, long, long, long caption}{
\includegraphics[width=0.4\linewidth]{example-image-1x1}
}
\caption{Caption}
\end{figure}
\lipsum[2][1-4]
\end{document}