Шрифты в LaTeX

25 мая 2015. Комментарии .

Запись была существенно дополнена и переделана 23 мая 2018 года. Добавлены примеры в картинках и .pdf, установка PSCyr, изменена структура записи.

Иногда встречаются требования заполнять документ конкретным шрифтом. Есть несколько методов, позволяющих использовать не входящие в стандартную поставку шрифты с кириллицей, например, Verdana, Courier, Georgia, Ubuntu Mono. Сначала немного терминологии, затем описаны методы получения разных шрифтов в документе. Больше теории (и лучше) на en.wiki­books.org.

Оглавление #

Семейства шрифтов (font families) #

В определены семейства шрифтов:

\rmfamily Roman family — шрифты с засечками (serif);

\sffamily Sans serif family — шрифты без засечек (sans-serif);

\ttfamily Typewriter family — моноширинные шрифты (они же monospace), где все символы имеют одинаковую ширину.

Стандартное значение \familydefault\rmfamily, то есть текст, набранный без каких-либо уточнений в документе, будет напечатан шрифтом, который установлен для \rmfamily (см. ниже). Это можно изменить в преамбуле, например:

\renewcommand{\familydefault}{\sffamily}

Начертания шрифтов (font styles) #

У шрифтов может быть несколько начертаний. Не все шрифты имеют все возможные начертания. Если у шрифта есть жирный и есть курсив, то жирного курсива может и не быть. Также обратите внимание, что курсив и наклонный шрифт — разные вещи. Двухбуквенные команды (\rm, \it и т.д.) считаются устаревшими, их использование не рекомендуется. Не следует путать \emph с \textit, хоть в большинстве ситуаций они и дают одинаковый результат.

Пример:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}

\begin{document}
\noindent
\textnormal{(Default) Основной шрифт документа}\\
\textrm{(Roman) С засечками}\\
\textit{(Italic) Курсив — не наклонный!}\\
\textsl{(Slanted) Наклонный — не курсив!}\\
\textbf{(Bold) Жирный}\\
\textbf{\textit{(Bold italic) Жирный курсив}}\\
\textbf{\textsl{(Bold slanted) Жирный наклонный}}\\
\texttt{(Monospace) Моноширинный}\\
\textsc{(Small caps) «Малые заглавные»}\\
\textbf{ \textsc{(Bold Small caps) Жирный «Малые заглавные» }}
\textsf{(Sans serif) без засечек}
\end{document}

Результат (font-styles.pdf):

Шрифты по умолчанию #

Взглянем на шрифты по умолчанию.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
\documentclass[a4paper, 12pt]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}

\begin{document}
Просто текст будет \textbackslash{rmfamily},
шрифт Computer Modern Roman (cmr).

\textrm{Это тоже шрифт семейства \textbackslash{}rmfamily.}

\textsf{Это шрифт семейства \textbackslash{}sffamily,
шрифт Computer Modern Sans Serif (cmss).}

\texttt{Шрифт семейства \textbackslash{}ttfamily,
шрифт Computer Modern Typewriter (cmtt).}
\end{document}

Такой код даст следующий результат (default-fonts.pdf):

Команды {\rmfamily ... }, {\sffamily ... } и {\ttfamily ... } обычно не используются, рекомендуют использовать \textrm{ ... }, \textsf{ ...} и \texttt{ ... } соответственно.

Переключение шрифтов #

Во всём документе #

Поменять шрифты для всего документа можно в преамбуле командой \renewcommand{семейство}{аббревиатура шрифта}. Например, поставленные в преамбулу команды

1
2
3
\renewcommand{\rmdefault}{cmr}
\renewcommand{\sfdefault}{cmss}
\renewcommand{\ttdefault}{cmtt}

установят стандартные шрифты cmr для \rmfamily, cmss для \sffamily и cmtt для \ttfamily. Приведённые команды никак не изменят внешний вид документа, потому что в них указаны стандартные значения. Если же добавить в преамбулу к последнему примеру

1
2
\renewcommand{\rmdefault}{cmss}
\renewcommand{\ttdefault}{cmss}

то весь текст будет написан одним и тем же шрифтом Computer Sans Serif. \sfdefault можно не указывать, потому что Computer Sans Serif — и так его стандартное значение. Таким образом, для семейства шрифтов \rmfamily можно использовать любой шрифт — необязательно с засечками.

Временно #

Временно сменить шрифт в документе можно так:

\usefont{<encoding>}{<font name>}{<font type>}{<font shape>}

Например, чтобы применить ко всему тексту после команды:

\usefont{T2A}{cmtt}{m}{n} текст...

Либо так, чтобы изменить шрифт только между {}:

{\usefont{T2A}{cmtt}{m}{n} текст ... }

Временно переключить шрифты можно и другой командой:

{\fontfamily{<font name>} <текст ... >}

Например:

{\fontfamily{cmss} <текст ... >}

Шрифты, входящие в texlive #

С кириллицей #

Здесь перечислены некоторые из шрифтов с кириллицей, которые можно подгрузить по \usepackage{}. В системе надо установить texlive-full, чтобы не пришлось каждый пакет устанавливать отдельно. Мне пакеты в преамбуле подключать не пришлось, работает и код, представленный ниже.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
\documentclass[a4paper]{article}

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}

\usepackage{geometry}
\geometry{left=20mm, right=15mm}

\setlength\parindent{0pt}

% Названия шрифтов чувствительны к регистру.
\begin{document}

{\Huge Шрифты, поставляемые с \texttt{texlive}.}

Такие шрифты доступны при поделючении пакета по
\texttt{\textbackslash{usepackage}\{<font name>\}}.

\section{\textbackslash{rmfamily} (Roman fonts, с засечками)}

Computer Modern Roman (cmr, по умолчанию):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!

{\usefont{T2A}{Tempora-TLF}{m}{n}
Tempora (Tempora-TLF, \texttt{\textbackslash{usepackage}\{tempora\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}
% Шрифт, похожий на Times New Roman.

{\usefont{T2A}{PTSerif-TLF}{m}{n}
PT Serif (PTSerif-TLF, \texttt{\textbackslash{usepackage}\{paratype\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\fontfamily{LinuxLibertineT-TLF}\selectfont
Linux Libertine (LinuxLibertineT-TLF, \texttt{\textbackslash{usepackage}\{libertine\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{erewhon-TLF}{m}{n}
Erewhon (erewhon-TLF, \texttt{\textbackslash{usepackage}\{erewhon\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{gentium}{m}{n}
Gentium (gentium, \texttt{\textbackslash{usepackage}\{gentium\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{antt}{m}{n}
Antykwa Toruńska (antt, \texttt{\textbackslash{usepackage}\{antt\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{fco}{m}{n}
Comfortaa (fco, \texttt{\textbackslash{usepackage}\{fco\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}
% Странно, судя по документации, Comfortaa --- шрифт без засечек.
% Вероятно, код fco имеет и какой-то другой шрифт.

{\usefont{T2A}{fdr}{m}{n}
Droid Serif (fdr, \texttt{\textbackslash{usepackage}\{droid\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{PTSerifCaption-TLF}{m}{n}
PT Serif Caption (PTSerifCaption-TLF,
\texttt{\textbackslash{usepackage}\{paratype\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

\section{\textbackslash{sffamily} (Sans-serif fonts, без засечек)}
{\usefont{T2A}{cmss}{m}{n}
Computer Modern Sans serif (cmss, по умолчанию):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{PTSans-TLF}{m}{n}
PT Sans (PTSans-TLF, \texttt{\textbackslash{usepackage}\{paratype\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф}

{\fontfamily{LinuxLibertineT-TLF}\selectfont
Linux Libertine (LinuxLibertineT-TLF, \texttt{\textbackslash{usepackage}\{libertine\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{fds}{m}{n}
Droid Sans (fds, \texttt{\textbackslash{usepackage}\{droid\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{fos}{m}{n}
Open Sans (fos, \texttt{\textbackslash{usepackage}\{fos\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{fca}{m}{n}
Cantarell (fca, \texttt{\textbackslash{usepackage}\{Cantarell\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{iwona}{m}{n}
iwona (iwona, \texttt{\textbackslash{usepackage}\{iwona\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{kurier}{m}{n}
kurier (kurier, \texttt{\textbackslash{usepackage}\{kurier\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

\section{\textbackslash{ttfamily} (Monospace, моноширинные шрифты)}

{\usefont{T2A}{cmtt}{m}{n}
Computer Modern Typewriter (cmtt, по умолчанию):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\usefont{T2A}{PTMono-TLF}{m}{n}
PT Mono (PTMono-TLF, \texttt{\textbackslash{usepackage}\{paratype\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

{\fontfamily{fdm}\selectfont
Droid Sans Mono (fdm, \texttt{\textbackslash{usepackage}\{droid\}}):
Эй, жлоб, где туз? Прячь юных съёмщиц в шкаф!}

\section{Способы переключения шрифтов}
\begin{enumerate}
\item \texttt{\textbackslash{usefont}\{<encoding>\}\{<font name>\}\{<font type>\}\{<font shape>\}}, например\\
\texttt{\textbackslash{usefont}\{T2A\}\{Tempora-TLF\}\{m\}\{n\}} текст, либо\\
\texttt{\{\textbackslash{usefont}\{T2A\}\{Tempora-TLF\}\{m\}\{n\} текст\}}

\item
\texttt{\{\textbackslash{fontfamily}\{<font name>\}\selectfont \space <текст>\}}, например \\
\texttt{\{\textbackslash{fontfamily}\{PTSans-TLF\}\selectfont \space <текст>\}}
\end{enumerate}

\end{document}

Такой код даст следующий результат (texlive-fonts.pdf):

Примечание: pdflatex компилирует это спокойно, а latex + dvipdfmx не работает с Cantarell и Open Sans.

Без кириллицы #

\rmfamily — с засечками #

Аббревиатура Название шрифта
lmr Latin Modern Roman
pbk Bookman
bch Charter
pnc New Century Schoolbook
ppl Palatino
ptm Times

\sffamily — без засечек #

Аббревиатура Название шрифта
lmss Latin Modern Sans Serif
pag Avant Garde
phv Helvetica

\ttfamily — моноширинные #

Моноширинные шрифты (monospace) также иногда называют Typewriter Fonts.

Аббревиатура Название шрифта
lmtt Latin Modern
pcr Courier

Любой шрифт в xelatex/lualatex #

Что делать, если нам нужен какой-то другой шрифт, не входящий в стандартную поставку LaTeX, но установленный в системе?

Быстрее всего будет использование XeLaTeX или LuaLaTeX вместо LaTeX. Если команды xelatex и lualatex системе неизвестны, поставьте пакет texlive-full. В Debian/Ubuntu это можно сделать так: sudo apt-get install texlive-full.

Такой код позволят задавать русские шрифты при компиляции xelatex или lualatex (LaTeX такое не скомпилирует):

xelatex-lualatex.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont{Georgia} % задаёт \rmfamily, основной шрифт документа
\setsansfont{Verdana} % задаёт \sffamily, шрифт без засечек
\setmonofont{Lucida Console} % задаёт \ttfamily, моношрифт

\begin{document}
Просто текст будет таким, каким указан \textbackslash{setmainfont}.
В нашем случае это Georgia.

\textrm{Это тоже Georgia. Это шрифт семейства \textbackslash{rmfamily},
оно же Roman font или serif font, то есть шрифт с засечками.}

\textsf{Это шрифт семейства \textbackslash{sffamily}, оно же sans serif
или шрифт без засечек (sans serif в переводе с французского означает
«без засечек»). В нашем случае это шрифт Verdana.}

\texttt{Это шрифт семейства \textbackslash{ttfamily}, оно же typewriter
или monospace. В нашем случае это шрифт Lucida Console. Все буквы и
символы здесь занимают одинаковую ширину.}
\end{document}

Результат будет таким (xelatex-lualatex.pdf):

Обратите внимание, что если не уточнять, каким семейством печатать шрифт, по умолчанию будет использоваться шрифт, установленный для семейства \rmfamily, то есть то, что было указано в преамбуле командой \setmainfont.

Любой шрифт в latex/pdflatex #

А что, если нужно использовать именно LaTeX, а не XeLaTeX, и конкретный шрифт, поддерживающий кириллицу? Перечислю некоторые варианты. Пакеты winfonts и PSCyr предоставят ограниченное количество шрифтов, а в следующем разделе описано, как использовать действительно любой шрифт.

Пакет winfonts #

Пакет разработан для использования имеющихся в Windows шрифтов с помощью MiKTeX & Windows. Инструкция по установке и настройке есть в README. Доступны шрифты Arial, Franklin, Gothic, Tahoma, Comic Sans, Georgia, Times, Courier, New Palatino, Linotype, Verdana, Wingding, Webdings. Подключается \usepackage{winfonts}.

Пакет PSCyr #

Установка PSCyr #

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

  1. Скачивайте архив pscyr.zip и разархивируйте:

    user $
    unzip pscyr.zip
  2. Выясните, где лежит каталог texmf, и скопируйте туда содержимое архива:

    user $
    user $
    kpsewhich -expand-var='$TEXMFLOCAL'
    sudo cp -R pscyr/* $TEXMFLOCAL
  3. Расскажите латеху о шрифтах, которые он отныне сможет использовать:

    user $
    user $
    user $
    sudo texhash
    updmap --enable Map=pscyr.map
    sudo mktexlsr

Использование pscyr #

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
\documentclass[a4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

\usepackage{pscyr}
\renewcommand{\rmdefault}{ftm}

\begin{document}
\section{Начертания для Times New Roman из пакета pscyr}
Съешь ещё этих французских булок да выпей чаю ж!\\
\textrm{(Roman) С засечками}\\
\textit{(Italic) Курсив — не наклонный!}\\
\textsl{(Slanted) Наклонный — не курсив!}\\
\textbf{(Bold) Жирный}\\
\textbf{\textit{(Bold italic) Жирный курсив}}\\
\textbf{\textsl{(Bold slanted) Жирный наклонный}}\\
\texttt{(Monospace) Моноширинный}\\
\textsc{(Small caps) «Малые заглавные»}\\
\textbf{\textsc{(Bold Small caps) Жирный «Малые заглавные»}}

\section{Переключение шрифтов внутри документа}
\usefont{T2A}{fac}{m}{n} Съешь ещё этих французских булок да выпей чаю ж!\\
\usefont{T2A}{faq}{m}{it} Съешь ещё этих французских булок да выпей чаю ж!\\
\usefont{T2A}{ftm}{b}{sl} Съешь ещё этих французских булок да выпей чаю ж!\\
\usefont{T2A}{fco}{m}{sc} Съешь ещё этих французских булок да выпей чаю ж!\\
\usefont{T2A}{ftm}{m}{n} Съешь ещё этих французских булок да выпей чаю ж!
% fac, faq, ftm — название шрифта в pscyr
% m,b — medium, bold (нормальный или жирный)
% n,it,sl,sc — normal, italic, slanted, small caps — тип шрифта
\end{document}

Код ftm соответствует шрифту Times New Roman. Компилировать документ можно с помощью latex или pdflatex. Поиск по файлу работает. Результат (pscyr.pdf):

Коды шрифтов PSCyr #

Нашёл у lithiumdenis.

Код шрифта Название шрифта
fac Academy
fad Advertisement
faq AntiquaPSCyr
fco College
fcp CooperPSCyr
fer ERKurierPSCyr
fha HandbookPSCyr
fjn JournalPSCyr
flz Lazurski
fma MagazinePSCyr
fsv SouvenirPSCyr
ftx TextbookPSCyr
far ArialMT
fcr CourierNewPSMT
ftm TimesNewRomanPSMT

Замечания #

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

Если пакет не заработал, попробуйте выполнить ещё updmap-sys.

Использование любого .ttf файла #

Эта инструкция основана на ныне недоступной записи.

  1. Скачайте ttf файлы требуемых начертаний шрифта — жирный, курсив, жирный курсив, нормальный и т.д. Для примера рассмотрим шрифт Times (файлы: times.ttf — нормальный, timesi.ttf — курсив, timesbd.ttf — жирный, timesbi.ttf — жирный курсив). Times я скачал тут.

  2. Положите все .ttf файлы к .tex файлу и выполните:

    user $
    user $
    user $
    user $
    user $
    user $
    user $
    user $
    ttf2afm -e t2a.enc -o times.afm times.ttf
    ttf2afm -e t2a.enc -o timesi.afm timesi.ttf
    ttf2afm -e t2a.enc -o timesbd.afm timesbd.ttf
    ttf2afm -e t2a.enc -o timesbi.afm timesbi.ttf
    afm2tfm times.afm -T t2a.enc >> myfonts.map    
    afm2tfm timesi.afm -T t2a.enc >> myfonts.map
    afm2tfm timesbi.afm -T t2a.enc >> myfonts.map
    afm2tfm timesbd.afm -T t2a.enc >> myfonts.map 
  3. В myfonts.map добавьте название .ttf файла шрифта перед <t2a.enc, у меня получилось так:

    myfonts.map
    1
    2
    3
    4
    times TimesNewRomanPSMT " T2AEncoding ReEncodeFont " <times.ttf <t2a.enc
    timesi TimesNewRomanPS-ItalicMT " T2AEncoding ReEncodeFont " <timesi.ttf <t2a.enc
    timesbi TimesNewRomanPS-BoldItalicMT " T2AEncoding ReEncodeFont " <timesbi.ttf <t2a.enc
    timesbd TimesNewRomanPS-BoldMT " T2AEncoding ReEncodeFont " <timesbd.ttf <t2a.enc
  4. Создайте файл ttfonts.map с такими строками:

    ttfonts.map
    1
    2
    3
    4
    times times.ttf Encoding=t2a.enc
    timesbd timesbd.ttf Encoding=t2a.enc
    timesi timesi.ttf Encoding=t2a.enc
    timesbi timesbi.ttf Encoding=t2a.enc
  5. Создайте файлы с названием t2a<имяшрифта>.fd, в нашем случае t2atimes.fd. Поместите туда информацию о шрифте:

    t2atimes.fd
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    \ProvidesFile{t2atimes.fd}[Times Font]
    \DeclareFontFamily{T2A}{times}{}

    \DeclareFontShape{T2A}{times}{b}{n}{<->timesbd}{}
    %\DeclareFontShape{T2A}{times}{b}{sl}{<-> timesbdo}{}
    \DeclareFontShape{T2A}{times}{b}{it}{<-> timesbi}{}

    \DeclareFontShape{T2A}{times}{m}{n}{<-> times}{}
    %\DeclareFontShape{T2A}{times}{m}{sl}{<-> timeso}{}
    \DeclareFontShape{T2A}{times}{m}{it}{<-> timesi}{}

    \DeclareFontShape{T2A}{times}{bx}{n}{<->ssub * times/b/n}{}
    %\DeclareFontShape{T2A}{times}{bx}{sl}{<->ssub * times/b/sl}{}
    \DeclareFontShape{T2A}{times}{bx}{it}{<->ssub * times/b/it}{}

    Закомментированы здесь строки с наклонным (slanted) шрифтом, так как этих файлов у меня не было.

  6. Чтобы в pdf работал поиск и можно было скопировать выделенный текст, можно подключить пакет cmap.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    \documentclass[a4paper,12pt]{article}
    \usepackage[T2A]{fontenc} % и без этого работает?
    \usepackage[utf8]{inputenc}
    \usepackage[russian]{babel}
    \usepackage{cmap} % для работы поиска кириллицы в pdf

    \renewcommand{\rmdefault}{times}

    \begin{document}

    \section{Проверка букв}
    Эй, жлоб! Где туз? Прячь юных съёмщиц в шкаф!\\
    How vexingly quick daft zebras jump!

    \section{Проверка начертаний}
    \textbf{Жирный шрифт. Bold font.}\\
    \textit{Курсив. Italic font.}\\
    \textbf{\textit{Жирный курсив. Bold italic font.}}\\
    1234567890 Дж\\
    $ 1234567890~\textrm{Дж} $ — в матрежиме шрифт цифр иной (Computer Modern).

    \section{Способы переключения}
    \usefont{T2A}{times}{m}{it}
    Курсив.

    Всё ещё курсив.

    \section*{Ненужный заголовок}
    Даже после section остаётся курсив.

    \usefont{T2A}{times}{m}{n}
    Нормальное начертание.

    {\font\Times times at12pt \Times Шрифт Times размера 12pt.}
    {\font\Times times at20pt \Times Шрифт Times размера 20pt.}

    Нормальное начертание.

    \end{document}

    Результат (times-ttf.pdf):

Если все шрифты выглядят хорошо, можно их разложить туда, где обычно latex хранит получившиеся в нашей папке .afm, .fd, .tfm файлы. Тогда использовать подготовленные шрифты можно будет и в других проектах. Я, однако, этого не делал. Некоторую информацию по этой теме можно найти здесь.

Также везде рекомендуют манипуляции с файлом pdftex.cfg, но я их опустил, так как всё заработало и без этого. Если что, см. ссылку выше.

Недостатки этого метода #

У меня при скачанных по ссылке выше шрифтах проявился такой баг: при компиляции latex + dvips + ps2pdf или pdflatex буква «ё» отображается корректно, тогда как при компиляции latex + dvipdfmx буква «ё» заменяется на «j».

.ttf без кириллицы #

Использовать в latex файл шрифта .ttf без кириллицы проще.

  1. Выполнить

     otftotfm -a -e ec  -fkern -fliga myfont.ttf T1--myfont
    
  2. В t1myfont.fd вставить:

    t1myfont.fd
    1
    2
    \DeclareFontFamily{T1}{myfont}{}
    \DeclareFontShape{T1}{myfont}{m}{n}{<->T1--myfont}{}
  3. Добавить в преамбулу (возможно, это не обязательно):

     \pdfmapfile{lcdftools.map}
    
  4. Использовать шрифт в документе: \fontfamily{myfont}\selectfont.

Вывод #

Не надо менять шрифты в , используйте стандартный Computer Modern, и не будет проблем с математикой, отсутствующими буквами и прочих прелестей.

Источники #

http://www.tex.raleigh.ru/doku.php/faq/ttffonts

http://www.radamir.com/tex/ttf-tex.htm

http://linuxportal.ru/entry.php/P1003_0_3_0/

http://en.wikibooks.org/wiki/LaTeX/Fonts (англ.)

форум latex-community (англ.)

Font selection in LaTeX: FAQ (англ.)

Если что-то не заработало, пожалуйста, сообщите об этом.