
Estoy intentando definir un entorno que requiera una línea de marco tan ancha como \textwidth
\DefineVerbatimEnvironment%
{code}{Verbatim}{...,frame=lines,%
xleftmargin=7pt,fontsize=...}
¿No estoy seguro de cómo podría limitar el ancho de la línea?
Respuesta1
uno puede modificaresta solucióna una pregunta relacionada de la siguiente manera:
\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 sí solo producirá una línea de longitud \textwidth
, sin embargo, solo agrega una cantidad mínima de espacio vertical. Ésta es la razón para poner la \vskip
's. Es posible que desees ajustar el tamaño de estos espacios (o usar \smallbreak
, etc.) y también agregar una \vskip
cantidad negativa justo después de la primera regla y justo antes de la última. Por ejemplo, lo siguiente proporciona un espaciado más cercano al obtenido de \begin{Verbatim}[frame=lines]
:
\newenvironment{code}
{
\VerbatimEnvironment
\vskip18pt\hrule\vskip-10pt\hskip0pt
\begin{Verbatim}[xleftmargin=7pt]%
}
{\end{Verbatim}\vskip-3pt\hrule\vskip18pt}
Si necesitas que las reglas tengan un grosor diferente, puedes escribir algo así como \hrule height 2pt
.