LaTeX/polyglossia
polyglossia — пакет для многоязычной верстки с в системе XeLaTeX. Он используется в качестве замены пакету babel
. Основные функции пакета — расстановка переносов и использование заданных пользователем шрифтов и системы письменности при многоязычной верстке, а также определение терминов, например «Глава» и «Содержание».
Рассмотрим документ использующий polyglossia
:
\documentclass{article}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setmainlanguage{russian}
\setotherlanguage{english}
\setkeys{russian}{babelshorthands=true}
\setmainfont{Times New Roman}
\setromanfont{Times New Roman}
\setsansfont{Arial}
\setmonofont{Courier New}
\newfontfamily{\cyrillicfont}{Times New Roman}
\newfontfamily{\cyrillicfontrm}{Times New Roman}
\newfontfamily{\cyrillicfonttt}{Courier New}
\newfontfamily{\cyrillicfontsf}{Arial}
\addto\captionsrussian{%
\renewcommand{\figurename}{Рис.}%
\renewcommand{\tablename}{Табл.}%
}
\begin{document}
Привет Мир! \foreignlanguage{english}{Hello world!}
\begin{english}
Hello world!
\end{english}
\selectlanguage{english}
Hello world!
\end{document}
Пакет polyglossia
загружается в строке 4, затем идет указание основного и дополнительного языков документа. В строке 7 включается поддержка специальных команд пакета babel
например "=
. Выбор шрифтов выполняется в строках 9-12. Для некоторых шрифтов необходимо дополнительно указать, что их можно использовать для кириллических символов (например для mscorefonts). Это делается в строках 14-17. Команда \addto\captionsrussian
демонстрирует, как работает механизм переопределения терминов в пакете polyglossia
. В строках 19-22 переназначаются названия для рисунков и таблиц (по умолчанию — без сокращения). Аналогично можно переназначать название списка литературы, оглавления и т.д.
По умолчанию используется язык указанный в команде \setmainlanguage
. Для выбора между языками внутри документа можно использовать встроенную команду \foreignlanguage
(строка 26) или окружение имеющее имя соответствующего языка (строки 28-30). Команда \selectlanguage
устанавливает новый текущий язык.