![在 newenvironment 中使用 fancyvrb Verbatim 环境](https://linux22.com/image/237133/%E5%9C%A8%20newenvironment%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20fancyvrb%20Verbatim%20%E7%8E%AF%E5%A2%83.png)
与此一样问题,我想在环境定义中使用逐字环境,但我希望列表被编号,所以我认为我需要使用 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}