Шрифтовое оформление: 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— логическое выделение, контекстно меняющее наклон.- Размеры относительные и меняются редко: оформление уже задано классом.