我试图回答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}