名前: 本田 日時: 2002-01-09 16:26:29 IPアドレス: 202.224.196.*
>>5036 verbatim環境(verbatim*環境)はある意味, 普通の環境ではありません. どういうことかというと\begin{verbatim}の内部処理で いろいろなもののカテゴリコードを変えてしまいます. じつはうまくいく場合の\end{verbatim}の\, {, }はカテゴリコードが12なんです そして,このカテゴリコード12の\, {, }を含んだ\end{verbatim}は パターンマッチに使われています. 一般の環境は\endというマクロに「環境名」という引数を与えるということなのですが \end{verbatim}はそういうことではないのです. ということで, \newenvironment{SCREEN} {\begin{screen}\begin{verbatim}} {\end{verbatim}\end{screen}} とすると,この中の\end{verbatim}はカテゴリコードが違う(普通のものな)ので, verbtim環境の終了には使えません. 「普通に」書いた場合は,一個一個展開・実行されるのでうまくいきます #より細かくいえば,screen環境による #(垂直)ボックスの中だということも関係します. ということで,verbatim環境を内包する環境を作るのは結構厄介で, 恐らく一番楽なのは, verbatim環境の定義そのものをコピーして書き換えることではなかろうかと思います. もしくは,エディタの置換機能を用いて \begin{SCREEN}を\begin{screen}\begin{verbatim} \end{SCREEN}を\end{verbatim}\end{screen}に置換するのが現実的かもしれません.
この書き込みへの返事: