使用\newfloat
,可以创建新的浮动环境,如下例所示这帖子中,我创建了一个名为 的新浮点数suppfig
,但我想在其中添加子图。当我简单地在其中添加子图时,我收到以下消息:
未定义计数器
subsuppfig
。
当我添加一个名为 subsuppfig 的计数器时\newcounter{subsuppfig}
,我得到
非法计量单位(插入 pt)。
如何定义新的子浮动环境?
代码:
\documentclass{article}
\usepackage{float,subcaption,graphicx}
\begin{document}
\newfloat{suppfig}{tbh}{supp}
\floatname{suppfig}{Supplementary Figure}
\begin{suppfig}[H]
\centering
\begin{subfigure}{\textwidth}
\centering
\caption{ }
\includegraphics[width=\textwidth]{example-image-a}
\end{subfigure}
\begin{subfigure}{\textwidth}
\centering
\caption{ }
\includegraphics[width=\textwidth]{example-image-b}
\end{subfigure}
\caption{...figurecaptions...}
\end{suppfig}
\end{document}
答案1
使用包,这是一个专为与和朋友newfloat
协同工作而设计的包。caption
\documentclass{article}
\usepackage{newfloat}
\usepackage{subcaption}
\DeclareFloatingEnvironment[name={Supplementary Figure}]{suppfigure}
\begin{document}
\begin{suppfigure}
\begin{subsuppfigure}{.45\textwidth}
\centering\rule{.9\linewidth}{2cm}
\caption{a small supplementary figure}
\end{subsuppfigure}\hfill%
\begin{subsuppfigure}{.45\textwidth}
\centering\rule{.9\linewidth}{2cm}
\caption{another small supplementary figure}
\end{subsuppfigure}
\caption{And a captin for all of them}
\end{suppfigure}
\end{document}
答案2
subcaption
使用时效果很好(以自动化方式)newfloat
用于创建浮点数。但是,如果你使用float
或者floatrow
,你必须自己做这些准备工作。
以下内容摘自subcaption
文档(部分5\DeclareCaptionSubType
命令):
要使用该包的子标题功能,
caption
必须准备一些命令和计数器。这是通过\DeclareCaptionSubType[<numbering scheme>]{<type>} \DeclareCaptionSubType*[<numbering scheme>]{<type>}
对于环境
figure
&table
以及所有由包\DeclareFloatingEnvironment
提供的环境newfloat
,这将自动完成,但对于其他环境(例如,由包\newfloat
提供的环境float
或\DeclareNewFloatType
由包提供的环境floatrow
),这必须手动完成。
\documentclass{article}
\usepackage{float,graphicx,subcaption}
\newfloat{suppfig}{tbh}{supp}
\floatname{suppfig}{Supplementary Figure}
\DeclareCaptionSubType{suppfig}
\renewcommand{\thesubsuppfig}{\Alph{subsuppfig}}
\begin{document}
\begin{suppfig}[H]
\centering
\begin{subfigure}{\textwidth}
\centering
\caption{First subcaption}
\includegraphics[width=.6\linewidth]{example-image-a}
\end{subfigure}
\begin{subfigure}{\textwidth}
\centering
\caption{Second subcaption}
\includegraphics[width=.6\linewidth]{example-image-b}
\end{subfigure}
\caption{Figure caption}
\end{suppfig}
\end{document}