Задать вопрос

Как скрыть определённое окружение в latex?

Создаю своё окружение, но в документе его надо скрывать, если определена при помощи \def переменная и равна true.
Например:
\usepackage{ifthen}
% ...
\def\showmyenv{true}
% ...
\newenvironment{myenv} {
    \ifthenelse{ \equal{\showmyenv}{true} } {
        % отобразить содержимое окружения
    }{
        % не отображать содержимое окружения
    }
} {}

Как указать, чтобы не выводилось содержимое между \begin{myenv} и \end{myenv}?
Надобность в том, что мне необходимо генерировать несколько документов, один из которых не будет содержать указанные блоки.
Есть ли альтернативные варианты?
  • Вопрос задан
  • 487 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
froex
@froex Автор вопроса
Решил переписать код, чтобы не использовать ёмкие конструкции \ifthenelse внутри окружений. Переменную-флаг я оставил, окружение очистил от ifthenelse, а после окружения (либо в конце преамбулы) использую переопределение окружения после проверки переменной-флага.
\usepackage{ifthen}
\usepackage{environ}
% ...
\def\showmyenv{true}
% ...
\newenvironment{myenv} {
    % содержимое окружения
}{}
% ...
\ifthenelse{\equal{\showmyenv}{false}}{
    \RenewEnviron{myenv}{}
}{}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы