The same text is available in English.

Перед вами небольшой стилевой пакет написанный Александром Черепановым для руссификации LaTeX'а. Использование этого пакета позволит вам использовать русские буквы в командах LaTeX'а, аргументах команд \label, \cite и др. Кроме того, вы сможете нормально читать промежуточные файлы создаваемые LaTeX'ом: .toc, .aux и др.

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

Для использования данного пакета вам следует подключить его в начале своего документа командой

\usepackage{russlh}

и запускать latex (или pdflatex) со следующей опцией: --tcx=<my.tcx>, где <my.tcx> зависит от того, в какой кодировке написан ваш текст:
latex --tcx=win2t2 myfile.tex     для кодировки Windows (cp-1251)
latex --tcx=koi2t2 myfile.tex     для кодировки Unix (koi8-r)
latex --tcx=alt2t2 myfile.tex     для кодировки DOS (cp-866)

Это ВСЁ, что нужно для руссификации LaTeX'а, традиционные пакеты inputenc, babel в этой ситуации НЕ НУЖНЫ.

При использовании совместно с пакетом hyperref, для получения русских "закладок" (bookmarks, outlines) в PDF следует подключить ещё один пакет:

\usepackage[<enc>]{pdfstringdefPostHook}
\usepackage[unicode=true]{hyperref}
где опция <enc> указывает кодировку вашего текста (возможные значения: cp866, cp1251 и koi8-r).

Инсталляция

Пакет состоит из пяти файлов:

russlh.sty
pdfstringdefPostHook.sty
alt2t2.tcx
koi2t2.tcx
win2t2.tcx

Эти файлы следует скопировать в то место на вашей машине, откуда они будут видны LaTeX'у. Например, при использовании MiKTeX, вы можете положить стилевые файлы в каталог \localtexmf\tex, а tcx файлы в каталог \localtexmf\web2c. После этого обновите базу данных (В MiKTeX'е вы можете сделать это при помощи утилиты "MiKTeX options", или командой initexmf -u).

Как это работает (кратко)

Основная идея использованная в данной руссификации состоит в том, чтобы перекодировать все входные файлы в кодировку T2A — кодировку большинства русских шрифтов LaTeX'а. Русские буквы, получают TeX'овскую категорию 11 (см. The TeX book) и являются полноценными буквами. Это позволяет им использоваться в именах команд, метках, и др. Кроме того, при записи во внешние файлы они не превращаются в команды типа \cyr... а перекодируются обратно во входную кодировку. Таким образом, Вы сможете нормально читать .toc файлы. (Разумеется, используя несложный скрипт Вы можете читать и обычный .toc файл, полученный с использованием традиционного пакета inputenc, однако это уже совсем другая история.)

Скачать файлы пакета Zip файл, 3КБ.

Евгений Миньковский emin@mccme.ru


Russlh is a small package which provides a russification of LaTeX independent of babel and fontenc style packages. With russlh you will be able to use Russian letters in control sequence names and labels. Besides, LaTeX auxiliary files (.toc, .aux, etc.) will be readable.

Usage

To use this package, put the command

\usepackage{russlh}

in the preamble of your document and run LaTeX with the flag --tcx=<my.tcx>, where <my.tcx> depends on the encoding of your Russian document.

To wit,
say latex --tcx=win2t2 myfile.tex    for the Windows encoding (cp1251),
say latex --tcx=alt2t2 myfile.tex    for the "alternative" DOS encoding (cp866), and
say latex --tcx=koi2t2 myfile.tex    for koi8r encoding (UNIX, Linux, etc.)

That's all you need to process a Russian document; packages like babel and inputenc are not needed at all. If you use russlh with hyperref package (in order to obtain Russian bookmark, a.k.a. outlines), you should invoke one more package:

\usepackage[<enc>]{pdfstringdefPostHook}
\usepackage[unicode=true]{hyperref}
where <enc> option specifies the encoding of your Russian document (possible values are cp866, cp1251, and koi8-r).

Installation

The package consists of five files:

russlh.sty
pdfstringdefPostHook.sty
alt2t2.tcx
koi2t2.tcx
win2t2.tcx

Copy these files to any directory where TeX could find them. For example, if you are using MiKTeX, you may place the .sty files into \localtexmf\tex and the .tcx files into \localtexmf\web2c. Be sure to refresh the database after that (in MiKTeX, this is done either with the "MiKTeX options" utility or with initexmf -u).

A brief description (some TeXnicalities)

The main idea is to recode all the input files into the T2A encoding. Russian letter are \catcode'd to 11 ("letter"); thus, they can be freely used in control sequence names, labels, etc. In text files written by LaTeX (.toc, .aux, .idx, etc.) Russian letters are recoded back to their initial form, which makes these files readable and simplifies the processing of .idx files.

Download the package Zip файл, 3КБ.

Yours Sincerely, Eugene Minkovskii emin@mccme.ru