Как использовать шрифты LaTeX в тексте

Когда вы пишете документ LaTeX, теги разметки, используемые для структурирования документа, автоматически выбирают подходящие шрифты. Например, для заголовка раздела такие атрибуты шрифта, как большой размер и жирность, определяются классом документа и применяются при использовании команды \section. Поэтому вам редко придется указывать атрибуты шрифта напрямую.

Но иногда это необходимо. Например, вы можете выбрать другое семейство шрифтов (или другой общий атрибут шрифта) для основного текста. Такое изменение зачастую можно выполнить просто, указав соответствующий пакет.

Другой случай — когда вы хотите пометить определенные фрагменты документа как особые — например, для обозначения аббревиатур, примеров или названий компаний. Если вы решите использовать, скажем, шрифт без засечек для этих фрагментов, вы можете сделать это, окружив названия компаний \textsf{...}. Но лучше всего определить для этой цели новую команду (скажем, \Company). Определение отдельных команд для логически разных вещей упрощает последующее последовательное изменение форматирования.

Вы также можете набрать таблицу меньшего размера, чтобы она поместилась на странице. Поскольку классы документов могут форматировать документы автоматически только в определенной степени, это желание вполне законно. Отсюда следует, что для создания окончательной версии часто необходимо форматирование вручную, например вставка разрывов страниц. К сожалению, явное форматирование затрудняет дальнейшее использование документа и повышает вероятность ошибок. Поэтому прямое использование команд изменения шрифта в документе должно быть сведено к минимуму. Это также верно для всех команд визуального форматирования.

3.1. Как использовать команды шрифтов в стандартном LaTeX

Шрифт, используемый для основного текста документа, называется основным шрифтом, основным шрифтом или обычным шрифтом. Он автоматически выбирается в начале документа и в некоторых конструкциях, например в сносках и рисунках. Заголовки разделов и другие теги логической разметки автоматически переключаются на другой шрифт или размер в зависимости от класса документа. Поэтому введение правильной логической разметки — единственное действие, которое требуется от автора. Однако иногда может оказаться желательным вручную выделить определенные части текста, выбрав подходящий шрифт. Это делается с помощью команд, обсуждаемых ниже.

Существует две формы большинства команд изменения шрифта: команда с одним аргументом, например \textbf{...}, и объявление, например \bfseries. Декларативная форма не принимает аргументов, а скорее указывает LaTeX, что с этого момента (до конца текущей группы фигурных скобок или окружения) он должен вести себя особым образом. Это означает, что вам не следует писать что-то вроде \bfseries{...}, потому что это сделает все жирным шрифтом с этой точки до конца текущей среды.

Лучше использовать команды шрифтов с одним аргументом, чтобы изменить шрифты отдельных слов или коротких фраз в документе. Для более длинных фрагментов следует использовать форму объявления среды, как показано в примере ниже:

1Some words in this sentence are \begin{bfseries}typeset in bold letters.
2The bold typeface\end{bfseries} continues here. 

Форма окружения \bfseries

Сами по себе декларативные формы зачастую лучше подходят для определения новых сред или команд.

It is also important that the font commands with one argument do not allow paragraph breaks in their arguments.

Основной шрифт документа

Используя команду \textnormal или объявление \normalfont, вы можете переключиться на основной шрифт документа. Обычно они встречаются только в определениях команд или сред, когда важно определить способ всегда печатать одним и тем же шрифтом независимо от окружающих условий. Например, команда для набора имен команд LaTeX будет выглядеть следующим образом:

1\newcommand\Lcs[1]{{\normalfont\ttfamily\textbackslash#1}%}

Использование \normalfont предотвращает выделение имен команд курсивом даже в тексте, набранном курсивом.

Стандартные семейства шрифтов

По умолчанию LaTeX поддерживает три семейства шрифтов: текстовый шрифт с засечками, доступ к которому осуществляется с помощью команды \textrm; текстовый шрифт без засечек, доступный через \textsf; и шрифт пишущей машинки (моноширинный), доступ к которому осуществляется через \texttt. Формы объявления этих команд: \rmfamily, \sffamily и \ttfamily соответственно.

Точные имена семейств внешних шрифтов, к которым обращаются эти команды, зависят от класса документа, но могут быть изменены в преамбуле или пакетах. По умолчанию при установке используется семейство шрифтов с засечками — Computer Modern Roman, семейство шрифтов без засечек — Computer Modern Sans, а семейство пишущих машинок — Computer Modern Typewriter. Если вы используете другую настройку, вам следует позаботиться о том, чтобы определить эти семейства шрифтов по умолчанию, чтобы шрифты можно было смешивать без визуальных конфликтов. Также важно убедиться, что внешние шрифты доступны в правильном разрешении для целевого устройства вывода.

Большинство классов документов устанавливают шрифт с засечками, доступный через \textrm, в качестве основного шрифта документа, поэтому команда \textrm используется не часто. Но если дизайнер документа выбрал шрифт без засечек в качестве основного шрифта, альтернативным семейством шрифтов с засечками будет \textrm.

Стандартная серия шрифтов

В LaTeX серия представляет собой комбинацию двух атрибутов: ширины и веса (жирного шрифта). LaTeX позволяет менять серию двумя командами: \textmd и \textbf. Соответствующие объявления — \mdseries и \bfseries соответственно. Первая команда выбирает шрифт со средними значениями ширины и толщины, а вторая переключается на более жирную серию. Опять же, фактические значения зависят от класса документа и его параметров или последующих пакетов. В настройках по умолчанию \textbf переключается на жирную расширенную версию текущей гарнитуры, а \textmd возвращается к версии текущей гарнитуры средней ширины и средней толщины.

Стандартные формы шрифтов

Форма текущей гарнитуры — это третий атрибут шрифта, который можно изменить независимо от других. Форма по умолчанию для большинства документов — вертикальная, доступ к которой можно получить с помощью команды \textup или объявления \upshape, если необходимо.

Наиболее часто используемые команды — это \textit и \textsc, которые переключают шрифт на курсив или маленькие прописные соответственно. Соответствующие объявления — \itshape и \scshape.

Команда \textsl (форма объявления — \slshape) переключается на наклонную форму. Семейство шрифтов часто содержит только курсив или наклонную форму, хотя Computer Modern Roman содержит и то, и другое.

В момент переключения с наклонного на вертикальное символы обычно подходят слишком близко друг к другу, особенно если у последнего наклоненного символа есть выносной элемент. Необходимое количество дополнительного пространства, которое следует добавить на этой границе, называется курсивным исправлением. Точная ширина этого пространства зависит от отдельного символа и хранится в файле .tfm. Команды шрифтов с аргументами автоматически добавляют исправление курсива, но когда используются объявления, его необходимо вставить вручную, используя \/. Для вертикального шрифта курсивная коррекция символов обычно равна нулю или очень мала, хотя есть и некоторые исключения. В следующем примере показано, как правильно использовать объявления изменения формы, которые переключаются на наклонные фигуры.

1\raggedright
2When switching back from {\itshape italic\/} or {\slshape slanted\/} shapes to an upright font one
3should add the {\itshape italic correction}, except when a small punctuation character follows.

Исправление курсивом Маленькие прописные буквы иногда используются в заголовках или для форматирования имен. В последнем случае вы можете, например, определить команду \name следующим образом:

1\newcommand\name[1]{\textsc{#1}}

Альтернативно вы можете использовать два объявления:

1\newcommand\name[1]{{\normalfont\scshape #1}}

Первая команда просто переключается на форму маленьких прописных букв, а вторая форма изначально сбрасывает все атрибуты шрифта до значений по умолчанию. Какой вариант выбрать, зависит от доступных шрифтов и типа документа. В Computer Modern только семейства Roman и Typewriter содержат формы маленьких прописных букв, поэтому в некоторых приложениях может быть предпочтительнее второе определение, поскольку оно будет использовать маленькие прописные буквы (хотя и с засечками) даже в контексте \sffamily. Первая команда запросила бы средний шрифт с маленькими прописными буквами из семейства Computer Modern Sans. Этот шрифт недоступен, поэтому LaTeX попытается найти замену, сначала изменив атрибут формы на значение по умолчанию. В результате вы не получите маленьких капителей.

Другая специальная команда формы LaTeX — это команда \emph, которая выделяет фрагменты обычного текста. Его декларативная форма — \em. По традиции выделенные слова в тексте выделяются курсивом; но если требуется подчеркнуть уже выделенный курсивом фрагмент текста, обычно снова переключаются на вертикальный шрифт. Команда \emph поддерживает это соглашение, переключаясь на форму \itshape, если текущий шрифт вертикальный, и на форму \upshape, если текущий шрифт уже наклонен (т. е. если форма \itshape или \slshape ). Таким образом, пользователю не нужно беспокоиться о текущем состоянии текста при использовании команды \emph или объявления \em.

1{\em Nevertheless, one has to be careful about the\/ {\em proper\/} use of italic corrections
2on both ends of the emphasized text}. It is therefore better to use the \verb=\emph= command,
3which \emph{automatically} takes care of the italic correction on both sides.

Выделение фрагментов текста

Стандартные размеры шрифта

В LaTeX есть 10 команд изменения размера. Эти команды не имеют соответствующих форм команд с одним аргументом, поскольку изменение размера шрифта обычно используется только в определениях команд.

Стандартные размеры шрифта

Размер, выбранный этими командами, зависит от настроек класса документа и, возможно, от параметров (например, 11pt), указанных в нем. В общем, \normalsize соответствует основному размеру документа, а команды изменения размера образуют упорядоченную последовательность, начиная с \tiny как наименьшего размера и заканчивая \Huge как самого большого размера. Может случиться так, что к одному и тому же размеру относится более одной команды. Например, если выбран большой размер \normalsize, \Huge может быть таким же, как \huge. Но орден всегда чтится.

Команды изменения размера основных размеров текста (т. е. \normalsize, \small и \footnotesize) обычно влияют на расстояние вокруг списков и дисплеев. Поэтому, чтобы изменить их поведение, не следует просто заменять их определение вызовом \fontsize, а вместо этого начинать с их исходного определения, как описано в classes.dtx.

3.2. Как объединить стандартные команды шрифтов

Как уже было показано, стандартные команды и объявления изменения шрифта можно комбинировать, что приводит к выбору гарнитуры, соответствующей комбинации атрибутов шрифта. См. пример ниже:

1One can typeset a text {\sffamily\bfseries\large in a large sans serif
2bold typeface} but note the unchanged leading! \LaTeX{} uses the value
3in force at the \emph{end} of the paragraph!

Комбинации команд шрифтов LaTeX Внутренне команда \sffamily переключается на семейство по умолчанию без засечек, затем \bfseries переключается на полужирный ряд по умолчанию в этом семействе и, наконец, \large выбирает большой размер, но оставляет все остальные атрибуты неизменными. Интерлиньяж кажется неизменным, поскольку область действия \large заканчивается до конца абзаца. Файлы метрик шрифтов загружаются для всех промежуточных шрифтов, даже если эти шрифты никогда не используются. В приведенном выше примере это будет «без засечек средний 10pt» после \sffamily, затем «без засечек жирный расширенный 10pt» после \bfseries и, наконец, «без засечек жирный расширенный 14pt», что шрифт, который фактически используется. Следовательно, такие команды высокого уровня могут привести к тому, что при выборе шрифта LaTeX будет без необходимости загружать шрифты, которые никогда не используются. При первом использовании данной комбинации происходит лишь небольшая потеря скорости обработки. Но если у вас много разных комбинаций этого типа, вам лучше рассмотреть возможность определения их в терминах примитивных объявлений изменения шрифта.

3.3. Сравнение команд и объявлений шрифтов

Все команды изменения шрифта с аргументами начинаются с \text... (кроме \emph), чтобы подчеркнуть, что они предназначены для использования в обычном тексте. Использование таких команд вместо декларативных форм имеет то преимущество, что обеспечивает согласованность с другими конструкциями LaTeX. Они предназначены для набора коротких фрагментов текста в определенном семействе, серии или форме. В следующей таблице показан эффект этих команд.

Команды и объявления

Еще одним преимуществом этих команд является то, что они автоматически вставляют любое необходимое курсивное исправление по обе стороны от своего аргумента. Таким образом, вам не придется беспокоиться о пропущенных исправлениях курсива при смене шрифтов.

Автоматически вставленное курсивное исправление неверно в очень немногих ситуациях. Обычно рекомендуется опустить исправление курсива, если непосредственно за изменением шрифта следует небольшой знак препинания (запятая или точка). Вы можете определить, в каких случаях исправление курсива должно быть подавлено. Это делается путем указания символов, которые должны отменить предыдущее исправление курсива, в списке \nocorrlist. Определение по умолчанию для этой команды:

1\newcommand{\nocorrlist}{,.}

Также в отдельных случаях можно отключить исправление курсива. Для этой цели предусмотрена команда \nocorr. Обратите внимание, что вам нужно поместить \nocorr слева или справа внутри аргумента команды \text..., в зависимости от того, какая сторона фрагмента требует подавления исправления курсива.

1\emph{When using the \LaTeX{} high-level font commands, the \emph{proper} use of
2italic corrections is automatically taken care of}. Only \emph{sometimes} one has
3to help \LaTeX{} by adding a \verb=\nocorr= command.

Исправление курсивом

Напротив, формы объявлений часто больше подходят для определения ваших собственных команд или сред.

1% Part of the preamble
2\newenvironment{bfitemize}{\begin{itemize}%
3  \normalfont\bfseries\raggedright}{\end{itemize}}
4-----------------------------------------------
5\begin{bfitemize}
6\item This environment produces boldface items.
7\item It is defined in terms of \LaTeX's
8\texttt{itemize} environment and NFSS declarations.
9\end{bfitemize}

Список, выделенный жирным шрифтом

3.4. Как получить доступ ко всем символам шрифта

Даже если символ существует в шрифте, иногда его невозможно ввести с клавиатуры. Многие полезные символы доступны с помощью таких команд, как \ss или \AE. Некоторые символы могут быть неявно сгенерированы из последовательностей букв, таких как ffi, создающий лигатуру “ffi”, и ---, создающий длинное тире в стандартных шрифтах TeX.

Кроме того, команда \symbol позволяет вам получить доступ к любому символу в шрифте, задав его номер в текущей схеме кодировки в виде десятичного, восьмеричного (перед ним ') или шестнадцатеричного (перед ним ") числа. .

1\fontencoding{T1}\selectfont
2-----------------------------------------------
3In the font encoding (\texttt{T1}), characters like \symbol{"DE},
4symbol{'237}, and \symbol{32} are included and can be accessed with
5the \verb=\symbol= command.

Команда \symbol

3.5. Как изменить шрифты текста по умолчанию

Если вы хотите легко изменить общий вид документа, вы можете использовать встроенные перехватчики LaTeX, которые изменяют поведение высокоуровневых команд изменения шрифта, обсуждавшихся ранее. Значения этих перехватчиков можно установить в файлах пакета или в преамбуле документа с помощью \renewcommand. Вот список крючков:

Хуки для изменения шрифта высокого уровня Например, если вы в преамбуле напишете

1\renewcommand\familydefault{cmss}

весь документ будет создан в формате Computer Modern Sans, потому что это переопределение меняет семейство шрифтов для основного шрифта, используемого LaTeX. Более подробно, основной шрифт документа определяется значениями \encodingdefault, \familydefault, \seriesdefault и \shapedefault. Это означает, что вы должны убедиться, что эти команды определены таким образом, что их комбинация указывает на существующую форму шрифта во внутренних таблицах LaTeX.

Значение по умолчанию \encodingdefault (OT1) фактически обеспечивает совместимость. Это означает, что LaTeX предполагает, что большинство шрифтов используют исходную кодировку. В большинстве случаев лучше использовать кодировку «T1», поскольку она содержит множество дополнительных глифов, недоступных в «OT1», и позволяет правильно расставлять переносы в словах с диакритическими знаками. В настоящее время некоторые шрифты вообще не поддерживают OT1, поскольку они предназначены для использования с T1.

Важно помнить, что не каждый шрифт можно использовать в качестве кодировки документа по умолчанию. Обязательным условием является то, что кодировка должна включать большинство видимых букв ASCII в их стандартные позиции. \encodingdefault можно изменить, загрузив пакет fontenc с одним или несколькими параметрами.

Начальная настройка \familydefault означает, что изменение \rmdefault неявно изменит \familydefault на новое значение, если для \familydefault не определен специальный параметр. Но если \familydefault изменен, \rmdefault не затрагивается.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.