В этом разделе я опишу несколько способов набора русских
текстов в 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.
Этот пакет был создан для Американского Математического
Общества, чтобы дать возможность создавать документы со ссылками
на первоисточники на русском. Следовательно, авторы не очень
"напрягались" при создании этого пакета и шрифты в результате этого
выглядят довольно неуклюже. Обычно этот пакет упоминается как
"по настоящему плохой пакет кириллицы для 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а (версия ниже 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 - номер, под которым числится русский язык в получившейся раскладке.
Также есть довольно новый пакет teTeX-rus. Он поддерживает набор символов KOI-8 и отвечает всем основным требованиям TeX и LaTeX. Я лично его не пробовал, но я слышал что его успешно используют.
ВНИМАНИЕ: Этот пакет требует, чтобы вы
переконфигурировали и пересобрать некоторые части вашего пакета
teTeX
(например скомпилированные для дальнейшего использования
LaTeX макрокоманды). Если вы не
знаете точно, что делаете, то вы не должны пробовать это без
некой разумной доли осторожности. Вероятно лучше позаимствовать правильно
пересобранные части у кого - либо из сети.
Пакет cmcyralt может быть найден на любом архиве CTAN (Comprehansive
TeX Archive Network)- например на ftp.dante.de
. Вы должны
получить две его части: набор шрифтов из fonts/cmcyralt
и
набор стилей с правилами расстановки дефисов, которые находятся в директории
macros/latex/contrib/others/cmcyralt
.
ВНИМАНИЕ: Удостоверитесь, что у вас установлен пакет Sauter
,
так как cmcyralt
требует наличия некоторых шрифтов из этого
пакета. Этот пакет вы также можете достать из любого архива CTAN.
Теперь вы должны сделать следующее:
cmcyralt
в
/usr/lib/texmf/fonts/cm/
. Создайте подкаталоги src
,
tfm
, и vf
в
нем. Поместите там .mf
, .tfm
, и vf
файлы соответственно.*.fd
) из набора стилей в
соответствующее место (в моем случае это было в
/usr/lib/texmf/tex/latex/fd
).*.sty
) в соответствующий каталог
стилей LaTeX (в моем случае это было в
/usr/lib/texmf/tex/latex/sty)
).Теперь надо настроить переносы. Она потребует, пересобрать основные файлы LaTeX.
hyphen.cfg
содержит директивы для и английской и русской
расстановки переносов. Извлеките директивы для русских переносов, и
поместите их в файл конфигурации расстановки переносов LaTeX -
lthyphen.ltx
. В моем случае, этот файл был в директории
/usr/lib/texmf/tex/latex/latex-base
.
rhyphen.tex
в тот же самый каталог. Это необходимо
для создания основного файла. Позже, вы можете удалить его.
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 в архиве
SunSite. Возьмите файлы CyrTUGfonts.tar.gz
,
CyrTUGmacro.tar.gz
, и hyphen.tar.Z
.
Процесс установки не слишком отличается от предыдущего.
Возьмите на ftp://ftp.vsu.ru/pub/tex/ пакет PsCyr.
Список свободно доступных кириллических шрифтов можно найти по адресу ftp://xtalk.price.ru/tex/.
Крупнейшим коммерческим производителем кириллических шрифтов является фирма ParaType, http://www.paratype.ru.
Внимание: При использовании Type1 шрифтов в тексте, насыщенном математическими символами, восприятие текста умеренно ухудшится (если не принимать дополнительных усилий по согласованию шрифтов). Математические CM-шрифты не будут сочетаться с текстовыми шрифтами.
Юрий Коваленко ( 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 (я слышал, что и в этой версии есть проблемы с кириллицей).