verbatim

eliminar el doble espacio dentro de {verbatim}

Estoy usando la clase uwthesis que generalmente se compone con mucho espacio entre líneas. En general, esto está bien, sin embargo, quiero anular el espaciado en ciertos ejemplos que aparecen en el entorno verbatim .

Una EPM se parece a esto:

\documentclass{uwthesis}
\begin{document}

Double \\
Spaced \\
Lines

\begin{verbatim}
These
lines
are
also
doublespaced
\end{verbatim}
\end{document}

Idealmente,me gustaría definir un verbatim personalizado para usar en los ejemplos que presenta el texto sin el espacio extra entre las líneas,pero no estoy seguro de lo que tengo que escribir.

Puede actualizar la fuente verbatim para usar un \linespread diferente . Más específicamente, incluya \linespread{1} como parte de \verbatim :

\documentclass{uwthesis}% http://ctan.org/pkg/uwthesis
\makeatletter
\def\verbatim{\linespread{1}\normalfont\ttfamily}
\makeatother
\begin{document}

Double \\
Spaced \\
Lines

\begin{verbatim}
These
lines
are
not
doublespaced
\end{verbatim}

Double \\
Spaced \\
Lines
\end{document}

La clase uwthesis verbatim predeterminado del kernel de LaTeX , de ahí la facilidad de no tener que agregar paquetes adicionales para obtener el resultado deseado. Para obtener una referencia a \linespread , consulte ¿Por qué \linespread no funciona? en las preguntas frecuentes de TeX.

Podría contener la redefinición en una macro que actuara como interruptor:

\makeatletter
\newcommand{\nextverbatimspread}[1]{%
  \def\verbatim{%
    \linespread{#1}\normalfont\ttfamily% Updated definition
    \gdef\verbatim{\normalfont\ttfamily}}% Revert to old definition
}
\makeatother

que podría utilizar en la forma

\nextverbatimspread{1}
\begin{verbatim}
% ...single-spaced verbatim
\end{verbatim}
% ...some other content
\begin{verbatim}
% ...double-spaced verbatim
\end{verbatim}

Porque crear tu propio entorno verbatim Lo más fácil sería incluir el paquete verbatim y usar la sugerencia de David de envolver el entorno verbatim en forma de comando:

\documentclass{uwthesis}% http://ctan.org/pkg/uwthesis
\usepackage{verbatim}% http://ctan.org/pkg/verbatim
\makeatletter
\newcommand{\nextverbatimspread}[1]{%
  \def\verbatim{%
    \linespread{#1}\normalfont\ttfamily% Updated definition
    \gdef\verbatim{\normalfont\ttfamily}}% Revert to old definition
}
\newenvironment{myverbatim}[1][1.5]
  {\def\verbatim{%
     \linespread{#1}\normalfont\ttfamily% Updated definition
     \gdef\verbatim{\normalfont\ttfamily}}% Revert to old definition
   \verbatim}
  {\endverbatim}
\makeatother
\begin{document}

Double \\
Spaced \\
Lines

\nextverbatimspread{1}
\begin{verbatim}
These
lines
are
not
doublespaced
\end{verbatim}

Double \\
Spaced \\
Lines

\begin{myverbatim}
These
lines
are
doublespaced
\end{myverbatim}

Double \\
Spaced \\
Lines

\begin{myverbatim}[1]
These
lines
are
not
doublespaced
\end{myverbatim}
\end{document}

El entorno myverbatim toma un argumento de opción para especificar un \linespread modificado . El valor predeterminado es 1.5 , como lo especifica uwthesis ("sin doble espacio", según uwthesis.cls , línea 158).




Mire el uso de fancyvrb . Tiene un montón de buenos trucos. Pero, en particular, puede establecer el salto de línea de base dentro del entorno textual:

\documentclass{uwthesis}
\usepackage{fancyvrb}
\begin{document}

Double \\
Spaced \\
Lines

\begin{Verbatim}[baselinestretch=0.75]
These
lines
are
also
doublespaced
\end{Verbatim}
\end{document}

0.75 puede ser un poco ajustado para ti.