KOI-8 CP 1251 ISO 8859-5 MACOS


Развернутый научный отчет по инициативному проекту 95-07-19400в за 1995 год

"Эффективный способ адекватного представления научной информации в компьютерных системах России"


Руководитель: Знаменский Сергей Витальевич

Исполнитель: Воронин Андрей Владимирович


Организации, где выполнялся проект:


Общедоступная система TeX, сочетающая в себе международный стандарт представления научной информации в компьютерных сетях и базах данных с настольной издательской системой высочайшего класса, могла бы стать основой многих информационных систем России. Главным препятствием к этому является наличие многочисленных вариантов русификации системы, трудно совместимых между собой. Целью первого года работы над рассматриваемым проектом являлось создание стандарта русификации TeX для пользователей наиболее широко распространенной операционной системы MSDOS, становящегося основой для создаваемых научных информационных систем и баз данных.

Речь шла не об утвержденном некими инстанциями законе, а о пакете программ, который бы стал стандартом de facto благодаря своей широкой распространенности. Для этого он должен по меньшей мере не уступать существующим пакетам по наиболее критичным для пользователя параметрам. Такими параметрами, отработка которых планировалась в заявке, в первую очередь являются:

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

Первый тестовый вариант пакета TeX для IBM PC был готов, как и планировалось, в июле (сейчас - на момент сдачи отчета - он тестируется и доводится в КГУ, КГПУ и ИТФ, готовится пользовательская документация).

По ходу дела выяснилось, что качество свободно распространяемых ассоциацией CyrTUG шрифтов значительно улучшилось, а авторы шрифтов из Протвино не дали разрешения включить их шрифты в свободно распространяемый РФФИ дистрибутив. Поэтому мы построили пакет на шрифтах ассоциации.

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

Задача русификации библиотечного процессора выполнена полностью. В рамках работ по созданию графического редактора полностью выполнена задача создания пакета графических макросов, реализующих "библиотеку" элементарных графических объектов разрабатываемого редактора, а работа над графическим интерфейсом ограничилась разработкой концепции и рядом экспериментов с векторными шрифтами.

Задача по совершенствованию алгоритма переносов русских слов получила решение на качественно новом уровне: количество ошибочных и пропущенных переносов сократилось в 5-10 раз.

Развернута работа над русскими шрифтами (завершенность примерно 40% )

Тестовая версия пакета РФФИ "Русский TeX" основана на лучшем в мире дистрибутиве TeX (EmTeX distribution, July-September of 1995) для DOS. Проработан вопрос его частичной установки в соответствии с конфигурацией компьютера, операционной системы пользователя и его потребностями. Пока пакет не рекомендован для широкого распространения, поскольку в него временно входят шрифты ассоциации CyrTUG. Русские переносы Д. Вулиса заменены на значительно лучшие, разработанные в рамках проекта; русификация включает в себя также изменения, обеспечивающие исправное функционирование русских переносов, команд изменения регистра (строчные, прописные), включение русских букв в командные слова; добавление символов <<, >>, \No; перевод стандартных заголовков и элементов подписей (рис., фиг., табл., ...).

В комплект включены наиболее мощные и трудно конфигурируемые пакеты графической поддержки (BM2FONT,MFPIC). Это сделано с целью отработать структуры директории и возможности легкой конфигурации с тем, чтобы дальнейшее расширение возможностей систем проходило безболезненно для пользователей.

Центральным элементом дистрибутива является интеллектуальная оболочка, запускающаяся из DOS или DOSовского окна и предоставляющая пользователю следующие возможности:

Алгоритм библиотечного процессора "BibTeX" адаптирован для корректной обработки русских букв в ALT-кодировке и добавлен модуль, осуществляющий поиск файлов в поддиректориях всех уровней (в соответствии с последним стандартом EmTeX). Создан пакет графических макросов "LINEDRAW", предоставляющий в распоряжение пользователя обширную библиотеку графических объектов - всего около 40 типов основных объектов, в том числе произвольные части дуг окружностей, эллипсов и парабол (дуги могут быть как обычные, так и штриховые, волнистые, зубчатые). При этом любой объект или группа объектов могут быть повернуты на любой угол. Используемый механизм рисования обеспечивает качественное воспроизведение рисунков и диаграмм на любом устройстве вывода, работающем с системой TeX (не требуются дорогостоящие PostScript-принтеры). Результаты доложены исполнителем А.В.Ворониным на научно-практической конференции "CyrTUG-95" (2-5 октября 1995 г., Протвино).

Русификация алгоритма "BibTeX" проведена впервые. Пакет "LINEDRAW" по совокупности качеств не имеет близких аналогов. Впервые в мире локальная адаптация всех форматов производится без модификации исходных файлов только с помощью внешних добавок, что облегчает обновление системы. Как предусмотрено создателями пакета LaTeX2e, для него форматный файл создается один для всех языков; для остальных форматов русифицированный вариант формируется как самостоятельный форматный файл.

Существующие в мире двуязычные реализации "BibTeX" рассчитаны на использование "кодовых таблиц" (8-битный ввод и 7-битный вывод) и по ряду причин неудобны для работы с русским текстом. В "RBibTeX" впервые осуществлена полноценная русификация (8-битный ввод и вывод) с тонкой настройкой алгоритма на конкретную русскую кодировку. Пакет "LINEDRAW" по сравнению с другими графическими пакетами имеет ряд преимуществ, в том числе:

Оболочка далеко превосходит по возможностям, простоте в обращении и интеллекту существующие в мире.

При разработке "RBibTeX" в качестве основы был взят алгоритм "BibTeX" на языке Си (несколько модулей суммарного размера более 500 Kb), написанный в 1993 г. Н.Кемпсоном на основе оригинального алгоритма О.Паташника (автора "BibTeX") на языке Паскаль. Использовался компилятор Borland C++ (версия 2.0) для MS-DOS. Русификация алгоритма потребовала многочисленных изменений как в модулях ввода-вывода, так и в основном алгоритме (в частности, специальный фрагмент был добавлен для корректной реализации функции "change.case" для русских букв в ALT-кодировке). Кроме того, для соответствия с последним стандартом EmTeX был изменен алгоритм обработки командной строки и добавлен модуль, осуществляющий поиск файлов в поддиректориях всех уровней.

При создании пакета "LINEDRAW" была реализована идея формирования сложных рисунков из большого числа линейных элементов. Используются команды "{\tt\string\special\{em:moveto\}}" и "{\tt\string\special\{em:lineto\}}", поддерживаемые в настоящее время не только EmTeX-драйверами, (DVISCR, DVIHPLJ, DVIDOT,...), но и другими популярными драйверами, например, DVIPS и DVIWIN. Столь масштабная реализация данной идеи осуществлена впервые.