Отключить пакет структурирования в финальном режиме

Отключить пакет структурирования в финальном режиме

Я используюизложениепакет для отслеживания того, что мне еще нужно написать в моих документах, но я хотел бы, чтобы он производил вывод только в draftрежиме. Пакет поставляется с disableопцией, но он игнорирует глобальную draftопцию.

Так как я используюмемуарыclass, который удобно определяет условный оператор \ifdraftdoc, возможный некрасивый хак — поместить в преамбулу что-то вроде этого:

\ifdraftdoc
  \usepackage{outlining}
\else
  \usepackage[disable]{outlining}
\fi

Однако мне бы хотелось узнать, есть ли более элегантное решение (помимо взломаизложениепакет для поддержки draftопции).

решение1

Возможность заключается в том, чтобы проверить, находитесь ли вы в draftрежиме, и если вы не находитесь, передать disableопцию пакету outlining. Это можно сделать с помощью

\unless\ifdraftdoc
  \PassOptionsToPackage{disable}{outlining}
\fi
\usepackage{outlining}

Примитив \unlessбыл добавлен eTeX и инвертирует следующий TeX \if, поэтому результат практически такой же, как если бы мы просто добавили \elseпосле \ifdraftdocнего отрицательный символ, но \unlessон немного быстрее.

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