ПОЛИТОНИЧЕСКИЙ ГРЕЧЕСКИЙ В ИЗДАТЕЛЬСКОЙ СИСТЕМЕ LaTeX

LaTeX — это язык текстовой разметки, предназначенный для создания красиво оформленных документов. Подготовка документов с помощью системы LaTeX (или TeX, расширением которого является LaTeX) проходит через два основных этапа. Вначале пишется программа на языке LaTeX, управляющая представлением заданного текста на экране (это обычный текстовый файл с расширением *.tex, который можно подготовить при помощи любого текстового редактора). Этот исходный текст пропускается через компилятор. Откомпилированный файл с расширением *.dvi можно просмотреть на экране или вывести на печать.

Таким образом, в процессе редактирования текста нельзя видеть, как он будет выглядеть на экране. Зато LaTeX позволяет автоматизировать многие рутинные операции, неизбежные при работе с издательскими системами, основанными на принципе WYSIWYG. Система LaTeX обладает уникальными возможностями приспособления к конкретным задачам каждого пользователя и, кроме того, распространяется бесплатно (хотя существуют и коммерческие реализации), так что ее использование позволяет сохранить кошелек вместе с чистотой совести. Реализации LaTeX существуют для всех операционных систем, однако наиболее популярна версия под Linux, так как эта операционная система также является бесплатной и распространяется на тех же условиях, что и сам LaTeX. Тем не менее, с LaTeX можно прекрасно работать и в среде Windows любой версии.

В силу сложившейся традиции система LaTeX широко применяется для подготовки публикаций по точным наукам, так как именно там ее уникальные возможности находят наиболее полное применение. Однако в LaTeX'е можно с успехом осуществлять набор и верстку любых текстов высокой сложности, в том числе критических изданий или текстов на экзотических языках со сложной системой письменности. Далее рассматриваются принципы работы в системе LaTeX с политоническими греческими текстами.

Греческие шрифты

Первый набор греческих шрифтов для TeX/LaTeX был подготовлен Сильвио Леви (Принстонский Университет). Базовый шрифт из разработанного им комплекта основан на гарнитуре Didot (или Apla), однако существенно светлее всех других ее реализаций, так как рассчитан на совместное употребление с довольно светлой гарнитурой Computer Modern (стандартный латинский шрифт из комплекта поставки TeX). Поскольку шрифты Сильвио Леви распространяются на общих для всего проекта TeX/LaTeX условиях, другие дизайнеры получили возможность положить их в основу собственных разработок. В результате появилось несколько пакетов поддержки греческого языка.

Однако сейчас эти пакеты имеют чисто историческую ценность, так как их возможности полностью перекрываются греческими шрифтами Клаудио Беккари (Турин). Их набор включает все предусмотренные в LaTeX категории шрифтов, в том числе вариант с увеличенными размерами для подготовки слайдов и шрифты с контурным начертанием, а также санссерифный и машинописный шрифты. Поддержка шрифтов Клаудио Беккари включена в пакет под названием Babel, который в настоящее время играет роль стандартного механизма, обеспечивающего работу в системе LaTeX со многими языками.

 Раскладка шрифтов Клаудио Беккари представляет собой один из вариантов кодировки на основе предопределенных комбинаций, однако несколько полнее большинства существующих кодировок такого типа, так как для внутренних шрифтов системы TeX не существует ограничения на использование первых 32 ячеек кодовой таблицы. Расположение акцентированных символов на первый взгляд выглядит произвольным, но если использовать стандартную программу просмотра шрифтов в LaTeX, которая строит кодовую таблицу размером 32x8 (а не 16x16), то внутренняя логика кодировки станет очевидной. Впрочем, пользователю необязательно знать точные позиции каждого акцентированного символа в таблице, так как механизм работы LaTeX со шрифтами обеспечивает очень удачное соединение преимуществ кодировок на основе комбинируемых диакритических знаков и на основе предопределенных комбинаций.

Поскольку исходники LaTeX являются простыми текстовыми файлами, в процессе их подготовки нет возможности выделять текст различными шрифтами. Поэтому прямое использование шрифта с предопределенными комбинациями исключено: возможно, в откомпилированном файле он будет смотреться нормально, но исходный текст будет нечитаемым. Таким образом, при наборе греческого текста можно использовать только символы, присутствующие на американской раскладке, как это делается в шрифтах с комбинируемыми диакритическими знаками. Однако такие шрифты не обеспечивают нужного типографского качества и по этой причине противоречат исходным принципам системы LaTeX. Возникает классическая изобретательская задача, решение которой, очевидно, должно состоять в следующем: диакритические знаки должны вводиться и сохраняться в файле как отдельные символы, но при просмотре и печати их сочетания с буквами должны заменяться составными комбинациями. Для этой цели используется механизм лигатур.

Под лигатурой в LaTeX понимается последовательность из двух символов, которая при компиляции файла должна быть заменена или дополнена третьим символом. Наборы лигатур определяются в шрифтах. Механизм действия лигатур можно проиллюстрировать на примере. Допустим, в исходнике LaTeX, использующем шрифты Клаудио Беккари, встретилась такая комбинация: >~a|. Тогда последовательность ее обработки будет следующей:

Отметим, что подписная йота печатается после того символа, к которому относится, другие же диакритические знаки — перед ним. Такое решение вызвано техническими причинами: иначе пришлось бы загромождать таблицу символов ненужными комбинациями подписной йоты с диакритикой (но без букв), которые использовались бы только как промежуточный этап при обработке лигатур. Но, между прочим, оно выглядит очень логичным и могло бы быть рекомендовано всем разработчикам шрифтов с комбинируемыми диакритическими знаками и греческих драйверов клавиатур: ведь таким образом обеспечивается одинаковая последовательность ввода диакритики как для строчных, так и для заглавных букв.

Шрифты Клаудио Беккари, как и более ранние версии греческих шрифтов для TeX/LaTeX, можно загрузить с общедоступных серверов CTAN (Comprehensive TeX Archive on Network), список которых содержится в разделе ссылок.

Все общедоступные греческие шрифты для TeX/LaTeX используют внутренний формат шрифтов для системы TeX — METAFONT. Однако документ, содержащий шрифты в этом формате, не может быть распечатан на компьютере, где не установлен TeX со всеми нужными шрифтами. Поэтому большинство пользователей в настоящее время предпочитает заменять шрифты METAFONT шрифтами в формате PostScript, поддержка которых также предусмотрена в системе LaTeX. Теоретически в современных реализациях системы можно использовать и TrueType-шрифты, практически же при наличии такой необходимости гораздо проще преобразовать их в формат PostScript, воспользовавшись для этого свободно распространяемой утилитой ttf2pt1 (требует установки библиотеки freetype).

Адаптация для LaTeX PostScript-шрифтов (тем более с нестандартной кодировкой) сама по себе также является достаточно нетривиальной задачей. Требуется обеспечить поддержку всех нужных лигатур (без них греческие шрифты будут бесполезны), а также обеспечить преобразование шрифта во внутреннюю кодировку TeX. Такая возможность особенно важна для греческих шрифтов, так как позволяет привести шрифты в различных кодировках «к общему знаменателю», каковым на данный момент, очевидно, должна служить раскладка шрифтов Клаудио Беккари. На данный момент эта задача решена в следующих шрифтовых пакетах:

Внимание! Старые версии пакета psgreek удалены с этого сайта. В их присутствии здесь больше нет необходимости, т. к. CTAN гораздо лучше подходит для размещения подобных пакетов.

Система Omega/Lambda

Несмотря на все достоинства метода лигатур, исходники стандартного LaTeX, содержащие греческий текст, читаются с большим трудом. Кроме того, соответствие между латинскими и греческими буквами, принятое в шрифтах Клаудио Беккари, на наш взгляд не кажется идеальным. В принципе можно использовать для ввода текста новогреческую раскладку, но такой прием не подходит для русских пользователей, т. к. тогда придется созерцать на экране либо русскую абракадабру вместо греческого текста, либо греческую абракадабру вместо кириллицы. Кроме того, использование лигатур для формирования акцентированных символов при всех своих достоинствах имеет побочный эффект в виде нарушений кернинга: так, напечатав ta>~uta, мы не получим правильного кернинга между символами alpha и upsilon lenis circumflexus.

Выход из положения, очевидно, мог бы состоять в использовании для исходных файлов формата Unicode. Тогда символы разных алфавитов не мешали бы на экране друг другу, а акцентированные комбинации можно было бы вводить при помощи внешнего контроллера клавиатуры.

Стандартный LaTeX не умеет работать с текстами Unicode, но такую возможность обеспечивает система Omega/Lambda («Омегой» называется базовая часть пакета, соответствующая стандартному TeX'у, Lambda же — это расширение к нему, которое может быть соотнесено собственно с LaTeX), разработанная Джоном Плейсом (Австралия) и Яннисом Хараламбусом (проживает во Франции). На данный момент Omega/Lambda — это единственная разновидность системы TeX, изначально ориентированная на нужды лингвистов, а не математиков. Яннис Хараламбус является выдающимся шрифтовым дизайнером и знатоком типографского дела (ему принадлежит ряд интересных статей по различным его аспектам). Благодаря его усилиям Lambda с момента своего появления включала поддержку политонического греческого с многими дополнительными возможностями.

Увы, проект Omega не встретил активной поддержки со стороны TeX-сообщества, и потому некоторое время пребывал в стадии стагнации. Сам Яннис Хараламбус не сумел или не захотел довести до ума механизм многоязыковой поддержки Омеги. Более того, в последних версиях этот механизм был вообще удален, после чего Omega в стандартной поставке оказалась пригодна только для экспериментов (преимущественно с восточными языками), но никак не для регулярной работы. В настоящее время авторы планируют радикальную перестройку Омеги, которая должна сделать ее менее похожей на стандартный TeX, обеспечить улучшенный механизм работы со шрифтами и т. д. Однако эти планы не облегчают участь тех пользователей, для работы которых сейчас необходима юникодовая версия TeX. Ввиду этого нами была разработана альтернативаная версия пакета многоязыковой поддержки для Омеги, именуемая antomega, которая в настоящее время доступна на CTAN по адресу systems/omega/contrib/antomega. Помимо всего прочего, пакет antomega обеспечивает и возможность корректной работы с русскими текстами.

Hosted by uCoz