В LaTeX можно организовать управляемое отображение определённых фрагментов текста — например, пояснений, черновиков, решений задач или методических комментариев. При этом содержимое остаётся в файле, но может быть временно скрыто из документа простым изменением нескольких строк в преамбуле.
Определим окружение mynote, предназначенное для вставки примечаний к тексту:
\newenvironment{mynote}{
\itshape\textbf{Примечание.}
}{}Вот так его можно использовать к тексте:
Некоторый фрагмент текста документа, в котором изложена основная информация.
\begin{mynote}
Пример примечания к тексту. Можно оформить длинное пояснение, охватывающее несколько абзацев.
Это второй абзац примечания.
\end{mynote}
Ещё один фрагмент основного текста, который может включать таблицы, изображения или формулы.
\begin{mynote}
И еще одно примечание.
\end{mynote}
Далее продолжается основной текст.В документе после компиляции все примечания будут отображены курсивом с заголовком Примечание:

Чтобы полностью исключить содержимое окружения mynote из документа PDF, добавьте в преамбулу (после определения окружения) следующие строки:
\usepackage{verbatim} % подключение пакета для работы с comment
\let\mynote=\comment
\let\endmynote=\endcommentЭти команды «переназначают» окружение mynote на comment из пакета verbatim, которое игнорирует весь текст между \begin{comment} и \end{comment}. После этого все блоки \begin{mynote}...\end{mynote} будут полностью пропущены при сборке PDF:

Чтобы вернуть отображение комментариев, достаточно:
\let\mynote=\comment и \let\endmynote=\endcomment, илиПосле перекомпиляции документа все примечания снова появятся.
Такой приём удобен для:
Часто при оформлении документов возникает задача: чтобы подпись перед списком (например, «Задача» или «Задачи») автоматически менялась в зависимости от количества элементов. В LaTeX это можно реализовать с помощью условных проверок из пакета xstring.
Определим команду \autoPlural (макрос), которая анализирует аргумент: если в нём есть запятая, значит, перечислено несколько элементов — используем форму множественного числа.
\usepackage{xstring} % подключение пакета
\newcommand*{\autoPlural}[1]{%
\IfSubStr{#1}{,}{Задачи}{Задача}%
}
Звёздочка в \newcommand* означает, что команда не должна содержать разрывов строк в аргументе. Проверка \IfSubStr ищет запятую — простой способ определения множественности.
Пример использования:
\autoPlural{сделать тест, написать текст} % Задачи
\autoPlural{сделать тест} % Задача
В результате на странице получим текст:

Усложним задачу: пусть список выводится только при наличии элементов, а при пустом аргументе — ничего не появляется.
\newcommand{\taskList}[1]{%
\IfStrEq{#1}{}{}{% если #1 пустой — ничего, иначе:
\textit{\autoPlural{#1}:} #1.%
}%
}
Пример использования:
\taskList{сделать тест, написать текст}
\taskList{}
\taskList{сделать тест}
В результате в тексте получится:

Пустая строка для второго случая не выводится.
Такой подход удобен при автоматизации шаблонов:
Ограничения макроса: если в одном элементе есть дополнительные запятые (например, «настроить сервер, проверить доступ»), то команда ошибочно выведет множественное число.