Шрифты в LaTeX

Иногда встречаются требования заполнять документ конкретным шрифтом. Как использовать в LaTeX стандартные шрифты от Windows и не только, например, Verdana, Courier, Georgia, Comic Sans MS, Ubuntu Mono и пр.?

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

В LaTeX можно использовать три семейства шрифтов:
rmfamily Roman family — шрифты с засечками (serif)
sffamily Sans serif family — шрифты без засечек (sans-serif)
ttfamily Typewriter family — моноширинные шрифты (они же monospace)

Вот список доступных по умолчанию шрифтов в LaTeX, которые должно быть просто использовать:

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

Аббревиатура Название шрифта

cmrComputer Modern Roman (default)

lmr Latin Modern Roman

pbk Bookman

bch Charter

pnc New Century Schoolbook

ppl Palatino

ptm Times

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

Аббревиатура Название шрифта

cmss Computer Modern Sans Serif (default)

lmss Latin Modern Sans Serif

pag Avant Garde

phv Helvetica

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

Аббревиатура Название шрифта

cmtt Computer Modern Typewriter (default)

lmtt Latin Modern

pcr Courier

Стандартные шрифты по умолчанию
Взглянём на стандартные шрифты по умолчанию.
documentclass[12pt]{letter}% Три следующих строки для поддержки русского языкаusepackage[T2A]{fontenc}usepackage[utf8]{inputenc}usepackage[english, russian]{babel}begin{document}Просто текст будет семейства textbackslash{}rmfamily, шрифт Computer Modern Roman.\\{rmfamily Это тоже шрифт семейства textbackslash{}rmfamily. }\\{sffamily Это шрифт семейства textbackslash{}sffamily, шрифт Computer Modern Sans Serif.}\\{ttfamily Это шрифт семейства textbackslash{}ttfamily, шрифт Computer Modern Typewriter.}end{document}
Такой код даст следующий результат:

Смена между стандартными шрифтами
Менять шрифты из стандартных можно командой renewcommand{семейство}{аббревиатура шрифта}. Например, поставленные в преамбулу команды
123renewcommand{rmdefault}{cmr}renewcommand{sfdefault}{cmss}renewcommand{ttdefault}{cmtt}
установят стандартные шрифты cmr для rmfamily, cmss для sffamily и cmtt для ttfamily. Расшифровку аббревиатур см. в таблицах выше. Приведённые команды никак не изменят внешний вид, потому что в них указаны стандартные значения. Если же добавить в преамбулу к последнему примеру
12renewcommand{rmdefault}{cmss}renewcommand{ttdefault}{cmss}
то весь текст будет написан одним и тем же шрифтом Computer Sans Serif. sfdefault можно не указывать, потому что Computer Sans Serif — и так его стандартное значение. Получается, что для шрифта rmfamily можно использовать не обязательно шрифт с засечками, но и без оных (sffamily) или моноширинный (ttfamily).
Любой шрифт в XeLaTeX
Что делать, если нам нужен какой-то другой шрифт, не входящий в стандартную поставку LaTeX?
Быстрее всего будет использование XeLaTeX или LuaLaTeX вместо LaTeX. Меня это фраза сначала напугала, но потом оказалось, что у меня в Ubuntu 14.10 XeLaTeX поставился вместе с LaTeX. Если команды xelatex и lualatex Вашей системе неизвестны, попробуйте поставить пакет texlive-full. В Debian/Ubuntu, наверное, это можно сделать так: sudo apt-get install texlive-full.
Такой код позволят задавать русские шрифты при компиляции XeLaTeX (LaTeX такое не скомпилирует):
documentclass[12pt]{letter}usepackage{fontspec}%defaultfontfeatures{Ligatures={TeX},Renderer=Basic} %бывает нужно для того, чтобы — превращалось в endash, — в emdash, а << в «. У меня и так работает.setmainfont{Georgia} % задаёт rmfamily, основной шрифт документаsetsansfont{Verdana} % задаёт sffamily, шрифт без засечекsetmonofont{Courier New} % задаёт ttfamily, моношрифтusepackage{indentfirst}begin{document}Просто текст будет таким, каким указан textbackslash setmainfont. В нашем случае это Georgia.\\{rmfamily Это тоже Georgia. Это шрифт семейства textbackslash rmfamily, оно же Roman font или serif font, то есть шрифт с засечками. }\\{sffamily Это шрифт семейства textbackslash{}sffamily, оно же sans serif или шрифт без засечек (sans serif в переводе с французского означает «без засечек»). В нашем случае это шрифт Verdana.}\\{ttfamily Это шрифт семейства textbackslash{}ttfamily, оно же typewriter или monospace. В нашем случае это шрифт Courier New. Все буквы и символы здесь занимают одинаковую ширину. }end{document}
Результат будет таким:

Причём не понадобилось даже стандартное для поддержки русского языка вступление:
123usepackage[T2A]{fontenc}usepackage[utf8]{inputenc}usepackage[english, russian]{babel}
Обратите внимание, что если не уточнять, каким семейством печатать шрифт, по умолчанию будет использоваться шрифт, установленный для семейства rmfamily, то есть то, что было указано в преамбуле командой setmainfont.
Любой шрифт в LaTeX
А что, если нужно использовать именно LaTeX, а не XeLaTeX, и нестандартный шрифт — например, Verdana?

Скачать ttf файл шрифта. Обычно запрос в Гугле «Verdana ttf скачать» быстро даёт желаемый результат.
Выполнить описанное тут. Я проверил, всё получилось. Обновление: ссылка перестала работать, смотрите кеш гугла.

Источники
http://en.wikibooks.org/wiki/LaTeX/Fonts (англ.)
latex-community форум (англ.)
Font selection in LaTeX: FAQ (англ.)
Если что-то не заработало, пожалуйста, сообщите об этом.