如何在回忆录类中使用 \DeclareCaptionType 创建自己的标题类型?

如何在回忆录类中使用 \DeclareCaptionType 创建自己的标题类型?

关于这个问题如何创建一个像浮点数一样带有标题和标签的框?,他们教如何使用caption包命令创建自己的标题\DeclareCaptionType,但它似乎不适用于回忆录类:带有 subcaption 和 hyperref 包的 memoir 类

然后我尝试加载\usepackage{capt-of}而不是caption

\documentclass[10pt,a5paper,twoside]{memoir}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{capt-of}
\usepackage{graphicx,newfloat}

\DeclareCaptionType{InfoBox}

\begin{document}

    \fboxsep=8pt\relax
    \fboxrule=2pt\relax
    \begin{center}
    \fbox{\centering
      \includegraphics[width=2in]{example-image-A}}\par
      \captionof{InfoBox}{Here is my caption\label{fg:A}}
    \end{center}

    \begin{InfoBox}[ht]
    \centering
    \fbox{\centering\medskip
      \includegraphics[width=2in]{example-image-B}}\par
      \caption{Here is my caption\label{fg:B}}
    \end{InfoBox}

\end{document}

但仍然会产生错误:

test3.tex:9: Undefined control sequence 
Here is how much of TeX's memory you used:
...

第 14 行是\DeclareCaptionTypecaption包的命令。它如何与 memoir 类一起使用?

答案1

根据问题:

  1. 代码清单表
  2. 如何消除回忆录类对使用标题包的警告?
  3. 如何创建一个像浮点数一样带有标题和标签的框?

您可以使用以下代码来抑制警告,因为警告只是有关如何使用memoir类的文档,而不是您应该修复的内容。

类 memoir 警告:您正在将 caption 包与 memoir 类一起使用。为了做好准备,我们现在将所有字幕宏和配置重置为内核默认值,然后让 caption 包接管。请记住使用 caption 包接口来配置您的字幕。

注意,您需要忽略来自memoir类的标题文档,并使用来自包的标题文档caption

\documentclass[10pt,a5paper,twoside]{memoir}

\usepackage{silence}
\WarningFilter*{memoir}{You are using the caption package with the memoir class}

\usepackage{caption}
\DeclareCaptionType{code}[Code Listing][List of Code Listings]

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{capt-of}
\usepackage{listings}

\begin{document}

\listofcodes

    \begin{code}
        \begin{lstlisting}
            Some source code
        \end{lstlisting}
        \caption[This here is a caption]{caption}
    \end{code}

\end{document}

在此处输入图片描述

相关内容