使用子标题时出错

使用子标题时出错

我以前使用过 subcaption 包,没有任何问题。但现在我无法使用它,这使得无法编译一些重要的文档。

如果我尝试编译

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage[skip=0cm,list=true,labelfont=it]{subcaption}
\begin{document}
\begin{figure}[hptb]
\centering
\begin{tabular}{l l}
\subfloat[\label{fig:g1} Figura 1]
   {\resizebox{0.45\textwidth}{!}{\includegraphics{img_a}}} &
\subfloat[\label{fig:g2} Figura 2]
   {\resizebox{0.45\textwidth}{!}{\includegraphics{img_a}}} \\
\end{tabular}
\caption{Figure caption.}
\end{figure}
\end{document}

我收到错误:

! Undefined control sequence.
l.14 \subfloat
[\label{fig:g1} Figura 1]

从文件日志中:

This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=latex 2012.9.18)
Package: caption 2012/02/19 v3.2f Customizing captions (AR)
Package: caption3 2012/01/12 v1.4b caption3 kernel (AR)
Package: subcaption 2012/01/12 v1.1d Sub-captions (AR)

知道可能是什么问题吗?

答案1

我觉得这里有些混乱。subcaption定义subfigure环境,但\subfloat命令来自subfig包裹。

就我个人而言,我建议坚持使用该subcaption软件包,并使用如下设置来为您的 MWE

截屏

平均能量损失

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage[skip=0cm,list=true,labelfont=it]{subcaption}
\begin{document}
\begin{figure}[hptb]
\begin{subfigure}{.45\textwidth}
   \includegraphics[width=\textwidth]{img_a}
   \caption{First subfigure}
\label{fig:g1}
\end{subfigure}%
\hfill
\begin{subfigure}{.45\textwidth}
   \includegraphics[width=\textwidth]{img_a}
   \caption{Second subfigure}
\label{fig:g2}
\end{subfigure}
\caption{Figure caption.}
\end{figure}
\end{document}

请注意,subfigure环境采用强制<width>参数,我已将其指定为.45\textwidth(您在 MNWE 中使用的参数)。subfigure环境还可以采用与参数相同的可选参数minipage

这意味着现在应该使用与环境宽度相匹配的resizebox图像命令。\textwidthsubfigure

使用这种方法也意味着您可以删除您的tabular方法。

答案2

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage[skip=0cm,list=true,labelfont=it]{subcaption}
\begin{document}
\begin{figure}[hptb]
\begin{subfigure}{.45\textwidth}
   \includegraphics[width=\textwidth]{img_a}
   \caption{First subfigure}
\label{fig:g1}
\end{subfigure}%
\hfill
\begin{subfigure}{.45\textwidth}
   \includegraphics[width=\textwidth]{img_a}
   \caption{Second subfigure}
\label{fig:g2}
\end{subfigure}
\caption{Figure caption.}
\end{figure}
\end{document}

该程序在每个图的标题中打印 0.45 和标题

相关内容