Подробности о шрифтах
Каждый из доступных в LaTeX'е текстовых шрифтов характеризуется следующими четырьмя атрибутами: семейством (family), насыщенностью (series), начертанием (shape) и размером (size)1) Что такое размер, читатель разберется самостоятельно, а смысл остальных атрибутов следующий:
- семейство означает примерно (но не в точности) то же, что отечественный термин "гарнитура"; в стандартной поставке определены семейства rmfamily (шрифты с засечками), sffamily (шрифты без засечек) и ttfamily (шрифты типа "пишущая машинка");
- насыщенность определяет ширину и жирность шрифта. В стандартной поставке возможны насыщенности средняя (mdseries) и полужирная (bfseries);
- начертание бывает прямое (upshape), курсивное (itshape), наклонное (slshape) и " капитель"(scshape).
Семейство, насыщенность, начертание и размер шрифта могут различным образом сочетаться. Это предложение, например, набрано шрифтом семейства "без засечек" (sffamily), полужирной насыщенности (bfseries), прямого начертания (upshape) и размера \large.
Каждый из шрифтовых атрибутов можно менять независимо от остальных. Разберем, какие команды для этого предусмотрены.
Все команды для изменения размера вам уже известны: это десять команд, от \tiny до \Huge, перечисленных в предыдущем разделе. Каждая из команд для изменения остальных атрибутов существует в LaTeX'е в двух вариантах:
- в виде команды без аргументов, меняющей атрибут текущего шрифта вплоть до того момента, пока он не будет изменен другой командой (или пока не закончится группа, если атрибут менялся внутри группы);
- в виде команды с одним аргументом (помещаемым, как водится, в фигурные скобки), меняющей атрибут шрифта только у своего аргумента (т.е. у текста в фигурных скобках) — некоторые из этих команд (\textit, \upshape и т.д.) уже нам знакомы.
Имя команды без аргумента совпадает с английским названием соответствующего атрибута (например, \sffamily или \scshape); имя команды с аргументом состоит из слова \texttt{text}, к которому добавлены две буквы, описывающие атрибут (например, \textsf или \textsc).
Ниже перечислены все команды для смены атрибутов в обоих вариантах.
Обратите внимание, что в трех строках этой таблицы шрифт совпадает с основным шрифтом текста: это строки, в которых стоят команды, устанавливающие семейство "с засечками", среднюю насыщенность или прямое начертание. Поскольку текущий шрифт и так обладает этими атрибутами, от соответствующей команды он не меняется.
Вот пример применения этих команд:
| Сменим сначала \slshape начертание, затем \ttfamily семейство, затем \small размер, затем \bfseries насыщенность, затем \upshape\mdseries \rmfamily\normalsize все вернем на место. |
А вот пример, когда для смены атрибутов шрифта используются команды с аргументом:
| Выберем \textbf{полужирный шрифт в \textit{курсивном} начертании} (временно, конечно же). |
После многочисленных изменений атрибутов шрифта хочется вернуться к обычному шрифту "одним махом", не устанавливая заново все четыре атрибута. Для этих целей предусмотрена команда \normalfont, переключающая шрифт на " нормальный" — основной шрифт документа. Наряду с ней есть, как водится, и команда с одним аргументом \textnormal, печатающая текст, являющийся ее аргументом, основным шрифтом.
В стандартных TeX'овских шрифтах (гарнитура Computer modern и ее русские аналоги) жирный шрифт, задаваемый командами \bfseries, \textbf и т.п., выглядит, по мнению многих, довольно неудачно.
Можно сделать его несколько более приемлемым, если написать в преамбуле такую строку:\renewcommand{bfdefault}{b}.
Если по какой-либо причине вы используете команды изменения атрибутов без аргумента, следует иметь в виду одну тонкость. При соседстве слова, набранного шрифтом с наклоном (курсивным в частности) и слова, набранного прямым шрифтом, последняя буква " наклонного" и первая буква "прямого" слова могут слишком сблизиться, что на печати выглядит некрасиво. Чтобы избежать этого явления, необходимо после последней буквы слова, которое будет набрано наклонным шрифтом, поставить команду \/ ; она создаст после буквы небольшой дополнительный пробел (зависящий от шрифта и от буквы), который скомпенсирует наклон и предотвратит нежелательное сближение со следующей буквой:
| You {\itshape and} I\\ You {\itshape and \/} I |
Если фрагмент текста, имеющий наклон, завершается точкой или запятой, то после них ставить \/ не нужно: требуемый эффект достигается за счет места, занимаемого в тексте этим знаком.
Всё это, повторим, относится лишь к командам изменения атрибутов без аргумента; команды \textit, \textsl и \emph вносят нужную поправку автоматически.
Если команда \/ поставлена между двумя символами, дающими на печати лигатуру, то вместо лигатуры на печати получатся два этих символа по отдельности; если эту команду поставить в слове между двумя символами, между которыми в текущем шрифте предусмотрен кернинг, то кернинг между этими символами будет отключен.