Простейшая шапка для документа, ориентированного на русскую типографику. Проверено на дистрибутиве TeX Live 2025. Кодировка по умолчанию юникодная.
%% -*- coding: utf-8; mode: latex; tex-engine: luatex; -*- Уголок емаксера
\documentclass[a4paper,12pt]{scrartcl} % Выбор класса (рекомендую KOMA-script)
\usepackage[warn]{mathtext} % Кириллица в формулах через \text{}
\usepackage[english,russian]{babel} % Переносы и другие языковые особенности
\usepackage{misccorr} % Локализация не вошедшая в babel. Надо загрузить _до_ unicode-math
\usepackage{amsmath} % Расширенная математика
\usepackage{unicode-math} % Улучшенная работа с математическими шрифтами
\usepackage[regular]{newcomputermodern} % Шрифты Computer Modern
\usepackage{indentfirst} % Отступ для первого параграфа
\usepackage{microtype} % Микротипографика (висячая пунктуация точно работает)
\usepackage[unicode=true,colorlinks=true]{hyperref} % Гиперссылки
\usepackage{srcltx} % Обратный поиск
\usepackage{graphicx} % Вставка графики
Для правильного переноса матсимволов на следующую строку (в русской типографии при переносе символ дублируется) предлагается использовать следующий макрос, которым обкладывается этот символ (символ может быть составным) по месту:
%перенос формул в тексте
\newcommand*{\hm}[1]{#1\nobreak\discretionary{}%
{\hbox{$\mathsurround=0pt #1$}}{}}
\(a+b\hm{\ne}c\)
дублирует ≠ при переносе, если он приключится.Замеченные потенциальные проблемы:
- lualatex значительно медленнее pdflatex
- Старые latex-пакеты могут интерферировать с unicode-math. В частности misccorr (стилевой файл 2004 года рождения из пакета t2) грузит amssymb, что входит в противоречие с unicode-math если unicode-math был загружен ранее. По хорошему его нужно переписать и всю функциональность запихать в babel/polyglossia
- При составлении библиографии нужно сразу ориентироваться на biblatex/biber, так как у классического bibtex проблемы с сортировкой unicode
- Для алфавитного указателя классический makeindex тоже не годится, поэтому сразу следует смотреть в сторону xindy или upmendex
- Обилие доступных шрифтов может снести крышу у неискушённого пользователя и он поставит в качестве основного шрифта Comic Sans.
Можно указать свои шрифты. Например так подключаются свободные шрифты PT имеющие расширенную кириллицу и базовую латиницу (PT Sans, PT Serif, PT Mono):
\usepackage{fontspec} % Работа с OpenType шрифтами
\setmainfont{PT Serif}
\setsansfont{PT Sans}
\setmonofont{PT Mono}
Смена математических шрифтов осуществляется так:
\setmathfont{STIX Two Math}
✔ Полезный источник информации по теме: «LaTeX в 2025 году» от Сергея Головань (pdf, исходники).
Шрифты можно загрузить так же по имени файла. В этом случае они не обязаны быть установлены в качестве системных шрифтов, но должны находиться в пределах доступности luatex, например, в директории документа:
\setmainfont{OldStandard-Regular.ttf}
Комбинированный заголовок для pdflatex/lualatex если не понятно каким именно компилятором будет данный документ обрабатываться (полезно для темплейтов):
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{iftex}
\ifpdftex % pdflatex begin
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cmap}
\fi % pdflatex end
\usepackage[warn]{mathtext}
\usepackage[english,russian]{babel}
\usepackage{misccorr}
\usepackage{amsmath}
\ifluatex % lualatex begin
\usepackage{unicode-math}
\usepackage[regular]{newcomputermodern}
\fi % lualatex end
\usepackage{indentfirst}
\usepackage{microtype}
\usepackage[unicode=true,colorlinks=true]{hyperref}
\usepackage{srcltx}
\usepackage{graphicx}
Ещё хороших пакетов в нагрузку:
% Расцветка исходников
\usepackage{minted}
\usepackage[svgnames]{xcolor}
% MetaPost из коробки для LuaTeX
\usepackage{luamplib}
Для справки базовый заголовок для pdflatex:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[warn]{mathtext}
\usepackage[T2A]{fontenc} % pdflatex
\usepackage[utf8]{inputenc} % pdflatex
\usepackage[english,russian]{babel}
\usepackage{indentfirst}
\usepackage{misccorr}
\usepackage{amsmath}
\usepackage{microtype}
\usepackage{cmap} % Чтобы можно было выделять и копировать кириллицу в pdf
\usepackage[unicode=true,colorlinks=true]{hyperref}
\usepackage{srcltx}
\usepackage{graphicx}
Вопрос: Почему LuaTeX, а не XeTeX?
Ответ: В ноябре 2024 года LuaTeX был рекомендован TeX-сообществу в качестве движка по умолчанию. Разработка XeTeX де факто заброшена в 2020 году.