
Estou tentando definir um ambiente que requer uma linha de quadro tão larga quanto \textwidth
\DefineVerbatimEnvironment%
{code}{Verbatim}{...,frame=lines,%
xleftmargin=7pt,fontsize=...}
Não tenho certeza de como poderia restringir a largura da linha.
Responder1
Pode-se modificaresta soluçãopara uma questão relacionada da seguinte forma:
\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
por si só, produzirá uma linha de comprimento \textwidth
, no entanto, adicionará apenas uma quantidade mínima de espaço vertical. Esta é a razão para colocar o \vskip
's. Você pode querer ajustar o tamanho desses espaços (ou usar \smallbreak
, etc.) e também pode querer adicionar algum \vskip
valor negativo logo após a primeira regra e um pouco antes da última. Por exemplo, o seguinte fornece um espaçamento mais próximo daquele obtido em \begin{Verbatim}[frame=lines]
:
\newenvironment{code}
{
\VerbatimEnvironment
\vskip18pt\hrule\vskip-10pt\hskip0pt
\begin{Verbatim}[xleftmargin=7pt]%
}
{\end{Verbatim}\vskip-3pt\hrule\vskip18pt}
Se você precisar que as regras tenham espessuras diferentes, você pode escrever algo parecido \hrule height 2pt
.