Легко использовать любые современные шрифты TrueType и OpenType позволяет XeLaTeX.
Вначале нужно установить XeLaTeX. В Debian/Ubuntu для этого достаточно поставить пакет
texlive-xetex.Помимо этого, нужно определиться собственно с используемыми шрифтами. XeLaTeX может использовать любые шрифты, которые может использовать Fontconfig. Просмотреть список установленных в системе шрифтов и их имена можно с помощью команды
fc-list: $ fc-list | grep Inconsolata
Inconsolata:style=MediumЕщё можно поставить программу FontMatrix для просмотра и сравнения шрифтов. Установку дополнительных шрифтов я здесь описывать подробно не буду, скажу лишь, что в большинстве случаев для этого достаточно поместить файлы шрифта в ~/.fonts/.Далее создаём документ LaTeX, как обычно. В преамбулу добавляем:
\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
Главный пакет тут — fontspec. Опция cm-default необходима, чтобы он не пытался использовать шрифты lmodern (которые в Debian/Ubuntu надо ставить отдельно, а русских глифов в них всё равно нет).Как я понял,
xunicode изменяет традиционнее латэховские макросы вроде \" таким образом, что немецкую «о умляют» (ö) в XeLaTeX можно ввести не только напрямую с клавиатуры как ö, но и как обычно, \"o. Вообще, все уникодные символы можно вводить непосредственно с клавиатуры (например, с помощью клавиши Compose). Это удобно. Пакет xltxtra добавляет чудесный макрос \XeLaTeX. Затем можно задать стандартные шрифты документа:
\setromanfont{Charis SIL}
\setsansfont{Liberation Sans}
\setmonofont{Inconsolata}В общем-то, названия этих команд говорит сами за себя. Они меняют шрифт всего документа в целом. Есть ещё команда \setmainfont{Имя шрифта}.Дополнение 20081226: поскольку рост строчных букв у разных гарнитур одного кегля разнится, то при совместном использовании в пределах одного абзацах их необходимо соответствующим образом масштабировать. Для того, чтобы обеспечить одинаковый росит строчных букв, можно задать глобальную опцию:Временное переключение гарнитуры делается командой\defaultfontfeatures{Scale=MatchLowercase}Можно, конечно, задавать опцию Scale для каждой гарнитуры отдельно. Аналогичная опцияScale=MatchUppercaseпозволяет обеспечить единый рост заглавных букв разных гарнитур.
\fontspec{Имя шрифта} в теле документа.Компилировать нужно с помощью
xelatex вместо latex. А так — как обычно. Получается PDF. Всё на удивление просто. Примеры по ссылкам. Инструкции в примерах немного более подробные, чем в этой заметке.пример использования (исходник, UTF-8)
пример использования (PDF)
Да, очень рекомендую посмотреть на что способен XeLaTeX, если ему дать хороший шрифт. Вот только где бы ещё лицензионных (свободно распространяемых) русских шрифтов найти…
Дополнение: XeLaTeX не совместим с пакетом
babel. Можно или пользоваться дополнительным пакетом xecyr, переопределяющий кириллический символы LaTeX в соответствии с уникодом, или пользоваться пакетом polyglossia, заменяющим babel. Спасибо Shender-у за подсказанные решения.Дополнение 20081226: выкладываю также примеры использования BibTeX совместно с XeLaTeX для написания русскоязычных текстов. Рассмотрены оба способа: и с
babel+xecyr, и с polyglossia.