Русификация TeX: teTeX (Unix) с новыми шрифтами LH в кодировке T2A
Настоящие записки являются попыткой поделиться опытом русификации последней
версии teTeX-0.9, работающей в ОС Unix, с помощью новых шрифтов семейства LH
в кодировке T2.
В последнее время можно считать практически завершенной работу над поддержкой
в TeX других национальных языков кроме английского. Для европейских языков,
использующих латинские символы, эта работа завершилась разработкой кодировки
T1, а для языков, использующих кириллические символы -- кодировок X2 и T2.
Для облегчения набора текстов с интенсивным использованием русского и
английского языков (что характерно для научных текстов) были созданы три
различные подмножества кодировки X2 --
кодировки T2A, T2B и T2C, в которых
коды кириллических символов расположены в верхней половине таблицы (коды
128..255). Эта таблица может, таким образом, использоваться совместно с
таблицей кодировки OT1 (или T1), в которой все необходимые символы и
лигатуры английского языка расположены в нижней половине таблицы (коды
0..127). Основное преимущество использования кодировки T2 по сравнению с
кодировкой X2 (в которой кириллические символы располагаются во всей
области кодов 0..255) -- отсутствие необходимости переключения между языками
каждый раз, когда в русский текст надо добавить латинские буквы.
Для набора текста на русском языке годится любая из трех кодировок. В
нашем примере мы будем использовать кодировку T2A.
Если у вас еще не установлен teTeX, берем дистрибутив teTeX-0.9 (бета-версия)
здесь,
распаковываем его, и, следуя инструкциям, компилируем и устанавливаем.
Установка пакета поддержки кодировки T2 и шрифтов LH
Для решения нашей задачи нам понадобятся
последний пакет поддержки
кодировки T2 (t2-current.tar.gz) и
шрифты семейства LH
(официальная версия 3.20).
Для установки этих пакетов нам понадобятся права суперпользователя (root).
Поддержка кодировки T2A
- Для установки поддержки кодировки T2A распаковываем пакет t2-current в
рабочей директории, и запускаем "tex cyrlatex.ins", который создает целый
ряд файлов с расширениями .fd и .def
- Создаем новую директорию $TEXMF/tex/latex/t2/ и копируем туда файлы
t2a*, koi8-r.def (файл, определяющий koi8-r как кодировку, используемую
в документе), cp866av.def (то же для альтернативной кодировки) и, если
нужно, файлы определения других кодировок
- Чтобы новые файлы были "приняты" TeX'ом, запускаем texhash
Поддержка стилевых особенностей оформления текстов на русском языке
с помощью пакета babel
Для установки поддержки русского языка с помощью babel нам понадобится также
последняя версия пакета babel, которую можно взять на любом сервере CTAN
(например,
здесь).
При использовании babel нам уже не нужны другие пакеты русификации (типа
russcorr.sty или russian.sty).
- Распаковываем пакет babel в отдельной рабочей директории
- Заменяем старые файлы russianb.dtx, cyrillic.fdd и cyrillic.ins в
директории babel на новые, который берем из пакета t2-current (из директории
rusbabel)
- В рабочей директории babel запускаем "tex babel.ins"
- Стираем все файлы в директории $TEXMF/tex/generic/babel/ и копируем
туда все созданные в рабочей директории файлы *.ldf, *.sty, *.fd, *.def
- Запускаем texhash
Поддержка переносов в русском и английском текстах
- Берем на CTAN пакет
ruhyphen,
и копируем все *.tex файлы в директорию $TEXMF/tex/generic/hyphen/ruhyphen/
- В файле $TEXMF/tex/generic/config/language.dat выбираем нужные языки и файлы
переносов (можно использовать в качестве примера файл language.dat из пакета
ruhyphen; старый файл можно переименовать).
- Скорее всего, вам будет нужна поддержка переносов не только в LaTeX,
но и в других пакетах TeX'а (например, в pdflatex). Поэтому, вместо того,
чтобы запускать initex несколько раз, лучше запустить программу texconfig
и последовательно выбрать в ней команды меню rehash и hyphen.
- Если вам нужна поддержка русского языка и переносов в Plain TeX (а также
AMS-TeX, TeXinfo), то можно воспользоваться файлами из директории cyrplain
в T2 package.
После этого рабочие директории babel и t2-current можно стереть.
Установка новых шрифтов семейства LH
- Распаковываем шрифты семейства LH в отдельной рабочей директории.
- Устанавливаем шрифты, следуя инструкции в файле INSTALL пакета LH.
Для установки можно использовать скрипт inst-lh.sh, который создает все
необходимые файлы для всех возможных кодировок (T2A, T2B, T2C, X2, LCY
и LWN). Для установки файлов, относящихся только к кодировке T2A, нужно
либо отредактировать этот скрипт, либо выполнить следующие операции вручную:
- Заходим в директорию texinput/lh/ и запускаем "tex 15ex-la", который
создает в поддиректории wrk около 300 файлов
- Создаем новую директорию $TEXMF/fonts/source/lh/t2a/ и копируем туда
все файлы с расширением .mf из поддиректории wrk
- Создаем новую директорию $TEXMF/fonts/source/lh/base/ и копируем туда,
с сохранением структуры, содержание директории mfinput/lh/ пакета LH
- Редактируем файл special.add в рабочей директории, оставляя в нем только
раздел, относящийся к T2A-кодировке. Добавляем этот файл в конец файла
$TEXMF/fontname/special.map и стираем из него все старые строки, относящиеся
к шрифтам LH
- Делаем patch к файлу $TETEXDIR/bin/mktexmf
- Делаем patch к файлу $TEXMF/web2c/mktexnam
- В завершение запускаем texhash
Теперь рабочую директорию с шрифтами можно стереть.
Установка RevTeX
Установка RevTeX не является обязательной, но может понадобиться, если
вы работаете с физико-математическими текстами.
- Устанавливаем стилевые файлы
пакета RevTeX-3.1 в
отдельную директорию $TEXMF/tex/latex/revtex/. Для работы с LaTeX2e не
забудьте создать в этой же директории файл revtex.cls: текст этого файла
вы найдете в файле README пакета RevTeX
- Делаем texhash
Все готово!
Теперь для работы со смешанным русско-английским текстом в преамбуле
документа достаточно написать:
\documentclass{...}
\usepackage[koi8-r]{inputenc} % устанавливаем кодировку текста koi8-r
\usepackage[russian]{babel}
Более детальную информацию по установке и использованию вы найдете в
документации, прилагаемой к пакетам LH и T2.
Наконец, работая с русскими текстами, вам может понадобиться программа
проверки орфографии. Для этой цели удобно использовать программу ispell
с словарями, которые можно взять
здесь.
Записки сделал
Александр Лебедев