Создание классов и пакетов
Вы можете создавать новые классы документов и новые пакеты. Например, если ваши меморандумы должны удовлетворять некоторым локальным требованиям, таким как стандартный заголовок для каждой страницы, то вы можете создать новый класс smcmemo.cls и начать свои документы с \documentclass{smcmemo}.
Различие между пакетом и классом документа заключается в том, что команды в пакете полезны для всех классов, а команды в классе документа специфичны для этого класса. Таким образом, команда для установки заголовков страниц предназначена для пакета, а команда для отображения заголовков страниц, как Memo from the
SMC Math Department предназначена для класса.
Внутри файла класса или пакета вы можете использовать символ @ в именах команд, не обходя код, содержащий эту команду, \makeatletter и \makeatother. Смотрите \makeatletter & \makeatother. Это позволяет создавать команды, которые пользователи не случайно переопределят. Другой техникой является предварять специфичные для класса или пакета команды какой-либо строкой, чтобы предотвратить конфликты между вашими классом или пакетом и другими. Например, класс smcmemo может иметь команды \smc@tolist, \smc@fromlist, и т. д.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/Class-and-package-construction.html