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代わりに次のように記述します。

関連情報