内部のテキストを消費する(無視する)環境

内部のテキストを消費する(無視する)環境

commentパッケージから環境を複製したいcomment:

\begin{comment}
Hidden stuff.
\end{comment}

%これは、コメントアウトする代わりに、何も印刷しません。

などのコマンドで実行できます\def\comment#1{}が、今度はそれを環境に変換したいと思います。

動機は、条件に応じてテキストを完全に非表示にしたり、色を変更するなど、テキストに対して何かを実行したりする環境を作成することです。

\@ifundefined{flag}%
{\newenvironment{flagged}{\it\color{red}(}{)}}%
{\newenvironment{flagged}{\comment\bgroup}{\egroup}}

2 番目のケースでは、マクロのテキスト引数を作成するつもりです。マクロの引数を区切ることができない\comment\bgroup Hidden stuff\egroupため、これは機能しません。\bgroup\egroup

\includepackage{comment}
...
{\newenvironment{flagged}{\begin{comment}}{\end{comment}}}

commentこれも動作しません。パッケージがリテラル文字列を期待しているためだと思います\end{comment}:

! File ended while scanning use of \next.

これを行う方法?

答え1

パッケージは、 およびcommentを介してこれを行うメカニズムを提供します。\specialcomment\excludecomment

関連情報