Вперед Назад Содержание

7. "Русскоязычные" текстовые процессоры

7.1 Поддержка кириллицы в TeX

В этом разделе я опишу несколько способов набора русских текстов в TeX и LaTeX. Есть несколько путей для достижения этой цели, которые отличаются в сложности установки и удобстве использования. Например, одна из возможностей это начать работу без всякой предварительной настройки, используя Washington AMSTeX Cyrillic fonts. С другой стороны, вы можете установить пакет LaTeX, который легко настраивается на пользование кириллицей. У меня был опыт работы с двумя подобными пакетами. Один из них - пакет cmcyralt создан Вадимом В. Житником (vvzhy@phy.ncu.edu.tw) и Александром Харином (harin@lourie.und.ac.za), а другой - пакет LH написан группой CyrTUG. Пакет LH включает в себя стили и расстановку дефисов для LaTeX2e, созданную Сергеем О. Наумовым (serge@astro.unc.edu). Я опишу оба.

Обратите внимание, что доступны две версии LaTeX, одна из них - 2.09 - старая версия , в то время как 2e - новая (выпуск pre-3.0). Если Вы используете LaTeX 2.09, то как можно быстрее переходите на 2e. Последний сохраняет совместимость со старой версией, но имеет намного больше возможностей. Кроме того, версия 3 будет скоро выпущена. Я опишу установку LaTeX 2e.

Да, кстати, оба этих пакета требуют для редактирования русских текстов установку Alt кодировки, а не KOI8-R! Это вызвано историческими причинами, создатели этих пакетов, использовали, их для работы с EmTeX- MS-DOS версии TeX (они еще знали о Linux :-). Переход к KOI8-R требует некоторых усилий и ожидается, что будет скоро сделан. А пока, используйте какие-нибудь утилиту, для перекодировки русского текста из KOI8-R в Alt. См. раздел Символьная перекодировка.

Примечание переводчика: Перечисленные здесь пакеты являются устаревшими, так как последние версии teTeX включают в себя русификацию out of box. Признаком русифицированности TeX'а out-of-box является наличие директории /$TEXMF/tex/latex/t2, $TEXMF обычно равно /usr/lib/texmf. Русификация, как нетрудно догадаться, T2.

Работа с Washington Cyrillic

Этот пакет был создан для Американского Математического Общества, чтобы дать возможность создавать документы со ссылками на первоисточники на русском. Следовательно, авторы не очень "напрягались" при создании этого пакета и шрифты в результате этого выглядят довольно неуклюже. Обычно этот пакет упоминается как "по настоящему плохой пакет кириллицы для TeX".

Однако, мы обсудим его, так как он очень прост в использовании и не требует установки - этот набор содержится в большинстве дистрибутивов TeX.

Конечно, у вас не будете такой роскоши как автоматическая расстановка дефисов, но все равно ...

1. Снабдите ваш документ следующими директивами:

\input cyracc.def
\font\tencyr=wncyr10
\def\cyr{\tencyr\cyracc}

2. Теперь, чтобы напечатать символы кириллицы, вставьте

\cyr 

для печати используйте соответствующий латинский символ или команду TeX. То есть, строчные буквы русского алфавита соответствуют следующим сочетаниям:

a b v g d e \"e zh z i {\u i} k l m n o p r s t u f kh c ch sh shch
{\cprime} y {\cdprime} \`e yu ya

Чрезвычайно сложно преобразовывать ваши русские тексты в такую кодировку, но вы можете автоматизировать этот процесс. Программа translit (раздел Символьная перекодировка) поддерживает опцию вывода TeX.

Русификация teTeX

Если у вас старый дистрибутив teTeXа (версия ниже 1.0), то настоятельно рекомендую скачать последнюю версию этого программного продукта.

Для современных версий TeX'а (teTeX, fpTeX, MikTeX, Web2c TeX) русификация уже входит в дистрибутив.

Первое, что нужно сделать, это подключить русские переносы. Для этого нужно отредактировать файл language.dat находящийся в директории $TEXMF/tex/generic/config/language.dat ($TEXMF обычно равно /usr/lib/texmf или /usr/share/texmf) добавив туда строки:

ruseng ruenhyph
       =russian
       =english

Остальные строки нужно закомментировать, либо удалить. После чего необходимо перегенерировать форматные файлы:

texconfig init

Описанное выше можно проделать через стандартную конфигурационную программу texconfig - выбрать hyphenation -> latex и раскомментировать russian.

Теперь можно работать с русским языком. Добавьте в преамбулу документа (после слов \documentclass{})

\usepackage{mathtext}         % если нужны русские буквы в формулах (не обязательно)
\usepackage[T2A]{fontenc}     % внутренняя T2A кодировка TeX
\usepackage[koi8-r]{inputenc} % кодировка [cp866] [cp1251]
\usepackage[russian]{babel}   % включение переносов

После этого в документе можно использовать русские буквы.

P.S. Это только один из вариантов, самый простой и универсальный решения проблемы русификации. Есть и другие варианты и методы которые на практике могут оказаться более удачными.

Описание русификации teTeX взято из FAQ, поддерживаемого для эхо-конференции RU.TEX Алексеем Махоткиным.

Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить

cyrtxinf      tex             language.dat    cyrtxinf.ini

для русского texinfo. Аналогично для cyrblue и cyramstx.

Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить:

initex '\input cyrtex.ini \dump'

и бросить символическую ссылку с именем cyrtex на tex (например в /usr/bin)

Что бы переключится на русский в этих plain форматах надо использовать команду

\language N
где N - номер, под которым числится русский язык в получившейся раскладке.

Пакет KOI-8 для teTeX (устарело)

Также есть довольно новый пакет teTeX-rus. Он поддерживает набор символов KOI-8 и отвечает всем основным требованиям TeX и LaTeX. Я лично его не пробовал, но я слышал что его успешно используют.

ВНИМАНИЕ: Этот пакет требует, чтобы вы переконфигурировали и пересобрать некоторые части вашего пакета teTeX (например скомпилированные для дальнейшего использования LaTeX макрокоманды). Если вы не знаете точно, что делаете, то вы не должны пробовать это без некой разумной доли осторожности. Вероятно лучше позаимствовать правильно пересобранные части у кого - либо из сети.

Использование пакета для LaTeX cmcyralt (устарело)

Пакет cmcyralt может быть найден на любом архиве CTAN (Comprehansive TeX Archive Network)- например на ftp.dante.de. Вы должны получить две его части: набор шрифтов из fonts/cmcyralt и набор стилей с правилами расстановки дефисов, которые находятся в директории macros/latex/contrib/others/cmcyralt.

ВНИМАНИЕ: Удостоверитесь, что у вас установлен пакет Sauter, так как cmcyralt требует наличия некоторых шрифтов из этого пакета. Этот пакет вы также можете достать из любого архива CTAN.

Теперь вы должны сделать следующее:

  1. Поместите новые шрифты в каталоги шрифтов TeX. На моей системе (Slackware 2.2) я создал каталог cmcyralt в /usr/lib/texmf/fonts/cm/. Создайте подкаталоги src, tfm, и vf в нем. Поместите там .mf, .tfm, и vf файлы соответственно.
  2. Поместите файлы драйвера шрифтов (*.fd) из набора стилей в соответствующее место (в моем случае это было в /usr/lib/texmf/tex/latex/fd).
  3. Поместите файлы стиля (*.sty) в соответствующий каталог стилей LaTeX (в моем случае это было в /usr/lib/texmf/tex/latex/sty)).

Теперь надо настроить переносы. Она потребует, пересобрать основные файлы LaTeX.

  1. Файл hyphen.cfg содержит директивы для и английской и русской расстановки переносов. Извлеките директивы для русских переносов, и поместите их в файл конфигурации расстановки переносов LaTeX - lthyphen.ltx. В моем случае, этот файл был в директории /usr/lib/texmf/tex/latex/latex-base.
  2. Поместите rhyphen.tex в тот же самый каталог. Это необходимо для создания основного файла. Позже, вы можете удалить его.
  3. Выполните команду "make" в этом каталоге. Не забудьте сделать линк от Makefile к Makefile.unx. Во время компиляции следите за выводом. Должно быть сообщение:
    Loading hyphenation patterns for Russian.
    
    Если все прошло O'K, то вы получите в этом каталоге новый latex.fmt. Поместите его туда, где был предыдущий (вероятно в /usr/lib/texmf/ini/). Не забудьте сохранить предыдущую версию файла (так, на всякий пожарный)!.

Это все. Установка закончена. Попробуйте пройтись по примерам, найденным в архиве стилей. Если вы в состоянии создавать PostScript файлы без каких-либо проблем, то все - OK. Теперь, чтобы использовать кириллицу в LaTeX, снабдите ваш документ следующей директивой:

\usepackage{cmcyralt}

Для подробностей, смотрите README файл в архиве стилей cmcyralt.

Обратите внимание: если у вас есть проблемы с примерами, и если вы все сделали правильно, то вероятно ваш пакет TeX не был правильно установлен. Например, во время моей первой попытки, каждая попытка создать .pk файлы для русских шрифтов терпела неудачу (стадия MakeTeXPK). Пристрастное расследование выявило некий неявный конфликт между localfont и ljfour METAFONT настройками. Прежде это работало, но терпело крах после установки cmcyralt. Войдите в контакт вашим местным TeX гуру. TeX очень (иногда слишком) сложен, чтобы переконфигурировать его без отсутствия навыков.

Использование пакета CyrTUG

Вы можете найти пакет CyrTUG в архиве SunSite. Возьмите файлы CyrTUGfonts.tar.gz, CyrTUGmacro.tar.gz, и hyphen.tar.Z.

Процесс установки не слишком отличается от предыдущего.

Использование с TeX'ом кириллических шрифтов в формате PostScriptType1

Возьмите на ftp://ftp.vsu.ru/pub/tex/ пакет PsCyr.

Список свободно доступных кириллических шрифтов можно найти по адресу ftp://xtalk.price.ru/tex/.

Крупнейшим коммерческим производителем кириллических шрифтов является фирма ParaType, http://www.paratype.ru.

Внимание: При использовании Type1 шрифтов в тексте, насыщенном математическими символами, восприятие текста умеренно ухудшится (если не принимать дополнительных усилий по согласованию шрифтов). Математические CM-шрифты не будут сочетаться с текстовыми шрифтами.

7.2 StarOffice

Юрий Коваленко ( http://www.inp.nsk.su/~kovalenko) собрал всю информацию по русификации StarOffice. Она находится по адресу ftp://sky.inp.nsk.su/archives_src/linux/StarOffice/russification.txt. У меня не было возможности попробовать это и я ничего не могу сказать о точности этой информации.

Другие источники информации по этому вопросу предоставлены Евгением Демидовым ( mailto:jack@gpi.ru) - расположен по адресу ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/README и Леоном Кантером - по адресу http://isd.anet.donetsk.ua/~leon/StarOffice/.

Ну и наконец, Star Division Corp. планирует организовать поддержку кириллицы в грядущей версии StarOffice 5.0 (я слышал, что и в этой версии есть проблемы с кириллицей).


Вперед Назад Содержание