在 newenvironment 中使用 fancyvrb Verbatim 环境

在 newenvironment 中使用 fancyvrb Verbatim 环境

与此一样问题,我想在环境定义中使用逐字环境,但我希望列表被编号,所以我认为我需要使用 fancyvrb。似乎 fancyvrb 没有与\verbatim和等效的功能\endverbatim。我看不出如何在环境定义中使用它。这是我所拥有的(基于 verbatim 包):

\newenvironment{example}[2]{%
    \program%
    \caption{#2}%
    \label{#1}%
    \vskip.7\baselineskip
    \scriptsize
    \verbatim%
}{%
    \endverbatim\normalsize
    \vskip-.5\baselineskip
    \endprogram
}

我想要使​​用 fancyvrb 环境,定义如下:

\DefineVerbatimEnvironment%
{Example}{Verbatim}
{numbers=left,fontsize=\scriptsize, stepnumber=3,
frame=lines,framerule=0.8mm}

去做这个:

\newenvironment{example}[2]{%
    \program%
    \caption{#2}%
    \label{#1}%
    \vskip.7\baselineskip
    \scriptsize
    \begin{Example}%
}{%
    \end{Example}\normalsize
    \vskip-.5\baselineskip
    \endprogram
}

我收到以下错误:

Runaway argument?
  ! File ended while scanning use of \FancyVerbGetLine.

我可能做了一些愚蠢的事情,但有耐心的人能指出我这是什么吗?

答案1

上市环境也有可能出现同样的情况

\documentclass{article}
\usepackage{fancyvrb,caption,floatrow}
\DeclareNewFloatType{example}{placement=t,%within=section,
   fileext=exa,name=Example}
\captionsetup[example]{font=sf,labelfont=bf,skip=\smallskipamount}

\newenvironment{Example}[2]
{\VerbatimEnvironment
 \captionof{example}{#2}\ifx\relax#1\relax\else\label{#1}\fi%
\begin{Verbatim}[numbers=left,fontsize=\scriptsize, stepnumber=3,
                 frame=lines,framerule=0.4mm]}
{\end{Verbatim}}

\begin{document}

\begin{Example}{TheLabel}{The caption}
foo
bar
\end{Example}

\begin{Example}{}{Another caption}
foo
bar
baz
\end{Example}

See Example~\ref{TheLabel}

\end{document}

在此处输入图片描述

相关内容