«A Василий Малышев 25 августа 2003 г. Содержание Русификация и шрифты Стандартная русификация PostScript и TrueType шрифты Обход пакета ‘inputenc’ Мода совместимости с LTEX 2.09 A ...»
Русификация LTEX/Plain TEX
BAKOMA TEX
A
Василий Малышев
25 августа 2003 г .
Содержание
Русификация и шрифты
Стандартная русификация
PostScript и TrueType шрифты
Обход пакета ‘inputenc’
Мода совместимости с LTEX 2.09
A
Русификация Plain TEX’а
1 Русификация и шрифты
BAKOMA TEX, начиная с версии 2.10, включает стандартный пакет cyrillic появившийся в Декабрьском(1998) выпуске LTEX 2. Пакет Babel обеспечивает согласованную поддержку Русского, Украинского и Белорусского языков. Эта русификация использует LHA шрифты в кодировке T2A, которые распространяются вместе с BAKOMA TEX’ом .
Однако, эти шрифты доступны только зарегистрированным пользователям системы .
Для работоспособности не зарегистрированной копии система содержит таблицы замены LH* и LA* шрифтов на виртуальные шрифты (СY* и T2*), сделанные специально для их имитации .
2 Стандартная русификация И так, стандартная русификация работает без какого либо изменения вашего документа. Для набора документа на русском языке в шапку документа (перед \begin{document}) следует включить следующее:
% Кодировка \usepackage[english,russian]{babel} % Многоязычность \usepackage[cp1251]{inputenc} Заметим, что кодировку шрифта (\usepackage[T2A]{fontenc}) задавать не следует. Пусть система самостоятельно выберет ту кодировку шрифта в которой у неё таблица переносов .
Вместо кодировки сp1251 вы можете использовать и другие кодировки: cp866, koi8-r, iso88595, maccyr, cp855, и различные их варианты. Подробнее описано в документации к пакету cyrillic .
Заметим, что BAKOMA TEX позволяет вам набирать документы во всех этих кодировках. которые можно выбирать используя диалог, вызываемый командой меню ‘Options|Editing Settings...[Script/Font]’ .
3 PostScript и TrueType шрифты BAKOMA TEX 2.20 поддерживает использование TrueType шрифтов для всех типов вывода (просмотр, печать, генерация PostScript’а и PDF’а). Такая возможность позволяет использовать шрифты Times New Roman, Arial и Courier New, которые распространяются со всеми версиями MS Windows и содержат кирилические буквы .
В LTEX 2, эти шрифты доступны через семейства mns, ma1 и mcr в кодировках OT1,
T1 и T2A Таким образом набрать документ этими шрифтами можно так:
A \usepackage[english,russian]{babel} % Выбирает T2A \usepackage{timesnps,arial,mcourier} Однако, наиболее интересно то, что эти шрифты педантично согласуются со стандартными PS шрифтами: Times, Helvetica и Courier. Поэтому Я добавил в систему шрифты в T2A кодировке, которые для латинских букв используют PS шрифты, а для кирилических букв используют их Windows–аналоги.
Использовать их можно так:
\usepackage[english,russian]{babel} % Выбирает T2A \usepackage{times} Использование таких комбинированых шрифтов имеет то преимущество что минимизируется размер генерируемых PDF и PostScript файлов, что связано с тем, что стандартные шрифты (Times, Helvetica, Courier) не занимают места в генерируемых файлах .
4 Обход пакета ‘inputenc’ Использование стандартной русификации подразумевает подключение пакета ‘inputenc’, который делает все русские буквы активными символами. Такой подход даёт возможность развязать кодировку документа и шрифта. Однако, при попытке использовать русские буквы на равне с английскими ломается функционирование даже стандартных пакетов LTEX 2, не говоря уже о множестве дополнительных пакетов .
Можно отказаться от пакета ‘inputenc’, уменьшив шапку до:
A \usepackage[english,russian]{babel} % Подключаем Babel При этом, следует использовать TCX таблицы вместо пакета ‘inputenc’. Для включения нужной TCX таблицы достаточно выбрать внутреннюю кодировку TEX’а (‘Internal TeX Encodi что осуществляется в диалоге открываемом командой меню ‘Options|TeX Running Parameters...’. Следует выбрать кодировку T2A (если не используются шрифты в другой кодировке). При этом следует убедиться, что у вас правильно выбрана кодировка вашего документа, что делается в диалоге открываемом командой меню ‘Options|Editing Settings...[Script/Font]’. Это важно, ибо TCX таблица будет сгенерена автоматически на основании этих двух кодировок .
Этот подход имеет тот недостаток, что весь документ должен быть в одной кодировке .
Хотя, я думаю, такое ограничение не пугает 99.9 % пользователей .
\documentstyle[...,russian]{article}.. .
Это будет работать, благодаря стилевому файлу ‘russian.sty’, который находится в директории ‘texmf\tex\latex\bakoma’ .
Этот файл цепляет Babel аналогично тому как это описано в предыдущем разделе .
Т.е. действие пакета ‘inputenc’ заблокировано, что правильно из соображений совместимости со старыми документами. Следовательно, вам нужно позаботиться о правильной установке кодировок, как это описано в предыдущем разделе .
Опять таки, из соображений совместимости, заблокировано действие сокращений типа "=, которых не было в старом LTEX 2.09. К тому же, активность символа " ломает множество документов в которых этот символ используется в довольно вольном стиле .
A
Все таки, если ваш документ содержит слишком много таких кавычек введенных с использованием одной угловой скобки, можно включить такую моду используя команду ‘\OldStyleGuillemots’. Однако, при этом и становятся активными символами, что может ломать документы, которые используют угловые скобки, например в макросах. Проблем можно избежать, вводя эту команду после определения ваших макросов .
За математику не бойтесь, математическая мода обрабатывается правильно .
В любом случае, если вы желаете обработать старый документ вы можете установить старый LTEX 2.09, который можно установить с помощью модуля latex209.bkz из директории дистрибутива ‘Macros’. В этот пакет включена старая протвинская русиA фикация с тем небольшим изменением, что она использует шрифты в кодировке T2A. а значит для её правильной работы необходтмо правильно настроить TCX, как это было описано ранее .
6 Русификация Plain TEX’а Русификация Plain TEX’а выполнена в виде отдельного формата, который выбирается как Plain TeX + Rus в меню ‘TeX|TeX Formats’ .
Вкратце: этот формат совместим с Протвинской русификацией, но шрифты и таблица переносов в кодировке T2A (почти CP1251). Однако, для таблицы переносов это не важно ибо она не содержит буквы ‘ё’. Для шрифтов это означает различное расположение букв ‘Ё’, ‘ё’ и ‘№’ (знака номера). Так. если после обработки документа вы не видите букв ё и Ё вам следует правильно установить параметры описываемые далее .
Для обработки файлов этим форматом следует установить:
• ‘Script’ должен быть установлен в соответствии с кодировкой вашего исходного • ‘Internal TeX Encoding’ = T2A, a
Таким образом, можно обрабатывать документ в любой русской кодировке учтённой в системе (CP1251, CP866, KOI8, ISO 8859-5, MAC, CP855) .
Напомню, что Script ставиться в ‘Options|Editing Settings...[Script/Font]’ а Internal TeX Encoding ставиться в Project|Parameters .
Некоторые особенности формата Для переключения между русской и английской таблицей переносов используйте команды \English и \Russian. При запуске выбрана русская таблица переносов .
Для независимости от кодировок знак номера (в некоторых он не представлен) можно вводить командой \numbersign ‘№’ .
Кавычки–ёлочки вводятся одинарными скобками (, ) «лапки по Протвински»
Для выбора шрифта независимо от кодировки можно использовать дополнительную команду \xfont вместо команды \font, указывая при этом имя оригинального шрифта .