使用 capt-of 和 float 包的问题

使用 capt-of 和 float 包的问题

我试图回答https://tex.stackexchange.com/581714capt-of并使用和包得出了这个 MWE float。我认为我已经遵循了包的说明,并得出了这个。

% captionverbprob.tex  SE 581714
\documentclass{article}
\usepackage{capt-of}
\usepackage{float}
\floatstyle{plain}
\newfloat{Vcode}{tbp}{vcd}
\usepackage{lipsum}
\begin{document}
\listof{Vcode}{Verbatims}
\newpage
\lipsum[1]
\begin{verbatim}
Verbatim text bla bla bla bla bla bla
This is verbatim bla bla bla bla bla bla
\end{verbatim}
\captionof{Vcode}{Verbatim stuff}

\begin{Vcode}[b]
\centering
Verbatim text bla bla bla bla bla bla \newline
This is verbatim bla bla bla bla bla bla
\caption{Floating verb stuff}
\end{Vcode}

\lipsum[2]
\end{document}

不幸的是,当我通过编译它时,latexpdf我收到了错误消息:

! Undefined control sequence.
\@tempf ... \@parboxrestore \normalsize \@fs@capt 
                                                  {\@nameuse {fnum@#1}}{\ign...
l.16 \captionof{Vcode}{Verbatim stuff}

但是Vcode环境运行正常并且\captionof两者都被列出但是\listof{Vcode}{...}\captionof没有出现在文档正文中。

我希望有人能解决这个问题。

答案1

使用caption 而不是capt-of包来定义\captionof:后者是一个简单的(一行)版本,\captionof无法处理浮点包声明,

如果你只是切换包,你会收到警告

Package caption Warning: \captionsetup{type*=...} or \captionof
(caption)                outside box or environment on input line 17.

所以

\documentclass{article}
\usepackage{float}
\floatstyle{plain}
\newfloat{Vcode}{tbp}{vcd}
\usepackage{caption}
\usepackage{lipsum}

\begin{document}

\listof{Vcode}{Verbatims}
\newpage
\lipsum[1]
\noindent\begin{minipage}{\textwidth}
\begin{verbatim}
Verbatim text bla bla bla bla bla bla
This is verbatim bla bla bla bla bla bla
\end{verbatim}
\captionof{Vcode}{Verbatim stuff}
\end{minipage}

\begin{Vcode}[b]
\centering
Verbatim text bla bla bla bla bla bla \newline
This is verbatim bla bla bla bla bla bla

\caption{Floating verb stuff}
\end{Vcode}

\lipsum[2]
\end{document}

相关内容