Среда, которая поглощает (игнорирует) текст внутри себя

Среда, которая поглощает (игнорирует) текст внутри себя

Я хочу воспроизвести среду commentиз commentпакета:

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

который просто ничего не печатает, вместо того чтобы использовать его %для комментирования.

Я могу сделать это с помощью команды, например \def\comment#1{}, , и теперь я хочу превратить ее в среду.

Мотивация заключается в том, чтобы создать среду, которая при определенных условиях полностью скрывала бы текст или что-то с ним делала бы, например, меняла цвет:

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

Во втором случае предполагается сделать текстовый аргумент макроса: \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.

Связанный контент