Emacs для начинающих

       

Загрузка пакета многоязыковой поддержки


Мне уже приходилось несколько раз упоминать о таком показателе, как язык документа. Настала пора рассказать о том, для чего он требуется LyX. Ведь не для проверки же орфографии: реализация этой последней в LyX не имеет никакого отношения к его взаимодействию с LaTeX. Однако правильная установка языка совершенно необходима хотя бы для правильного выбора внутренней кодировки: ведь, загрузив список кодировок в опциях пакета fontenc, мы еще не указали, к какой части документа надлежит применить каждую из них. Это как раз и должны сделать пакеты поддержки соответствующих языков. Но самое главное их назначение заключается в том, чтобы дать LaTeX указание использовать надлежащий алгоритм переноса. Кстати говоря, чтобы LaTeX мог осуществлять перенос слов на русском языке (равно как и на любом другом), его надлежит определенным образом сконфигурировать. Как это сделать – читайте в руководствах по LaTeX: LyX к данной процедуре не имеет никакого отношения, и, соответственно, ее нет возможности обсуждать в рамках посвященной ему статьи.

Но предположим, что этот этап благополучно минул. Тогда наша задача состоит в том, чтобы дать знать LyX, какой синтаксис использовать для загрузки поддержки требуемых языков. Делается это в диалоге «Preferences…» на вкладке «Lang Opts» (на ней вкладка второго уровня «Язык»). Наиболее важным здесь является поле под названием «Package». Еще сравнительно недавно поддержка русского языка в LaTeX обеспечивалась за счет загрузки различных версий пакета russian, не имевших ничего общего, кроме названия. Соответственно, в поле «Package» нам пришлось бы прописать что-то вроде \usepackage{russian}. Далее на вкладке имеются поля «Command start» и «Command end» для указания команд, которые должны отмечать начало и конец блока на том или ином языке. В данном случае они, скорее всего, приняли бы вид \begin{$$lang} и \end{$$lang}, где вместо $$lang программа подставляла бы значения «russian» и «english». Кроме того, возможно, пришлось бы пометить флажки «Auto begin» и «Auto finish», чтобы команды \begin{russian} и \end{russian} автоматически вставлялись в начало и конец документа LaTeX.


Ныне же в стандартную поставку LaTeX входит пакет babel, обеспечивающий поддержку всех европейских языков, включая и русский. Именно этот пакет по умолчанию используется LyX, и потому нам нет причин отвергать предлагаемые им установки: команда загрузки пакета – \usepackage{babel}, команда переключения языков – \selectlanguage{$$lang}. Следует отметить лишь одну тонкость: стандартный синтаксис загрузки пакета babel предусматривает включение списка требуемых языков в качестве опций. Например, так:

\usepackage[english,german,russian]{babel}

Однако babel в состоянии воспринимать и названия языков, указанных еще до его загрузки в числе глобальных параметров документа. LyX поступает с ними именно так, чем и объясняется предлагаемая по умолчанию загрузка пакета babel без всяких опций. В качестве основного babel использует тот язык, который был загружен последним, и LyX прекрасно об этом знает, так что в активизации опций «Auto begin» и «Auto end» нет необходимости.

В ходе работы над текстом показатель языка можно устанавливать и изменять через диалоговое окно «Стиль символов». Список доступных языков достаточно обширен и, кроме того, его можно дополнить, так как берется он всё из того же файла languages. Естественно, надо убедиться, что нужный вам язык действительно поддерживается пакетом babel. LyX выделяет на экране фрагменты текста на иностранном (то есть не совпадающем с основным для данного документа) языке, подчеркивая их синей линией. Данный режим можно и отключить, но лучше этого не делать: представьте-ка себе, что может получиться на печати, если вы по ошибке пометили русский текст как английский, да еще и забыли об этом. Обратное же обычно допустимо, так как большинство кириллических кодировок содержит и латинские буквы. Тем не менее, явное указание показателя языка (хотя бы для фрагментов длиной в несколько строчек) считается признаком хорошего тона. И последнее: для часто используемых языков имеет смысл назначить горячие клавиши, например:

\bind "F11" "language russian" \bind "F12" "language english"

Как и многие другие, эти команды могут быть помещены в конфигурационных файлах LyX, но наиболее подходящее для них место – пользовательский bind-файл. Ну а LyX в процессе генерации документа LaTeX обязательно проверит файл на предмет использованных языков и приведет их список в преамбуле.


Содержание раздела