verbatim

{verbatim} 안의 이중 공백 제거

나는 일반적으로 줄 사이에 많은 공백이 있는 조판을 사용하는 uwthesis 클래스를 사용하고 있습니다. verbatim 환경 에 나타나는 특정 예에서 간격을 무시하고 싶습니다 .

MWE는 다음과 같습니다.

\documentclass{uwthesis}
\begin{document}

Double \\
Spaced \\
Lines

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

이상적으로는 줄 사이에 추가 공백 없이 텍스트를 표시하는 예제에서 사용할 사용자 정의 축어를 정의하고 싶지만 무엇을 작성해야 하는지 잘 모르겠습니다.

\linespread verbatim 글꼴을 업데이트할 수 있습니다 . 보다 구체적으로, \verbatim 의 일부로 \linespread{1} 를 포함합니다 .

\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}

uwthesis 클래스 는 기본 LaTeX 커널 verbatim 환경에 의존하므로 원하는 출력을 얻기 위해 추가 패키지를 추가할 필요가 없습니다. \linespread 에 대한 참조는 \linespread 가 작동 하지 않는 이유 를 참조하세요 . TeX FAQ에서.

스위치 역할을 하는 매크로에 재정의를 포함할 수 있습니다.

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

양식에서 사용할 수 있는

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

자신의 verbatim 환경을 만드는 것은 조금 더 까다롭습니다. 가장 쉬운 방법은 verbatim 패키지 를 포함하고 verbatim 환경을 명령 형식 으로 래핑하는 David의 제안 을 사용하는 것입니다.

\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}

myverbatim 환경 은 수정된 \linespread linesspread 를 지정하기 위해 옵션 인수를 취합니다 . 기본값은 uwthesis 에 지정된 대로 1.5 입니다( uwthesis.cls 158행 에 따르면 " 이중 간격이 아님" ).




fancyvrb 사용을 살펴보십시오 . 좋은 트릭이 많이 있습니다. 그러나 특히 축자 환경 내에서 baselineskip을 설정할 수 있습니다.

\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 는 약간 타이트할 수 있습니다.