Что такое формат файла CLS?
Файл .cls - это файл класса документа LaTeX, текстовое макроопределение, определяющее общую структуру, макет и типографику документа LaTeX. Когда вы открываете любой исходный код .tex, начинающийся с \documentclass{article} или \documentclass{beamer}, LaTeX ищет в дереве каталогов TEXMF соответствующий файл с именем article.cls или beamer.cls и загружает его перед обработкой содержимого.
Файл класса управляет глобальными настройками документа: геометрией страницы, выбором шрифтов, иерархией разделов, колонтитулами, плавающими объектами и средами списков. Внутри файла .cls параметры объявляются с помощью \DeclareOption, зависимости от пакетов - с помощью \RequirePackage, а идентификация класса - с помощью \ProvidesClass{classname}[YYYY/MM/DD vX.Y description]. Традиционная первая строка \NeedsTeXFormat{LaTeX2e} защищает от загрузки несовместимым движком TeX.
Стандартные классы - article, book, report, letter - поставляются со всеми основными дистрибутивами TeX, включая TeX Live и MiKTeX. Издательства, такие как IEEE, ACM, Elsevier, Springer и AMS, распространяют собственные шаблоны .cls, которые авторы должны использовать для подачи статей в журналы или на конференции.
Файл .cls отличается от стилевого пакета (.sty): класс задает весь каркас документа, в то время как файл стиля дополняет его. Исходный код класса часто распространяется в виде грамотного файла .dtx с сопутствующим установщиком .ins, который извлекает готовый к развертыванию .cls. Будучи обычным текстом, файлы .cls легко интегрируются в рабочие процессы систем контроля версий.
Безопасность и защита
РИСК: LOWТекстовый файл макросов; не представляет прямой исполняемой угрозы для операционной системы. Вредоносный код LaTeX теоретически возможен через команды shell-escape \write18, но для эксплуатации требуется, чтобы жертва скомпилировала документ .tex с включенным shell-escape - это не является реалистичным вектором атаки для файлов .cls, распространяемых в качестве шаблонов.
Детали формата
в двух словах- Модуль класса Visual Basic / Visual C++ - Текстовое определение класса исходного кода, созданное IDE VB6/VBA/VC++; то же расширение, другое содержимое.
- Файл класса Apex (Salesforce) - Файл класса объектно-ориентированного языка Apex, используемый при разработке платформы Salesforce.
- Файл классификации цветов AutoCAD / ArcGIS - Файл схемы классификации, используемый ArcGIS и AutoCAD для настроек цветовой шкалы и геокодирования.
Программы, открывающие файлы CLS
Технические подробности
глубокая спецификация| MIME-тип | text/plain; также распознается как application/x-tex |
| Кодировка символов | ASCII или UTF-8; чистый ASCII рекомендуется для широчайшей совместимости с движками TeX |
| Бинарная сигнатура | Отсутствует - обычный текстовый файл без магических байтов; идентифицируется только по расширению и структуре содержимого |
| Команда объявления класса | \ProvidesClass{name}[YYYY/MM/DD vX.Y description] внедряет имя класса, дату и строку версии |
| Защита совместимости формата | \NeedsTeXFormat{LaTeX2e} в качестве традиционной первой строки предотвращает загрузку несовместимыми форматами TeX |
| Механизм опций | Опции объявляются с помощью \DeclareOption и выполняются через \ProcessOptions или \ProcessOptions* |
| Загрузка зависимостей | \RequirePackage{pkgname}[min-date] подключает пакеты .sty с опциональной проверкой минимальной даты |
| Наследование классов | \LoadClass{parentclass} позволяет классу расширять другой, переопределяя только выбранные определения |
| Типичный размер файла | 2 КБ - 200 КБ; от простого скелета класса до полного шаблона издателя журнала |
| Механизм загрузки | Вызывается командой \documentclass[options]{classname} как первая команда в любом документе .tex |
| Путь поиска файлов | LaTeX находит classname.cls через дерево TEXMF; kpsewhich classname.cls показывает разрешенный путь |
| Совместимые движки TeX | pdfLaTeX, XeLaTeX, LuaLaTeX и классический LaTeX (режим DVI); специфичные для движка проверки используют \ifXeTeX, \ifLuaTeX |
| Стандартные встроенные классы | article, book, report, letter и slides поставляются с каждым дистрибутивом LaTeX2e |
| Экосистема издателей | IEEE, ACM, Elsevier, Springer и AMS распространяют проприетарные шаблоны .cls для подачи статей в журналы и на конференции |
| Формат распространения исходного кода | Исходный код класса часто упаковывается в виде файла .dtx, извлекаемого сопутствующим установщиком .ins |
| Выпущен | 1985 (LaTeX 2.09); .cls extension standardized with LaTeX2e, June 1994 |
| Последняя версия | LaTeX2e (current; periodic dated releases, e.g. 2023-06-01) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.latex-project.org |
Конвертации CLS
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах CLS.