КомпьюАрт

12 - 2010

Про шрифты с продолжением. Часть 9

Николай Дубина info@prodtp.ru

Шрифты для формул

Переключение шрифтов для формул имеет серьезные отличия от того, как это делается в обычном тексте. Выбор некоторых математических шрифтов осуществляется явно при помощи команд вида “\mathsf{... }”, “\mathbf{... }”
и т.д. с одним аргументом. Такие команды называются математическими алфавитами. Другие шрифты неявно выбираются компилятором при обработке команд, печатающих математические символы, такие как “\oplus”. Подобные шрифты называются символьными.

Математические алфавиты

Стандартные классы содержат определения следующих математических алфавитов:

\mathrm{math}

\mathbf{math}

\mathsf{math}

\mathit{math}

\mathtt{math}

\mathcal{math}

\mathnormal{math}

Набор математических алфавитов дополняется различными пакетами. Например, пакет amsfonts вводит алфавиты “\mathfrak” и “\mathbb” для печати готических и контурных букв соответственно.

Перед использованием русских букв в математических формулах необходимо загрузить пакет mathtext из коллекции T2, причем сделать это нужно до загрузки пакетов, изменяющих внутреннюю кодировку, таких как fontenc или babel.

Символьные шрифты

Непосредственно в математической формуле LATЕX использует так называемые символьные шрифты с кодировками OML, OMS и OMX. Часть символов, которые имеют прямое начертание, заимствуется из текстовых шрифтов, так что всего существует четыре типа символьных шрифтов (табл. 1). Символьные шрифты имеют те же пять атрибутов (кодировка (ENC), гарнитура (family), насыщенность (series), начертание (shape) и размер (size)), что и текстовые. Однако для математических формул нет команд, которые бы переключали только один атрибут, поскольку формула — это единое целое.

Таблица 1. Символьные шрифты

Название

Кодировка

Примечание

operators

OT1

Прямые символы из \mathrm

letters

OML

Курсивные символы из \mathnormal

symbols

OMS

Математические символы

largesymbols

OMX

Большие символы

Соответствие алфавита шрифту с заданным перечнем атрибутов контролирует математическая версия. Версию изменяет декларация “\mathversion{version­name }”, где version­name — название версии. Ее можно менять только вне математической формулы. Стандартные классы предопределяют две версии — normal и bold; первая из них используется по умолчанию.

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

Внешний шрифт

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

Что же произойдет, если шрифт с запрошенным набором атрибутов отсутствует? Система NFSS предпримет попытку разрешить возникшую проблему, руководствуясь информацией, записанной в файлах определения шрифтов (font definition) с расширением *.fd. Название файла образуется объединением аббревиатур кодировки ENC и гарнитуры family. Например, если заказана гарнитура cmr (Computer Modern Roman) в кодировке T2A, то компилятор попытается найти файл t2acmr.fd. Несколько примеров соответствия атрибутов внешнему шрифту приведены в табл. 2. Если комбинация кодировки, семейства, насыщенности и начертания не определена, то NFSS меняет значение атрибута начертания на принятое по умолчанию. Если получившаяся комбинация по­прежнему неизвестна, значение по умолчанию присваивается атрибуту насыщенности (series). Если это не помогает, то предпринимается попытка изменить атрибут (family).

Таблица 2. Соответствие атрибутов внешнему шрифту

Атрибуты шрифта

Внешний шрифт и его название

OT1 cmr m n 10pt

cmr10 at 10pt

CM Roman

OT1 cmss m sl 12pt

cmssi12 at 12pt

CM Sans Slanted

OML cmm m it 10pt

cmmi10 at 10pt

CM Math Italic

T1 ptm b it 18pt

ptmbi8t at 18pt

Adobe Times Bold Italic

T2A cmr m n 10pt

lhr10 at 10pt

LH Roman

T2A cmss m sl 12pt

lhssi12 at 12pt

LH Sans Slanted

Пакеты PSNFSS

Казалось бы, кому интересна информация о пакетах, не поддерживающих кириллицу? Однако нельзя не упомянуть о некоммерческих шрифтах, поддерживаемых пакетами PSNFSS, тем более что здесь есть замечательные шрифты семейств Palatino и Times для математических формул.

Чтобы изменить шрифт, пользователь выбирает один из основных пакетов avant, bookman, charter, chancery, helvet и т.д. Они заменяют одну или сразу несколько гарнитур, используемых по умолчанию. В табл. 3 показано, какую замену производит каждый пакет из коллекции PSNFSS. Два из них — mathpazo и mathptmx — подменяют шрифты не только в тексте, но и в математических формулах. Соответствие аббревиатур названиям реальных шрифтов приведено в табл. 4. Все перечисленные в этой таблице гарнитуры есть в кодировках OT1, T1 и TS1. Исключение составляют две последние гарнитуры — Symbol и ZapfDingbats, которые имеются только в кодировке U.

Таблица 3. Гарнитуры, используемые пакетами PSNFSS версии 9.0

Пакет

\rmdefault

\sfdefault

\ttdefault

Формулы

cmr

cmss

cmtt

CM Roman

avant

pag

bookman

pbk

pag

pcr

chancery

pzc

charter

bch

courier

pcr

helvet

phv

mathpazo

ppl

Palatino

mathptmx

ptm

Times

newcent

pnc

pag

pcr

pifont

utopia

put

Примечание. Пропуск означает, что гарнитура не изменяется пакетом.

Таблица 4. Шрифты, поддерживаемые пакетами PSNFSS версии 9.0

ENC

Family

Series

Shape

Гарнитура

OT1 T1 TS1

ptm

mb

n sl it sc

Times

OT1 T1 TS1

ppl

mb

n sl it sc

Palatino

OT1 T1 TS1

pnc

mb

n sl it sc

NewCenturySchlbk

OT1 T1 TS1

pbk

mb

n sl it sc

Bookman

OT1 T1 TS1

phv

m b mc bc

n sl sc

Helvetica

OT1 T1 TS1

pag

mb

n sl sc

AvantGarde

OT1 T1 TS1

pcr

mb

n sl sc

Courier

OT1 T1 TS1

pzc

m

It

ZapfChancery

OT1 T1 TS1

put

mb

n sl it sc

Utopia

OT1 T1 TS1

bch

mb

n sl it sc

CharterBT

U

psy

m

n

Symbol

U

pzd

m

n

ZapfDingbats

Для документов на русском языке пакеты PSNFSS не подходят, поскольку в них нет русских букв. Но, как указывалось выше, эти пакеты полезны для набора формул.

Пакеты FontsC

Существует несколько пакетов, которые позволяют подключать русские шрифты PostScript. Наиболее известным из них является пакет pscyr. Теоретически он может приводить к конфликтам с другими пакетами, поскольку использует обозначения гарнитур, противоречащие схеме, принятой в системе LATЕX. Альтернативой может быть коллекция пакетов FontsC. Эти пакеты, наряду с поддержкой PostScript­шрифтов, позволяют применять в документах LATЕX шрифты TrueType и OpenType, поставляемые корпорацией Microsoft (частично по лицензии Monotype) в составе операционных систем Windows, начиная с Windows 2000 (гарнитуры Arial, Courier New и Times New Roman поставляются также с Windows 95 и 98, а гарнитура Garamond — с Windows 98). PostScript­шрифты, поддерживаемые пакетами коллекции FontsC, разработаны фирмой РагаТуре. Некоторые из них распространяются бесплатно. Все пакеты FontsC перечислены в табл. 5, а в табл. 6 приведены образцы и названия шрифтов. Определить шрифты PostScript в табл. 5 можно по принадлежности к фирме­производителю. Обозначение гарнитур PostScript­шрифтов, разработанных компанией РагаТуре, начинается с буквы «t», а аббревиатуры гарнитур шрифтов TrueType и OpenType компаний Microsoft и Monotype начинаются с букв «j» и «m» соответственно.

В большей части приложений для подключения перечисленных шрифтов достаточно загрузить один­два пакета из коллекции FontsC. Эти пакеты подменяют стандартные шрифты Computer Modern, используемые в документах LATЕX по умолчанию. Подмена шрифтов производится посредством переопределения деклараций
“\rmdefault”, “\sfdefault” и “\ttdefault” согласно табл. 5.

Таблица 5. Шрифты, поддерживаемые пакетами FontsC версии 1.1

Пакет

\rmdefault

\sfdefault

\ttdefault

Формулы

cmr

cmss

cmtt

CM Roman

AcademyC

tdy

AvantC

tag

BalticaC

tl5

BaskerC

tnb

ChanceryC

tzc

LiteraturnayaC

tl6

mathmnt

Times New Roman

OffSerifC

to8

PetersburgC

tp7

SclBookC

tcs

tag

to8

StScriptC

tud

GaramondC

mgm

ma1

mcr

TimesC

mnt

ma1

mcr

Times New Roman

VerdanaC

jvn

Примечание. Пропуск означает, что гарнитура не изменяется пакетом.

Таблица 6. Шрифты, поддерживаемые пакетами FontsC версии 1.1

ENC

family

series

shape

Гарнитура

OT1 T1 T2A

jvn

m bx

n sl

Verdana

OT1 T1 T2A

ma1

m bx mc bc

n sl sc

Arial

OT1 T1 T2A

maq

m bx mc bc

n sl sc

Book Antiqua

OT1 T1 T2A

mbk

m bx

n sl sc

Bookman Old Style

OT1 T1 T2A

mcr

m bx

n sl sc

Courier New

OT1 T1 T2A

mgm

m bx

n it sl sc

Garamond

OT1 T1 T2A

mnt

m bx

n it sl sc ui

Times New Roman

OT1 T1 T2A

myg

m bx

n sl sc

Century Gothic

OT1 T1 T2A

tag

m bx

n sl sc

Avant Garde Gothic

OT1 T1 T2A

tcs

m bx

n it sl sc ui

School Book

OT1 T1 T2A

tdy

m bx

n it sl sc ui

Academy

OT1 T1 T2A

tl5

m bx

n it sl sc ui

Baltica

OT1 T1 T2A

tl6

m bx

n it sl sc ui

Literaturnaya

OT1 T1 T2A

tnb

m bx

n it sl sc ui

New Baskerville

OT1 T1 T2A

to8

m bx

n sl sc

Officina Serif

OT1 T1 T2A

tp7

m bx

n it sl sc ui

Peterburg

OT1 T1 T2A

tud

m

it

Studio Script

OT1 T1 T2A

tzc

m

it

ZapfChancery

Пакет mathmnt заменяет шрифты в формулах. Пакет TimesC имеет две опции: nomath и math. По умолчанию применяется первая, а шрифты заменяются только в тексте. Если же пакет загружен с опцией math, происходит также частичная подмена математических шрифтов аналогично тому, как это делает пакет mathmnt.

При загрузке пакетов происходит подмена шрифтов во всем печатном документе.

Послесловие

Напоследок хотелось бы прояснить неоднозначный момент. Русификаций LATЕX написано много, но надо различать интернационализацию и русификацию, что не совсем одно и то же.

Русификация, основанная на результатах работы T2 team и подразумевающая использование пакетов inputenc, babel, и fontenc, — это интернационализация, а не русификация.

Пакет T2 незаменим, когда надо набирать смешанные многоязычные тексты, ведь он поддерживает стандарт utf­8. Но тут есть подвох: кириллические буквы нельзя использовать в именах команд, метках и аргументах комады cite. То есть они не являются буквами с точки зрения LATЕX — это активные символы.

Можно пользоваться русификацией Александра Черепанова, которая объединила в себе все преимущества русификации Шеня­Львовского и русификации T2. Это уже не интернационализация, а именно русификация.

Что лучше — выбирать вам. А для сомневающихся напомним, что в файле cyrguide.tex, который является частью дистрибутива LATЕXε, описываются настройка и использование кириллицы при работе с LATЕX. Не знаешь, что выбрать, — прочитай инструкцию! 

КомпьюАрт 12'2010

Выбор номера:

Популярные статьи

Удаление эффекта красных глаз в Adobe Photoshop

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

Мировая реклама: правила хорошего тона. Вокруг цвета

В первой статье цикла «Мировая реклама: правила хорошего тона» речь шла об основных принципах композиционного построения рекламного сообщения. На сей раз хотелось бы затронуть не менее важный вопрос: использование цвета в рекламном производстве

CorelDRAW: размещение текста вдоль кривой

В этой статье приведены примеры размещения фигурного текста вдоль разомкнутой и замкнутой траектории. Рассмотрены возможные настройки его положения относительно кривой, а также рассказано, как отделить текст от траектории

Нормативные требования к этикеткам

Этикетка — это преимущественно печатная продукция, содержащая текстовую или графическую информацию и выполненная в виде наклейки или бирки на любой продукт производства