LaTeX/polyglossia

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

polyglossia — пакет для многоязычной верстки с в системе XeLaTeX. Он используется в качестве замены пакету babel. Основные функции пакета — расстановка переносов и использование заданных пользователем шрифтов и системы письменности при многоязычной верстке, а также определение терминов, например «Глава» и «Содержание».

Рассмотрим документ использующий polyglossia:

 1 \documentclass{article}
 2 \usepackage{xltxtra}
 3 
 4 \usepackage{polyglossia}
 5 \setmainlanguage{russian}
 6 \setotherlanguage{english}
 7 \setkeys{russian}{babelshorthands=true}
 8 
 9 \setmainfont{Times New Roman}
10 \setromanfont{Times New Roman} 
11 \setsansfont{Arial} 
12 \setmonofont{Courier New} 
13 
14 \newfontfamily{\cyrillicfont}{Times New Roman} 
15 \newfontfamily{\cyrillicfontrm}{Times New Roman}
16 \newfontfamily{\cyrillicfonttt}{Courier New}
17 \newfontfamily{\cyrillicfontsf}{Arial}
18 
19 \addto\captionsrussian{%
20   \renewcommand{\figurename}{Рис.}%
21   \renewcommand{\tablename}{Табл.}%
22 }
23 
24 \begin{document}
25 
26 Привет Мир! \foreignlanguage{english}{Hello world!}
27 
28 \begin{english}
29 Hello world!
30 \end{english}
31 
32 \selectlanguage{english}
33 Hello world!
34 
35 \end{document}

Пакет polyglossia загружается в строке 4, затем идет указание основного и дополнительного языков документа. В строке 7 включается поддержка специальных команд пакета babel например "=. Выбор шрифтов выполняется в строках 9-12. Для некоторых шрифтов необходимо дополнительно указать, что их можно использовать для кириллических символов (например для mscorefonts). Это делается в строках 14-17. Команда \addto\captionsrussian демонстрирует, как работает механизм переопределения терминов в пакете polyglossia. В строках 22-25 переназначаются названия для рисунков и таблиц (по умолчанию — без сокращения). Аналогично можно переназначать название списка литературы, оглавления и т.д.

По умолчанию используется язык указанный в команде \setmainlanguage. Для выбора между языками внутри документа можно использовать встроенную команду \foreignlanguage (строка 29) или окружение имеющее имя соответствующего языка (строки 31-33). Команда \selectlanguage устанавливает новый текущий язык.