DefineVerbatimEnvironment 内的框架线宽度

DefineVerbatimEnvironment 内的框架线宽度

我正在尝试定义一个需要与 \textwidth 一样宽的框架线的环境

\DefineVerbatimEnvironment%
 {code}{Verbatim}{...,frame=lines,%
               xleftmargin=7pt,fontsize=...}

我不确定如何限制线的宽度?

答案1

可以修改此解决方案相关问题如下:

\documentclass{article}

\usepackage{fancyvrb}

\newenvironment{code}
  {
    \VerbatimEnvironment
    \vskip\baselineskip\hrule
    \begin{Verbatim}[xleftmargin=7pt]%
  }
  {\end{Verbatim}\hrule\vskip\baselineskip}

\usepackage{lipsum}
\begin{document}

\lipsum[2]

\begin{code}
  Test the verbatim.  
  Here is some more.
\end{code}

\lipsum[4]

\end{document}

示例输出

\hrule单独使用会产生长度为 的线\textwidth,但是,它只会增加最小量的垂直空间。这就是放入 的原因\vskip。您可能希望调整这些空间的大小(或使用\smallbreak等),并且您可能还希望\vskip在第一条规则之后和最后一条规则之前添加一些负量。例如,以下给出的间距更接近从 获得的间距\begin{Verbatim}[frame=lines]

\newenvironment{code}
  {
    \VerbatimEnvironment
    \vskip18pt\hrule\vskip-10pt\hskip0pt
    \begin{Verbatim}[xleftmargin=7pt]%
  }
  {\end{Verbatim}\vskip-3pt\hrule\vskip18pt}

如果您需要不同粗细的规则,您可以写类似的内容\hrule height 2pt

相关内容