关于这个问题如何创建一个像浮点数一样带有标题和标签的框?,他们教如何使用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 行是\DeclareCaptionType
该caption
包的命令。它如何与 memoir 类一起使用?
答案1
根据问题:
您可以使用以下代码来抑制警告,因为警告只是有关如何使用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}