我正在尝试定义一个需要与 \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
。