我写了一篇文章,并在其中插入了几个子图,如下所示:
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{fig6_1}
\caption{Increase}
\end{subfigure}%
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{fig6_2}
\caption{Increase}
\end{subfigure}
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{fig6_3}
\caption{Increase}
\end{subfigure}
\caption{Round}
\end{figure}
但是,当我将相同的代码复制到我的论文文件中时,结果出现了错误
命令 \subcaption 已定义。...ubcaption{\captionsetup{subtype*}\caption}
我在命令提示符下编译我的文件xelatex
,它给出了一个警告错误
类回忆录警告:您正在将 caption 包与回忆录类一起使用。如果您使用任何回忆录的字幕功能,这可能会导致意外或不一致的结果。
编译时,出现错误并停止
!LaTeX 错误:命令 \subcaption 已定义。或名称 \end... 非法,请参阅手册第 192 页。
但是,CTAN 指南中没有第 192 页caption
。我检查了论文类文件并观察到使用了memoir
。我应该在代码或类文件代码中进行哪些更改才能使其正常运行?
答案1
作为文档类,memoir
提供开箱即用的子浮点支持。因此,它可能与以下软件包提供的软件包(扩展)存在一些兼容性问题subcaption
或者caption
。因此,编译期间会显示错误/警告。
鉴于您的代码片段,可比较的版本如下所示memoir
:
\documentclass{memoir}% http://ctan.org/pkg/memoir
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\newsubfloat{figure}% Allow subfloats in figure environment
\begin{document}
\begin{figure}
\centering
\subbottom[Increase]{%
\includegraphics[width=0.3\linewidth]{example-image-a}}
\subbottom[Increase]{%
\includegraphics[width=0.3\linewidth]{example-image-b}}
\subbottom[Increase]{%
\includegraphics[width=0.3\linewidth]{example-image-c}}
\caption{Round}
\end{figure}
\end{document}
\newsubfloat
为子浮点环境创建适当的界面和输出生成结构。\subbottom[<ToC>][<caption>]{<stuff>}
在底部设置一个带有标题的子浮点数(的对应部分\subtop
)。
答案2
您可以使用 将子标题放在浮动上方\subtop[<sub-caption>]{<content of sub-float>}
。如果您为其提供空选项[]
,它只会为您提供编号/字母。
查看回忆录手册了解更多信息。