LaTeX даёт огромный контроль над вёрсткой, но обычно требует TeX Live, долгой сборки и терпимости к сообщениям об ошибках. Typst — компактный компилятор с собственным языком разметки: один бинарник, мгновенный предпросмотр, понятные правила стилей и нормальная работа с таблицами. Для отчётов, статей, резюме и методичек он уже вполне пригоден; для журналов с обязательным LaTeX-классом — не всегда.

Установка и шрифты

cargo install typst-cli
typst --version
typst fonts | grep -i "PT Serif"

Помимо cargo есть готовые сборки на GitHub Releases, brew install typst, winget install Typst.Typst и пакеты дистрибутивов. Компилятор не требует root и не тянет гигабайты пакетов: библиотеки скачиваются при первом импорте и кэшируются. Версия 0.15.x уже умеет переменные шрифты, HTML-экспорт и несколько PDF-стандартов, но синтаксис базовых документов остаётся стабильным.

Если нужного шрифта нет в системном каталоге, укажите папку явно: typst compile --font-path ./fonts report.typ. Для русского текста проверьте наличие шрифта с кириллицей, например PT Serif, Liberation Serif или DejaVu Serif.

Минимальный документ

#set document(title: "Отчёт", author: "Иван Петров")
#set page(paper: "a4", margin: 2.5cm, numbering: "1")
#set text(font: ("PT Serif", "Liberation Serif"), size: 11pt, lang: "ru")
#set par(justify: true, leading: 0.65em)
#set heading(numbering: "1.1")

= Введение
Это первый абзац. Пустая строка разделяет абзацы, а разметка похожа на Markdown.

== Подраздел
Формула записывается как $E = m c^2$, а ссылки на разделы разберём ниже.

Строки с #set задают значения по умолчанию для всего документа. lang: "ru" включает русские правила переносов и кавычек, justify выравнивает текст по ширине, а numbering нумерует страницы. Заголовки начинаются с =, как в Markdown, но их уровень задаётся количеством знаков.

Файл сохраняется с расширением .typ, сборка — typst compile report.typ report.pdf. Если имя выходного файла не указать, PDF появится рядом с исходником.

Стили, шаблоны и повторное использование

#show heading.where(level: 1): it => block(
  above: 1.5em,
  below: 0.8em,
  text(weight: "bold", size: 14pt)[#it],
)
#show link: underline
#show raw.where(block: true): block.with(
  fill: luma(245),
  inset: 8pt,
  radius: 4pt,
)

Правила #show меняют оформление элементов без правки каждой таблицы или заголовка. where сужает выборку, block.with создаёт функцию с предустановленными параметрами, а it — это сам элемент. Такой подход заменяет десятки макросов LaTeX и легче читается.

Готовые шаблоны ставятся командой typst init @preview/charged-ieee my-paper: она создаёт каталог с примером, библиографией и файлом typst.toml. Свой шаблон — это обычный .typ с функцией, которую применяют через #show: template.with(...). Для диссертаций и ГОСТ-оформления шаблон часто приходится адаптировать под требования кафедры.

Таблицы, рисунки и формулы

#figure(
  table(
    columns: (1fr, 1fr, auto),
    table.header([Метрика], [Значение], [Ед.]),
    [Время сборки], [0,8], [с],
    [Размер PDF], [240], [КБ],
  ),
  caption: [Результаты теста],
) <fig:results>

$ sum_(i=1)^n i = (n(n+1))/2 $

Таблицы в Typst — это полноценные ячейки с содержимым, а не текст с амперсандами. table.header помечает заголовок и повторяет его на новой странице; 1fr задаёт гибкую ширину колонки. figure добавляет подпись и позволяет ссылаться на объект через @fig:results.

Математика включается долларами. Режим $ ... $ с пробелами даёт выключную формулу, а $x$ — строчную. Поддерживаются дроби, суммы, матрицы, греческие буквы и функции вроде cases. Для рисунков используйте image("plot.png", width: 80%); путь указывается относительно исходного файла.

Библиография и ссылки

#bibliography("refs.bib", style: "ieee")
// или для ГОСТ:
#bibliography("refs.bib", style: "styles/gost-r-7-0-5-2008-numeric.csl")

Typst читает обычный BibTeX и собственный формат Hayagriva. Ссылка @key одновременно создаёт цитату и запись в списке литературы; #cite(<key>, form: "prose") даёт вариант «Автор (год)». Встроенных CSL-стилей больше восьмидесяти, включая IEEE, APA и Vancouver. Для ГОСТ скачайте подходящий CSL-файл из репозитория Citation Style Language и укажите путь к нему.

Ссылки на разделы работают через метки: = Введение <intro>, затем @intro. Это удобнее ручной нумерации: при вставке раздела номера пересчитываются автоматически.

Сборка, предпросмотр и экспорт

typst compile report.typ report.pdf
typst watch report.typ
typst compile --pdf-standard a-2b report.typ archive.pdf
typst compile --format png --ppi 200 --pages 1 report.typ cover.png

typst watch пересобирает PDF при изменении файла и показывает ошибки с номерами строк. Для архивных документов используйте PDF/A: --pdf-standard a-2b; для доступности — ua-1, но тогда нужны осмысленные подписи и корректная структура заголовков. Несколько стандартов можно перечислить через запятую, если они совместимы.

PNG и SVG пригодятся для вставки в презентации и веб-страницы. Флаг --root ограничивает доступ к файлам проектом, что полезно при сборке шаблонов из чужого каталога. Для проверки доступных шрифтов и версии есть typst fonts и typst --version.

Переход с LaTeX и ограничения

Pandoc умеет преобразовать простой .tex в .typ: pandoc report.tex -o report.typ. Формулы и таблицы переносятся не идеально, поэтому результат придётся просмотреть. Пакеты LaTeX вроде graphicx или amsmath в Typst не нужны — соответствующие возможности встроены.

Ограничения стоит знать заранее. Экосистема Typst моложе: меньше готовых шаблонов для конкретных журналов и меньше библиотек для сложной графики, хотя CeTZ активно развивается. Смена полей страницы вызывает разрыв страницы, а не плавную подстройку. Некоторые издатели до сих пор принимают только LaTeX-исходники.

  • Проверьте, принимает ли журнал PDF, собранный не в LaTeX.
  • Сложные схемы и графики сначала оцените в CeTZ или встройте SVG.
  • Для библиографии заранее подготовьте CSL под нужный ГОСТ или стиль.
  • Шрифты с кириллицей лучше положить в проект и указать --font-path.

Итог

Typst — практичная альтернатива LaTeX для повседневных документов: он быстро собирается, не требует огромной установки и даёт понятные ошибки. Начните с одного .typ, настройте шрифт и поля, затем добавьте таблицы, формулы и библиографию. Если издатель требует LaTeX-класс, используйте Typst для черновиков, отчётов и внутренних документов, а финальную вёрстку оставьте в LaTeX.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте