
Некоторые зависимости могут быть очевидными и необходимыми для базовой функции пакета. Но как насчет второстепенных функций, которые потребуют загрузки дополнительных внешних пакетов? Для ясности: я понимаю, что «добавление слишком большого количества функций» — это распространенная ошибка новичков. Я ни в коем случае не опытный разработчик, но я также не рассматриваю полностью произвольные функции.
Приведем несколько примеров:
новая среда содержит (необязательное) поле для даты. Оно может быть установлено на "сегодня", зафиксировано на какой-либо пользовательской дате или вообще опущено. Для этого потребуется datetime-package.
Аналогично, поле для списка сокращений. Для этого потребуется glossaries-package, который, кажется, является довольно большим пакетом для загрузки, если он не нужен пользователю.
Я хотел бы предоставить определенный стиль страницы с этим пакетом, но оставить пользователю решать, хочет ли он его использовать. Для этого потребуется пакет fancyhdr.
и еще кое-что.
Тогда у меня такие вопросы:
Может быть, я слишком беспокоюсь об оптимизации и стоит просто продолжить работу с зависимостями для полезных функций?
Могу ли я загрузить эти пакеты условно, например, поместив "RequirePackage" только внутри зависимого макроса(ов)? Или через опцию пакета?
Могу ли я добавить поддержку этих пакетов на случай, если пользователь решит загрузить их самостоятельно? Как мне лучше всего сообщить им об этом?
Может, мне вообще удалить эти полезные функции?