SILE: возможности, установка и применение системы профессиональной вёрстки

SILE — не просмотрщик и не редактор готовых PDF, а программируемый движок вёрстки: пользователь описывает документ в исходном тексте, XML или через расширения, после чего система рассчитывает строки, страницы, шрифты и сложные макеты и формирует печатный PDF. Такой подход делает SILE близким по назначению к TeX/LaTeX и современным markup‑системам, но архитектурно проект строится вокруг Lua, фреймов страницы, HarfBuzz и собственного PDF‑вывода. На сентябрь 2026 года актуальный стабильный выпуск — 0.15.13; ветка проекта при этом продолжает развиваться, поэтому SILE нельзя считать заброшенным, хотя стабильные релизы выходят реже, чем у массовых настольных приложений.

ПараметрСостояние
ТипПрограммируемая система вёрстки и генерации печатных документов
Актуальный стабильный релиз0.15.13, опубликован 31 мая 2025 года
Основные платформыLinux, macOS, BSD; Docker и Nix; Windows практичнее использовать через WSL
Основной результатPDF
ВходSIL, XML, Lua и подключаемые inputter‑модули
ЛицензияMIT, бесплатно, исходный код открыт
Аккаунт и облакоНе требуются; локальная сборка является штатным сценарием
ИнтерфейсКомандная строка и текстовые исходники, без собственного WYSIWYG‑редактора

Скачать SILE

Бесплатно
В реестре российского ПО
Чистая установка

Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.

⬇ Скачать PDF Commander бесплатно

⬇ Скачать SILE

Безопасный источник SILE — официальный проект The SILE Typesetter и его репозиторий sile-typesetter/sile. На странице релизов версия 0.15.13 отмечена как Latest и сопровождается исходными архивами, готовым x86_64‑артефактом, PDF‑руководством, файлами SHA‑256 и подписями. Для обычной установки разработчики в первую очередь рекомендуют системные пакетные менеджеры: Homebrew на macOS, официальные пакеты Arch Linux, Fedora и openSUSE, PPA для поддерживаемых выпусков Ubuntu, пакеты Void Linux, Nix либо контейнер Docker.

Выбирать способ получения лучше по назначению. Для рабочей станции разумнее пакет из репозитория ОС или Homebrew: менеджер зависимостей обновляет SILE вместе с окружением и знает, какие файлы установлены. Для CI и изолированных сборок подходят Docker и Nix. Исходный архив нужен, если требуется собственная конфигурация, отладочная сборка или интеграция с нестандартным окружением. Git‑ветки master и develop следует считать разработческими: они полезны для проверки будущих изменений, но не заменяют стабильный тег в воспроизводимом издательском процессе.

У SILE нет поддерживаемого обычного Windows‑инсталлятора. Официальная документация прямо указывает, что нативная совместимость Windows сейчас никем не поддерживается и может быть нарушена. На компьютере с Windows надёжнее использовать WSL с дистрибутивом Linux и устанавливать SILE внутри него. Наличие экспериментальных сборок в CI не следует трактовать как полноценную настольную редакцию для Windows.

Что такое SILE

Расшифровка названия — Simon’s Improved Layout Engine. Проект изначально создал Simon Cozens как новую систему типографской вёрстки, вдохновлённую отдельными идеями TeX и настольных издательских систем, но не являющуюся форком TeX. Сейчас код и сопутствующие проекты находятся в организации sile-typesetter; релизы линии 0.15 публиковались Caleb Maclennan и другими участниками сообщества. Репозиторий оставался активным в 2026 году, поэтому корректное позиционирование — развиваемый open‑source‑проект со стабильной веткой 0.15.x.

SILE решает задачу до появления PDF: принимает структурированный исходник, вычисляет типографику и создаёт конечный файл. Он не предназначен для открытия чужого PDF с целью чтения, выделения текста или аннотирования. Если задача заканчивается на просмотре готового документа, нужен читатель вроде Sumatra PDF или Okular. Если же нужно системно выпускать книги, каталоги, многоязычные материалы или документы с программируемой геометрией страниц, SILE выступает именно как компилятор вёрстки.

В актуальной архитектуре команда sile запускает бинарный CLI на Rust со встроенной Lua VM. При этом собственно типографские механизмы и значительная часть поведения остаются написанными на Lua и могут переопределяться во время работы. Такое разделение появилось в версии 0.15.0: Rust упростил упаковку и открыл путь к новым низкоуровневым компонентам, а Lua сохранил гибкость классов, пакетов и пользовательских расширений.

Хронология развития и поддержки

Для совместимости важны две линии изменений. В 0.14 проект формализовал модульную архитектуру и перевод сторонних классов, пакетов, inputter‑ и outputter‑модулей на LuaRocks; старые compatibility shims постепенно удалялись. Версия 0.15.0, выпущенная в июне 2024 года, перевела основной CLI на Rust со встроенной Lua VM, сохранив типографское ядро на Lua. Вместе с этим изменились некоторые умолчания, разбор пробелов в SIL и внутренние API. Для части старых проектов предусмотрен модуль retrograde, но он не отменяет все несовместимости.

В 0.15.7–0.15.10 развивались CSL‑библиографии, индексы и математика; 0.15.11 исправила важную ошибку переносов в ряде языков, 0.15.12 — неверное deprecated‑предупреждение, а 0.15.13 добавила функции позиционирования CSL‑цитат и набор исправлений. Последний стабильный тег датирован 31 мая 2025 года, однако основной репозиторий обновлялся в июле 2026 года. Для производства разумно фиксировать 0.15.13 или конкретный commit/container tag, а master проверять отдельно.

Основные функции SILE

Программируемая верстка страниц и фреймы

Ключевая идея SILE — страница как набор именованных фреймов, связанных геометрическими ограничениями. Фрейм может быть областью основного текста, колонтитула, сноски или боковой колонки, а текст способен перетекать между областями. Классы документа определяют, какие шаблоны страниц действуют в разных частях издания. Это особенно полезно для двухколоночных, многоязычных и других макетов, где геометрию удобнее описывать правилами, чем вручную перемещать блоки.

Lua как язык расширения

SILE программируется на Lua. Пакеты регистрируют команды и настройки, классы меняют логику документа, inputter‑модули добавляют входные форматы, а outputter‑модули — варианты вывода. Внутри документа можно подключить Lua‑модуль, внешний Lua‑файл или выполнить код напрямую. Поэтому SILE способен служить основой специализированного издательского инструмента, а не только языком разметки.

Из этого следует ограничение безопасности: исходник SILE потенциально активен. Документ или установленный пакет может запускать Lua‑код, поэтому неизвестные проекты лучше собирать в контейнере или другой ограниченной среде без доступа к секретам CI и важным каталогам.

Типографика, Unicode и OpenType

Для формирования текста SILE использует HarfBuzz; текущая документация требует HarfBuzz не ниже 2.7.4. Unicode‑обработка опирается на ICU, а поиск шрифтов в Unix‑окружении — на fontconfig. Доступны OpenType‑возможности, двунаправленный текст, языковые модули и переносы. Для стабильной 0.15.13 базовым шрифтом остаётся Gentium Plus; математика по умолчанию ориентируется на Libertinus Math, моноширинный текст — на Hack. В master уже задокументирован будущий переход на Gentium Book с 0.15.14, поэтому воспроизводимый проект должен задавать шрифты явно.

Книги, оглавления, сноски, библиографии и индексы

В поставке есть классы plain, book, letter, DocBook‑ориентированные и специализированные многоязычные варианты, включая diglot и triglot. Пакеты покрывают сноски, оглавления, библиографии, индексы, гиперссылки, списки, развороты и другие издательские задачи. Библиографический стек 0.15 использует CSL по умолчанию и умеет обрабатывать BibTeX‑данные через собственный слой преобразования.

Математика, графика и PDF

Математический пакет в серии 0.15 активно развивался в сторону более полного покрытия MathML и привычных формульных конструкций. SILE умеет размещать изображения и использовать страницы PDF как графический материал; SVG поддерживается с ограничениями. Основной вывод — PDF через libtexpdf, включая ссылки и программируемые PDF‑элементы. При этом SILE не превращает чужой PDF в редактируемый документ: для ручного изменения готовых страниц нужен отдельный редактор, например Adobe Acrobat Pro.

Сторонние пакеты и автоматизация

Расширения устанавливаются через LuaRocks и могут лежать глобально, в профиле пользователя или локально в проекте. Официальная документация приводит markdown.sile как пример стороннего inputter для Markdown. Для CI доступны GitHub Action, Docker и Nix: исходники можно собирать при каждом commit и сохранять PDF как артефакт, фиксируя версию движка, пакетов и шрифтов.

Интерфейс и удобство использования

Главная рабочая зона SILE — не собственное окно, а выбранный пользователем текстовый редактор и терминал. Исходник редактируется в VS Code, Vim, Neovim, Emacs или любой IDE, после чего команда sile файл.sil создаёт PDF. Проект поддерживает отдельные интеграционные репозитории для редакторов, но полноценного встроенного редактора с визуальным предпросмотром у SILE нет.

Навигация строится вокруг структуры исходников: крупную книгу можно разделить на главы и подключать их из мастер‑файла; классы задают общий дизайн; пакеты добавляют команды. Такая модель хорошо масштабируется в Git и удобна разработчикам, зато требует дисциплины в именах файлов, путях, версиях модулей и шрифтах. Ошибка проявляется не как визуально «съехавший объект» в редакторе, а как сообщение CLI, предупреждение или неправильный итоговый PDF.

Порог входа выше, чем у LibreOffice и настольных издательских программ с WYSIWYG. Минимальный документ короткий, но для реальной пользы надо освоить SIL‑синтаксис, классы, измерения, фреймы и принципы компиляции. Если требуется глубокая кастомизация, следующий уровень — Lua API. Зато после настройки шаблона обычная работа может сводиться к изменению контента и одной команде сборки.

Локализация CLI существует: история проекта фиксирует инфраструктуру i18n и добавление русских локализаций. Однако основной учебный материал, документация API, сообщения issue tracker и большинство примеров ориентированы прежде всего на английский. Русскоязычному пользователю важно учитывать это ещё до выбора SILE для команды.

Поддерживаемые форматы и совместимость

Входные документы

Два центральных текстовых формата — SIL и XML. SIL — собственный компактный синтаксис Sile Input Language; XML можно направлять непосредственно на команды SILE или обрабатывать пользовательским модулем под собственную схему. В линии 0.14 Lua также стал входным типом первого класса. Это позволяет строить документ программно, хотя такой вариант требует больше знаний API.

Markdown не является встроенной гарантией ядра: его добавляет сторонний пакет markdown.sile. Аналогично поддержка иных форматов зависит от inputter‑модулей. Поэтому SILE нельзя описывать как универсальный конвертер офисных документов. DOCX, ODT или EPUB не следует ожидать в роли штатного «Открыть и экспортировать» без дополнительного преобразования. Для массовой конвертации разметки удобнее сначала рассмотреть Pandoc, а для офисного файла — приложение, которое понимает исходный формат нативно.

Вывод и переносимость результата

Основной и практически значимый итог SILE — PDF. Такой файл можно открыть в Sumatra PDF, Okular, браузерах и других стандартных просмотрщиках. Он отделён от исходного проекта: получателю не нужны SILE, Lua, шрифты проекта или пакеты, если шрифты корректно встроены и PDF сформирован без внешних зависимостей.

Обратная сторона — PDF не является удобным исходником для повторной вёрстки. Надёжный архив проекта должен включать SIL/XML/Lua‑исходники, локальные расширения, библиографические файлы, графику, сведения о шрифтах и версию SILE. Один только PDF сохраняет визуальный результат, но не полноценную программируемую структуру, из которой он был получен.

Совместимость расширений

Сторонние LuaRocks‑пакеты должны соответствовать Lua ABI, с которым собран SILE. Документация отдельно предупреждает, что при нескольких версиях Lua иногда необходимо явно передавать версию LuaRocks. После крупных изменений API старые классы и пакеты могут потребовать адаптации; линия 0.14 уже удаляла некоторые compatibility shims для расширений эпохи 0.12 и старше.

Карта критических зависимостей

ЗависимостьЗачем нужнаЧто произойдёт при проблемеКак снизить риск
ШрифтыФормирование глифов, переносов и метрикЗамена гарнитуры меняет строки и пагинациюФиксировать набор и версии шрифтов в проекте или контейнере
HarfBuzz и fontconfigШейпинг и обнаружение шрифтовСборка может завершиться ошибкой или дать другое отображениеИспользовать пакетную/контейнерную среду и не обновлять зависимости посреди тиража
ICUUnicode и языковая логикаРиски различий в обработке текста и локалиФиксировать образ сборки для критичных документов
LuaRocks‑пакетыДополнительные классы и inputter‑модулиПропадут команды или изменится форматированиеСтавить пакеты локально и сохранять их версии
Версия SILEПарсер, типографика, API и умолчанияПосле обновления документ может переразбитьсяЗакреплять 0.15.13 или конкретный контейнерный тег до контрольной сверки
ИнтернетНужен главным образом для установки и получения зависимостейУже установленный локальный проект обычно можно собирать без облакаКэшировать пакеты и образы для автономной среды

Аккаунт, подписка и сервер SILE не являются обязательной зависимостью локальной компиляции. Именно поэтому систему можно использовать для конфиденциальных макетов без загрузки документов в стороннее облако. Но приватность не равна безопасности выполнения: Lua‑код и сторонние пакеты получают возможности локального процесса, поэтому доверие к исходникам и зависимостям остаётся критическим условием.

Производительность и стабильность

Проект не публикует универсальных минимумов RAM, CPU или максимального числа страниц. Нагрузка зависит от объёма текста, сложности фреймов, шрифтов, формул, изображений и пользовательского Lua‑кода. Поэтому корректнее оценивать конкретный макет, а не переносить на SILE абстрактные «лимиты документов».

0.15.0 изменил упаковку и сделал Rust‑CLI основным, но не переписал типографское ядро. Для сборок проект предпочитает LuaJIT и отмечает его преимущество перед обычным PUC Lua, однако официального универсального процента ускорения для пользовательских документов нет. Критичные макеты лучше держать в фиксированном контейнере или Nix‑окружении.

История 0.15 показывает, что визуальная регрессия возможна даже без падения сборки: 0.15.11 исправила ошибку переносов, затрагивавшую ряд языков. Поэтому для книг и многоязычных материалов стоит хранить контрольные PDF и проверять пагинацию, переносы и ключевые развороты после обновления SILE, ICU, HarfBuzz или шрифтов.

Лицензирование и версии

SILE распространяется по разрешительной лицензии MIT. Плата за программу, подписка, пробный период и обязательная регистрация отсутствуют. Исходный код открыт, поэтому систему можно использовать, модифицировать и встраивать в собственные процессы в рамках условий лицензии. Отдельной коммерческой «Pro»‑редакции у SILE нет: различия возникают между стабильными тегами, development‑ветками, способами упаковки и сторонними модулями.

Стоимость использования поэтому определяется не лицензией, а инфраструктурой. Команда может платить за время разработки классов, поддержку Lua‑кода, CI, хранение шрифтов с подходящими лицензиями и контроль качества выпуска. В проекте без специалиста по программируемой вёрстке бесплатный движок иногда оказывается организационно дороже знакомого WYSIWYG‑редактора. В автоматизированном издательском конвейере ситуация обратная: отсутствие лицензионных платежей и текстовые исходники могут заметно упростить масштабирование.

Версии следует фиксировать явно. Стабильный 0.15.13 и текущий master — не одно и то же. В master уже встречается документация будущего поведения, например перехода на другой шрифт по умолчанию в 0.15.14. Для статьи, шаблона или CI нельзя автоматически переносить будущие настройки на 0.15.13.

Системные требования

Linux и BSD

Есть пакеты Arch Linux, Fedora, openSUSE, Ubuntu PPA, Void Linux и NixOS; для BSD упоминаются OpenBSD ports, Nix и исходная сборка. Точные минимумы CPU, RAM и диска не опубликованы. Для сборки из исходников нужны Rust toolchain и исходники Lua; в рантайме Rust‑инструменты и системный Lua основному Rust‑CLI не требуются. Для предпочтительного backend нужны HarfBuzz 2.7.4 или новее, fontconfig и ICU.

macOS

Подтверждённый путь — Homebrew. Формула ставит стабильный SILE, а HEAD собирает текущую ветку. Документация предупреждает, что стандартный шрифт может не устанавливаться автоматически, поэтому гарнитуры проекта нужно контролировать отдельно. Для исходной сборки ICU также можно получить через Homebrew.

Windows

Поддерживаемого нативного инсталлятора нет; официальная документация называет текущую совместимость неподдерживаемой. Практический путь — WSL и установка SILE как Linux‑программы. Работы с CMake/Visual Studio и CI‑артефакты существуют, но не равны поддерживаемой настольной редакции.

Docker и Nix

Docker‑образ siletypesetter/sile даёт стабильные и development‑теги; каталог проекта монтируется внутрь контейнера. Шрифты хоста нужно подключать отдельно. Nix позволяет запускать пакет из канала либо конкретный тег/ветку репозитория и удобен для воспроизводимой среды.

Преимущества и недостатки SILE

Плюсы и минусы

• Гибкая модель страниц. Фреймы и программируемые классы подходят для макетов, которые трудно выразить набором стандартных стилей текстового процессора.

• Открытая архитектура. Lua позволяет менять команды, алгоритмы и обработчики без форка всего движка.

• Локальная работа. Для компиляции не требуется аккаунт, подписка или загрузка документа в облако.

• Современный текстовый стек. HarfBuzz, ICU, OpenType и языковые модули дают хорошую основу для сложной многоязычной типографики.

• Автоматизация. Git, Docker, Nix, GitHub Action и текстовые исходники естественно встраиваются в CI/CD.

• Свободная MIT‑лицензия. Нет платы за редакции и ограничений пробного периода.

Минусы

• Нет WYSIWYG. Пользователь пишет исходник и оценивает PDF после компиляции, а не перемещает элементы мышью.

• Высокий порог для сложных макетов. Фреймы, измерения, Lua и классы требуют технического мышления.

• Windows не является поддерживаемой нативной платформой. Для обычной работы на Windows фактически нужен WSL или отдельная Linux‑среда.

• Меньшая экосистема, чем у LaTeX. Нестандартный издательский шаблон чаще придётся реализовывать самостоятельно.

• Риск несовместимости расширений. Крупные обновления API и Lua ABI могут потребовать адаптации сторонних пакетов.

• Исходники могут выполнять Lua‑код. Нельзя бездумно компилировать непроверенные проекты с правами рабочего пользователя.

Паспорт обратимости операций

ОперацияОбратимостьЧто нужно сохранить
Изменение SIL/XML‑исходникаПолностью обратимо через систему контроля версий или резервную копиюТекстовые файлы проекта
Смена класса или пакетаОбычно обратима, но результат может заметно переразбитьсяВерсию класса, пакета и настройки
Обновление SILEОбратимо при сохранении старой версии/контейнераТег образа, lock‑описание среды, контрольный PDF
Генерация PDFНе изменяет исходник, но PDF не восстанавливает полную структуру проектаSIL/XML/Lua, графику, библиографию и шрифты
Передача только PDFПолучатель увидит результат, но не сможет надёжно пересобрать макетПри необходимости редактирования передавать весь проект

Главный принцип SILE — исходники являются мастер‑данными, а PDF является продуктом сборки. Поэтому опаснее всего не удалить сгенерированный PDF, а потерять контент, пользовательские классы, шрифты и точное окружение. Git‑репозиторий плюс воспроизводимая среда делает практически все обычные изменения обратимыми.

Сравнение с аналогами

ИнструментМодель работыСильная сторонаКогда лучше SILE
SILEТекст/XML → программируемая вёрстка → PDFФреймы, Lua, гибкая издательская логикаНестандартные книги, автоматизация, собственные классы
LaTeXTeX‑экосистема и декларативная разметкаОгромная экосистема, наука, математика, шаблоныКогда важнее программируемая модель страниц и Lua, чем совместимость с TeX‑миром
TypstСовременная разметка и компиляторБыстрый старт, быстрые пересборки, удобный синтаксис, нативные Windows/macOS/Linux бинарникиКогда нужен более низкоуровневый контроль SILE‑классов и Lua‑экосистема
ScribusГрафическая настольная издательская системаВизуальная ручная вёрстка страницКогда документ должен генерироваться из данных и собираться без GUI
PandocКонвертер форматовПреобразование Markdown, DOCX, HTML, EPUB и других форматовКогда задача именно типографская, а не конвертационная

LaTeX остаётся более универсальным выбором для научной публикации, где издательство уже выдаёт класс, а коллеги используют TeX‑стек. SILE интереснее, когда команда готова проектировать собственный движок макета и хочет работать с Lua и фреймами. Typst проще для нового пользователя и предлагает нативный CLI на Windows, что особенно заметно на фоне слабой Windows‑поддержки SILE. Scribus выигрывает, если дизайнеру нужен прямой визуальный контроль каждой страницы, а SILE — если тот же макет должен регулярно генерироваться автоматически из изменяющихся данных.

С Sumatra PDF прямое сравнение некорректно: SILE создаёт PDF, Sumatra PDF его читает. Эти программы могут использоваться вместе в одном цикле: команда SILE компилирует исходник, а лёгкий просмотрщик открывает результат для визуальной проверки. Если требуется не создание, а объединение, разделение или другая утилитарная обработка готовых PDF, ближе по задаче будет PDF24 Creator.

Инструкция по установке

macOS через Homebrew

1. Установите Homebrew, если он ещё не настроен.

2. Выполните brew install sile.

3. Проверьте sile —version и зафиксируйте версию проекта.

4. Убедитесь, что нужные шрифты доступны системе.

5. Создайте минимальный test.sil и выполните sile test.sil; контрольный результат — test.pdf.

Linux

Используйте пакет дистрибутива: pacman -S sile для Arch Linux, dnf install sile для Fedora, zypper install sile для openSUSE. Для Ubuntu официальный проект поддерживает PPA sile-typesetter/sile. После установки проверьте версию и соберите минимальный test.sil.

Если готового пакета нет, доступны Nix, Linuxbrew или сборка из исходников. Исходная сборка требует Rust, исходники Lua, HarfBuzz, fontconfig и ICU; для git‑clone дополнительно нужен bootstrap и LuaRocks. Типичная последовательность после подготовки зависимостей — ./configure, make, затем sudo make install.

Windows через WSL

1. Подготовьте WSL с поддерживаемым Linux‑дистрибутивом.

2. Установите SILE внутри WSL по инструкции выбранного дистрибутива.

3. Проверьте доступ WSL к исходникам, шрифтам и изображениям.

4. Соберите тестовый PDF и откройте его Windows‑просмотрщиком.

Экспериментальные нативные Windows‑артефакты не стоит делать основой рабочего процесса: проект прямо предупреждает, что Windows сейчас не сопровождается как полноценная платформа.

Docker

Используйте официальный образ siletypesetter/sile с примонтированным каталогом проекта. При необходимости подключите каталог шрифтов в /fonts. Для воспроизводимости выбирайте тег конкретного релиза, а не плавающий latest. Удалять SILE безопаснее тем же пакетным менеджером, которым он был установлен; исходники проекта и локальные ресурсы храните отдельно, поскольку удаление программы не является архивированием документа.

Практические кейсы

Кейс 1. Книга из SIL‑исходников

Цель. Выпустить книгу из отдельных глав. Подготовка. Зафиксировать SILE, шрифты и класс book. Шаги. Разнести главы по включаемым файлам, настроить класс, оглавление и пакеты, затем собрать мастер‑файл. Проверка. Сверить число страниц, начала глав, колонтитулы и характерные переносы с контрольным PDF. Ограничение. Необычный дизайн потребует собственного класса или Lua‑расширения.

Кейс 2. XML → PDF без XSL‑цепочки

Цель. Получить печатный документ из структурированных XML‑данных. Подготовка. Зафиксировать схему и соответствие элементов обработчикам SILE. Шаги. Использовать XML с понятными SILE тегами либо подключить модуль под доменную схему и выполнить компиляцию. Проверка. Проверить вложенные элементы, спецсимволы и длинные абзацы. Ограничение. Очистку и нормализацию данных лучше выполнять до стадии вёрстки.

Кейс 3. Нестандартный макет на фреймах

Цель. Автоматизировать двухколоночные страницы, поля заметок и колонтитулы. Подготовка. Описать геометрию и связи областей. Шаги. Создать pagetemplate или класс, объявить фреймы и направить текстовые потоки. Проверка. Прогнать короткий и переполненный контент, исключив наложения и потерю текста. Ограничение. Drag‑and‑drop отсутствует: геометрию нужно диагностировать как код.

Кейс 4. Сборка PDF в CI

Цель. Получать PDF на каждый commit. Подготовка. Хранить исходники в Git и закрепить версии SILE, шрифтов и LuaRocks‑пакетов. Шаги. Использовать GitHub Action, Docker или runner, собрать документ и сохранить PDF как артефакт. Проверка. Контролировать успешный exit code, наличие PDF и критические сообщения лога. Ограничение. Для важных релизов автоматике нужна визуальная сверка утверждённых страниц.

Контроль перед сохранением и передачей

• Проверить, что сборка выполнена закреплённой версией SILE, а не случайным master/latest.

• Сверить шрифты и исключить неожиданный fallback.

• Проверить оглавление, индекс, библиографию, ссылки и страницы с нестандартными фреймами.

• Отдельно просмотреть формулы, RTL/многоязычный текст и переносы.

• Для продолжения работы передавать не только PDF, но и исходники, графику, библиографию, модули и описание среды.

• Перед печатью согласовать размер страницы, вылеты и метки реза с требованиями конкретной типографии.

Часто задаваемые вопросы

SILE — это замена Sumatra PDF?

Нет. SILE создаёт PDF из исходников, а Sumatra PDF открывает готовый файл. Они могут использоваться последовательно: компилятор формирует документ, просмотрщик помогает проверить результат.

Есть ли у SILE графический редактор?

Нет собственного WYSIWYG. Обычно используется внешний текстовый редактор, терминал и отдельный PDF‑просмотрщик. Для визуальной ручной вёрстки лучше DTP‑приложение.

Поддерживается ли Markdown?

Да, через сторонний пакет markdown.sile, устанавливаемый LuaRocks. Это не встроенная гарантия ядра, поэтому версию расширения следует фиксировать вместе с проектом.

Можно ли безопасно компилировать чужой .sil‑файл?

Только при доверии к источнику либо в изолированной среде. SILE позволяет выполнять Lua‑код и подключать модули, поэтому неизвестный проект потенциально активен.

Почему PDF может измениться после обновления?

На разбиение строк и страниц влияют алгоритмы переносов, метрики, ICU, HarfBuzz, шрифты и пакеты. Серия 0.15 уже содержала такие изменения, поэтому тиражный проект должен фиксировать среду.

Можно ли поставить SILE нативно на Windows?

На сентябрь 2026 года поддерживаемого обычного Windows‑инсталлятора нет. Практический вариант — WSL или другая Linux‑среда.

Можно ли редактировать существующий PDF в SILE?

Не как в PDF‑редакторе. SILE может включать PDF‑страницы как графический материал и генерировать новый PDF, но не предназначен для интерактивного изменения объектов чужого файла.

Подходит ли SILE для конфиденциальных документов?

Да, если локальная среда защищена: облако и аккаунт не обязательны. Одновременно нужно контролировать сторонние пакеты и Lua‑код, которые выполняются с правами локального процесса.

Что хранить для долгосрочного архива?

PDF, исходники SIL/XML/Lua, изображения, библиографические базы, пользовательские классы и пакеты, версии шрифтов и точную версию SILE либо описание контейнерной/Nix‑среды.

Вывод

SILE подходит разработчикам издательских процессов, техническим редакциям и небольшим командам, которым нужен открытый программируемый движок для получения PDF из структурированных исходников. Его сильная сторона — сочетание типографского движка, фреймов страниц, Lua‑расширяемости, Unicode/OpenType‑стека и удобной автоматизации через Git, Docker, Nix и CI. Особенно хорошо он выглядит там, где один и тот же сложный макет нужно многократно генерировать из изменяющегося контента.

Для пользователя, который хочет открыть PDF, поставить комментарий или вручную подвигать блоки на странице, SILE будет неправильным выбором. Здесь разумнее Sumatra PDF или Okular для просмотра, LibreOffice Writer для обычного авторинга, Scribus для визуальной DTP‑вёрстки, а специализированный PDF‑редактор — для изменения уже готовых PDF.

Главные ограничения SILE в 2026 году — отсутствие поддерживаемой нативной Windows‑редакции, сравнительно небольшой рынок готовых шаблонов и необходимость технической дисциплины. Если команда готова фиксировать версии, хранить шрифты и расширения вместе с проектом и воспринимать документ как сборку из исходников, SILE остаётся редким и мощным инструментом между TeX‑подходом и полностью программируемой издательской системой.


Ваш адрес email не будет опубликован. Обязательные поля помечены *