Перейти к содержанию

fontenc, inputenc, fontspec и пакеты шрифтов

inputenc и fontenc не нужны и принимаются без эффекта, поскольку исходный код всегда читается как UTF-8. В обычных документах шрифты зафиксированы как Latin Modern и New Computer Modern Math: \setmainfont из fontspec и пакеты вроде times или libertine игнорируются, и работает только переключение на рубленый шрифт через \familydefault (при желании с helvet).

Что делают пакеты

  • inputenc сообщает pdfLaTeX, в какой кодировке записан исходный файл. \usepackage[utf8]{inputenc} был нужен для набранных диакритических знаков до 2018 года; современный LaTeX читает UTF-8 по умолчанию.
  • fontenc выбирает кодировку шрифта. \usepackage[T1]{fontenc} даёт pdfLaTeX шрифты со встроенными буквами с диакритикой, что улучшает переносы и копирование текста из PDF.
  • fontspec (XeLaTeX и LuaLaTeX) загружает любой установленный шрифт OpenType: \setmainfont{...}, \setsansfont{...}, \setmonofont{...}, \newfontfamily.
  • Пакеты шрифтов, такие как lmodern, times, mathptmx, helvet, libertine или newtxtext, переключают документы pdfLaTeX на другую гарнитуру.

Что здесь работает

ВозможностьВ Scissor LaTeXПримечания
Исходник в UTF-8 с ä, é, ł, греческим, кириллицей, CJK ...РаботаетВсегда, с inputenc или без него.
\usepackage[utf8]{inputenc}, \usepackage[T1]{fontenc}, lmodernПропускаетсяПринимаются; делать ничего не нужно.
\renewcommand{\familydefault}{\sfdefault}РаботаетОсновной текст шрифтом Latin Modern Sans.
helvet или tgheros вместе со строкой вышеРаботаетРубленый шрифт TeX Gyre Heros, похожий на Helvetica.
sfmathРаботаетФормулы рубленым шрифтом.
\texttt{...}, \ttfamilyРаботаетLatin Modern Mono.
\textbf, \textit, \emphРаботает
\textsc{...}ЧастичноВ шрифте Latin Modern по умолчанию обычные буквы. С helvet и в макетах конференций (кроме LNCS, где используется Latin Modern) настоящие капители.
\textsf{...}, \sffamily внутри текстаПропускаетсяТекст остаётся с засечками.
fontspec: \setmainfont, \setsansfont, \setmonofontПропускаетсяПринимаются в преамбуле, но ни на что не влияют.
\newfontfamily\name{Font}Не поддерживаетсяПропускается с сообщением, а имя шрифта выводится.
times, mathptmx, palatino, libertine, newtxtext, charter ...ПропускаетсяТекст остаётся шрифтом Latin Modern.
\fontsize{14}{16}\selectfontРаботаетБлижайший из обычных размеров от 5 до 144 pt; межстрочный интервал следует за размером.
\fontfamily{...}\selectfontПропускаетсяБез сообщения; текст сохраняет свой шрифт.
\small, \large, \Huge ...РаботаетКроме макетов конференций и журналов, которые сохраняют собственные размеры.
unicode-math: \setmathfontПропускаетсяМатематический шрифт остаётся New Computer Modern Math.
unicode-math: \symbf, \symit в формулеНе поддерживаетсяФормула отображается красным. Используйте \mathbf, \boldsymbol или bm.

Размер основного шрифта задаётся параметром класса (10pt, 11pt или 12pt); см. Макет страницы.

Примеры

Строки преамбулы, с которых начинаются многие документы, принимаются и ничего не меняют; набранные диакритические знаки работают в любом случае:

inputenc, fontenc и lmodern принимаются

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hans Mustermann bestellt Crème brûlée, Smørrebrød und Pierogi z
kapustą. \texttt{Monospaced}, \textbf{bold} and \textit{italic}
work as usual.
\end{document}
Свёрстано в Scissor LaTeX: inputenc, fontenc и lmodern принимаются

fontspec загружается без ошибок, но текст остаётся шрифтом Latin Modern:

\setmainfont ни на что не влияет

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
This paragraph would be set in Pagella by XeLaTeX or LuaLaTeX.
Here it stays in Latin Modern, the default font.
\end{document}
Свёрстано в Scissor LaTeX: \setmainfont ни на что не влияет

Единственное переключение шрифта, которое работает: весь документ рубленым шрифтом.

Рубленый шрифт с \familydefault и sfmath

\documentclass{article}
\usepackage{helvet}
\usepackage{sfmath}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
\section{Results}
John Doe measured $v = 44\,\mathrm{m/s}$, which matches the
estimate $v \approx \sqrt{2 g h}$.
\end{document}

Совместимость

  • Из установленного TeX сюда: текст и формулы сохраняются, шрифтом Latin Modern. Шрифты, заданные через fontspec или пакеты шрифтов, не используются, а документы, написанные для XeLaTeX, верстаются без изменений.
  • Отсюда в установленный TeX: документы компилируются с pdfLaTeX, XeLaTeX или LuaLaTeX, как требуют их пакеты, и выбранные шрифты тогда начинают действовать.

Полные руководства есть на CTAN: fontspec, fontenc, inputenc и unicode-math. См. также Другие языки и шрифты.

Вопросы и ответы

Нужен ли \usepackage[utf8]{inputenc}?

Здесь нет: исходный код всегда читается как UTF-8. Строка не вредит, а старым установкам TeX она всё ещё нужна.

Как использовать Times New Roman или Arial?

В обычном документе никак. Шрифт текста Latin Modern; единственное переключение на рубленый шрифт делается через \renewcommand{\familydefault}{\sfdefault}, что вместе с \usepackage{helvet} даёт TeX Gyre Heros, похожий на Helvetica. Шаблоны конференций приносят собственные шрифты: TeX Gyre Termes (похожий на Times) для большинства из них и Libertinus для ACM.

Работает ли fontspec в Scissor LaTeX?

Он загружается без ошибок, поэтому документы XeLaTeX открываются и верстаются, но \setmainfont и другие настройки шрифтов игнорируются.

Каждый пример на этой странице верстается в Scissor LaTeX при сборке сайта. Обновлено 2026-11-07.