Verbatim 的边距与 BVerbatim 不同

Verbatim 的边距与 BVerbatim 不同

我正在更改一些Verbatim块以BVerbatim避免在一些短源代码示例中间出现分页符:

\documentclass[a4paper]{book}

\usepackage[T1]{fontenc}
\usepackage{fancyvrb}
\usepackage{listings}
\usepackage[scaled=.73]{beramono}
\fvset{baselinestretch=0.94}
\parindent=0pt
\parskip = 6pt
\lstset{
  basicstyle=\linespread{0.94}\ttfamily,%
  fancyvrb=true,%
}

\begin{document}

Before using Verbatim.

\begin{Verbatim}
foo
bar
\end{Verbatim}

After using Verbatim. \\ Before using BVerbatim.

\begin{BVerbatim}
foo
bar
\end{BVerbatim}

After using BVerbatim.

\end{document}

但是这两个的边距设置不同,BVerbatim代码块前后的间距较小:

在此处输入图片描述

我怎样才能调整BVerbatim这里以使其看起来像Verbatim

答案1

Verbatim使用自己的段落来描述其内容,但BVerbatim不是。您可以使用:

\usepackage{fancyvrb}
\RecustomVerbatimEnvironment{BVerbatim}{BVerbatim}{formatcom=\bigskip}

但没有选项可以在末尾添加垂直空间。您必须重写\endBVerbatim或添加\par

答案2

您可以使用 BVerbatim 作为基础定义一个新的环境。

\documentclass[a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{fancyvrb}
\usepackage{listings}
\usepackage[scaled=.73]{beramono}    
\fvset{baselinestretch=0.94}
\parindent=0pt
\parskip = 6pt
\lstset{
  basicstyle=\linespread{0.94}\ttfamily,%
  fancyvrb=true,%
}

\newenvironment{myBVerbatim}%
{\bigskip\VerbatimEnvironment
\begin{BVerbatim}}
{\end{BVerbatim}%
\bigskip}

\begin{document}

Before using Verbatim.

\begin{Verbatim}
foo
bar
\end{Verbatim}

After using Verbatim. \\ Before using BVerbatim.

\begin{BVerbatim}
foo
bar
\end{BVerbatim}

After using BVerbatim. \\ Before using myBVerbatim

\begin{myBVerbatim}
foo
bar
\end{myBVerbatim}

After using myBVerbatim

\end{document}

其结果是:

myBVerbatim 环境

相关内容