
使用\newfloat
,可以創建新的浮動環境,如中所示這在帖子中,我創建了一個名為的新浮點數suppfig
,但我想在其中添加子圖。當我簡單地在其中添加子圖時,我收到訊息:
沒有
subsuppfig
定義計數器。
當我新增一個名為 subsuppfig 的計數器時\newcounter{subsuppfig}
,我得到
非法計量單位(插入 pt)。
如何定義新的 subfloat 環境?
代碼:
\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
使用 package 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}