自定义浮点图中的子图(子标题和浮点包)

自定义浮点图中的子图(子标题和浮点包)

我需要具有自定义标题名称的图形和子图形。为了实现我的目标,我尝试使用float包来定义新的浮点类型并subfigure创建子图形。

但是,我收到编译错误消息。我将代码简化为:

\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}

\usepackage{float}
\usepackage{subcaption}

\floatstyle{plain}
\newfloat{program}{thb}{lop}
\floatname{program}{Program}

\begin{document}
\begin{program}
    \centering
    \begin{subfigure}{0.3\textwidth}
            A
    \end{subfigure}
    \begin{subfigure}{0.3\textwidth}
            B
    \end{subfigure}
\end{program}
\end{document}

Missing number, treated as zero我在使用 的位置遇到了错误subfigure。在生成的输出中,我==0在每个子图的开头都遇到了一个奇怪的问题。

但是,如果我重新使用库存figure而不是我的自定义替代品program,我不会得到任何错误和预期的输出。

它从何而来?我该如何避免?我应该使用不同的包吗?

答案1

我将使用与该包链接在一起的newfloat和包。subcaptioncaption

\documentclass[a4paper]{article}

\usepackage{subcaption}
\usepackage{newfloat}

% declare a new float type
\DeclareFloatingEnvironment[
  fileext=lop,
  listname={List of Programs},
  name=Program
]{program}
% announce the float to subcaption and create the subprogram environment
\DeclareCaptionSubType{program}

\begin{document}

\begin{program}
\centering
\begin{subprogram}{0.3\textwidth}
  A
\subcaption{A program}
\end{subprogram}
\begin{subprogram}{0.3\textwidth}
  B
\subcaption{Another one}
\end{subprogram}
\caption{Two programs}
\end{program}
\end{document}

相关内容