Шрифтовое оформление: bold, italic, emph

Урок про начертания: жирный, курсив, моноширинный и логическое выделение — и почему размеры меняют редко.

Логическое выделение (\emph) — это «выдели по смыслу», а не «сделай курсивом»: LaTeX сам подберёт способ выделения, корректный в данном контексте.

Начертания в LaTeX делятся на «физические» (поставь жирный) и «логические» (выдели важное). По возможности используют логические — это часть философии разделения смысла и оформления.

Основные команды

КомандаРезультат
\textbf{...}жирное (bold)
\textit{...}курсив (italic)
\texttt{...}моноширинный (как код)
\textsc{...}КАПИТЕЛЬ (small caps)
\underline{...}подчёркнутое
\emph{...}логическое выделение (обычно курсив)
Это \textbf{жирно}, это \textit{курсивом},
а это \texttt{код в строке}. И \emph{логическое} выделение.

Команды можно комбинировать вложением: \textbf{\textit{...}} даст жирный курсив.

Чем \emph умнее \textit

Команда \emph «переключает» наклон относительно окружения. Если текст прямой — \emph сделает курсив. Если вы уже внутри курсива и хотите выделить слово — \emph сделает его прямым, чтобы оно бросалось в глаза. \textit всегда тупо ставит курсив, даже если кругом уже курсив (и тогда выделение теряется). Поэтому для смыслового акцента берут \emph.

За различием «физического» и «логического» начертания стоит та же идея разделения содержания и оформления, что и во всём LaTeX. \textit говорит «нарисуй это курсивом» — решение об оформлении вшито прямо в текст. \emph говорит «здесь важное» — а как именно выделять важное, решается централизованно. Это окупается на большом документе: при желании можно один раз переопределить \emph (например, чтобы выделение шло не курсивом, а другим цветом или разрядкой) — и все акценты во всей книге сменят вид. С разбросанными по тексту \textit такой трюк невозможен, пришлось бы править каждое место вручную.

Есть и приятный технический бонус: \emph и парные команды \textit/\textsl автоматически вставляют так называемую italic correction — крошечный дополнительный пробел после наклонного фрагмента. Наклонные буквы «заваливаются» вправо и верхней частью заезжают на следующий прямой символ; без коррекции получилось бы слипание вроде «f)» с налезающей скобкой. Команды семейства \text.. ставят эту поправку сами, а вот устаревшие декларации {\it ...} и {\bf ...} — нет, поэтому современный совет однозначен: пользуйтесь именно \textbf, \textit, \emph, а не их древними аналогами.

Размеры шрифта

Размер задают декларациями, действующими до конца группы:

{\large крупнее} {\small мельче} {\Huge очень крупно}
Полный набор: \tiny \scriptsize \footnotesize \small
\normalsize \large \Large \LARGE \huge \Huge

Заметьте: размеры относительные (не «14pt», а «крупнее базового»), потому что базовый кегль задан опцией класса. Менять размер вручную в LaTeX приходится редко — заголовки, подписи и сноски уже имеют правильный размер от класса. Ручная подгонка кегля обычно признак того, что вы «рисуете» вместо того, чтобы доверить оформление документу.

Как работает под капотом

Под каждое начертание у шрифта есть отдельное семейство глифов: regular, bold, italic, monospace. Команды вроде \textbf переключают «текущий шрифт» на нужный вариант на время своего аргумента. \emph же читает текущее состояние наклона и переключает его на противоположное — именно поэтому он контекстно-зависимый. Декларации размера (\large и т.п.) меняют масштаб шрифта до конца текущей группы {...} или окружения.

Внутри LaTeX шрифт описывается не одним параметром, а набором независимых осей: семейство (\rmfamily с засечками, \sffamily рубленый, \ttfamily моноширинный), насыщенность (\mdseries обычная, \bfseries жирная) и начертание (\upshape прямое, \itshape курсив, \slshape наклонное, \scshape капитель). Эта система называется NFSS — New Font Selection Scheme. Команды \textbf и \textit — лишь удобные обёртки, дёргающие одну из осей. Сила схемы в ортогональности: оси комбинируются независимо, поэтому жирный рубленый курсив получается их сложением, если такой вариант есть в шрифте. Если же конкретного сочетания в шрифте нет, LaTeX выдаст предупреждение Font shape undefined и подставит ближайшее — например, вместо отсутствующего жирного капительного начертания возьмёт просто капитель.

Важная деталь про моноширинный текст. \texttt переключает на шрифт фиксированной ширины, но он не отключает спецсимволы — внутри него %, &, _ и \ по-прежнему требуют экранирования и срабатывают как команды. Поэтому показать кусок реального кода через \texttt неудобно и опасно. Для дословного кода используют \verb и окружение verbatim — они одновременно ставят моноширинный шрифт и отключают всю обработку спецсимволов, так что текст печатается ровно как набран. Путать «моноширинный шрифт» и «дословный режим» — частая концептуальная ошибка новичка.

Частые ошибки

  • Везде \textit вместо \emph — теряется выделение внутри курсива.
  • Ручная подгонка кегля заголовков вместо использования команд разделов.
  • Подчёркивание для акцента. В типографике это считается дурным тоном — лучше курсив.

Итоги

  • \textbf, \textit, \texttt — физические начертания; их можно вкладывать.
  • \emph — логическое выделение, контекстно меняющее наклон.
  • Размеры относительные и меняются редко: оформление уже задано классом.
Проверьте себя
1. Чем \emph лучше \textit для смыслового выделения?
AОн крупнее
BОн контекстный: внутри курсива делает слово прямым, сохраняя видимость выделения
CОн всегда делает жирным
DРазницы нет
2. Какая команда даёт моноширинный «кодовый» шрифт?
A\textbf
B\textsc
C\texttt
D\emph
3. Почему в LaTeX редко меняют размер шрифта вручную?
AЭто запрещено
BПравильные размеры заголовков, сносок и подписей уже заданы классом документа
CРазмер вообще нельзя поменять
DЭто замедляет компиляцию