読者です 読者をやめる 読者になる 読者になる

verbatim環境を含んだ自作環境を作る時の注意点

たとえばこんな風に作ると,エラーがでてしまう.

\newenvironment{qverbatim}
  {\begin{quote} \setlength{\baselineskip}{12pt} \begin{verbatim}}
  {\end{verbatim} \end{quote}}

なぜこれがいけないのかはfancybox.pdfのp.20から説明してあります.これはverbatim環境が特殊で\begin{verbatim}をLaTeXが読み込むと,"\end{verbatim}"リテラルを探しにいく訳なのですが,定義した\end{qverbatim}が展開されずにスキップしてしまうのです.それゆえファイルの最後まで(途中で)サーチして\end{verbatim}がみつからないのでエラーを吐く訳です.
これを回避するには,fancybox.styを使用して次のように定義します.

\usepackage{fancybox}
...
\newenvironment{qverbatim}
  {\VerbatimEnvironment \setlength{\baselineskip}{12pt}
   \begin{quote} \begin{Verbatim}}
  {\end{Verbatim} \end{quote}}

\VerbatimEnvironmentでVerbatim環境を使うことを明示するわけです.