Опыт использования конвертора LaTeX2HTML в электронной публикации

Д.В.Иртегов
ЦНИТ НГУ


При подготовке конференции "Новые информационные технологии в университетском образовании'' возникла задача преобразования текстов докладов в HTML. Речь шла о преобразовании около 350 документов общим объемом более 300 страниц; при этом документы содержали формулы и различные "спецэффекты'', что обычно сильно затрудняет преобразование. Печатная версия сборника трудов конференции готовилась в формате LaTeX, что позволило при подготовке электронной версии воспользоваться конвертором LaTeX2HTML. После краткого знакомства с доступными продуктами этого типа, автор остановился на LaTeX2HTML Version 96.1, разработанном Никосом Дракосом (Nicos Dracos) из Университета города Лидс.

Конвертор LaTeX2HTML представляет собой Perl-скрипт объемом около 200 килобайт. Для его работы требуются также LaTeX 2.09 или 2epsilon, dvips, GhostScript и PBMPlus Toolkit: набор утилит для обработки растровых изображений. Сам конвертор и все требуемые утилиты имеют статус freeware.

Конвертор преобразует текст, сохраняя разбивку на параграфы. При этом документ разбивается на отдельные HTML-файлы: по файлу на главу (\chapter{}), раздел (\section{}) или подраздел (\sub...section{}) требуемого уровня, в зависимости от пожеланий пользователя. Автоматически генерируется оглавление со ссылками на все главы, разделы и подразделы. Все конструкции LaTeX, имеющие аналоги в HTML: нумерованные и ненумерованные списки, таблицы, подстрочные примечания, ссылки и т.д. -- преобразуются автоматически. Происходит раскрытие определенных пользователем макросов (\newcommand). Конструкции LaTeX, не имеющие аналогов в HTML, выносятся конвертором в отдельные файлы, которые компилируется LaTeX'ом. Затем полученные .DVI-файлы преобразуются в растровые изображения в формате Compuserve GIF, включаемые конвертором в соответствующие места документа. В частности, таким образом преобразуются математические формулы.

Пользователь имеет возможность определять свои процедуры Perl для обработки нестандартных конструкций, например, определяемых нестандартными стилевыми файлами. Однако это требует знания внутренней структуры программы-конвертора и языка Perl.

Полный набор требуемого программного обеспечения был доступен автору для операционных систем Linux, BSDI386 и OS/2. После тестовых прогонов выбор был остановлен на BSDI386, так как Linux был установлен на компьютере 386SX и скорость была неудовлетворительной, а реализация Perl для OS/2 обладала рядом несовместимостей с реализациями Perl для Unix.

Среди недостатков конвертора следует назвать относительно низкую производительность при обработке документов с большим числом формул и спецэффектов и не вполне адекватную реакцию на ошибки в LaTeX-файле или на незнакомые команды: вместо выдачи сообщения об ошибке конвертор рушится с сообщением Segmentation violation: core dumped. При использовании достаточно мощной техники (в данном случае 486DX2/66 c 16 Мб памяти оказывается достаточно мощным) и предварительном прогоне преобразуемых документов через LaTeX с устранением обнаруженных ошибок и нестандартных команд оба эти недостатка представляются терпимыми.

При преобразовании было обнаружено два источника ручной работы. Во-первых, значительная часть статей преобразовывалась в LaTeX из ASCII-файлов вручную и вместо стандартных конструкций LaTeX использовались визуальные спецэффекты. В частности, вместо макрокоманд создания заголовка использовались команды непосредственной установки шрифта и форматирования параграфа и т.д. Это потребовало ручного просмотра всех исходных файлов и внесения исправлений по мере необходимости. Эта фаза потребовала работы 4 человек в течении примерно 1-1.5 часов (точного хронометража не производилось).

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

Само преобразование происходило в фоновом режиме без человеческого вмешательства. Преобразованные тексты статей ручному редактированию не подвергались. Таким образом, преобразование 350 статей потребовало около 6-8 человеко-часов ручной работы (не считая нескольких часов, затраченных автором на тестовые прогоны конвертора и выбор операционной системы и времени, затраченного на включение преобразованного текста в структуру университетского WWW-сервера). При этом следует отметить, что значительная часть работы была порождена, по существу, организационными проблемами и могла бы быть полностью устранена при более жесткой координации между группами, занимающимися поготовкой исходных документов и печатной версии с одной стороны, и подготовкой электронной версии с другой. По-видимому, можно добиться полной автоматизации процесса, без вмешательства человека в процесс преобразования и без последующего ручного редактирования HTML-документа.

Для сравнения следует сказать, что практически все HTML-преобразватели для WYSIWYG текстовых процессоров, например InternetAssistant для MS Word, нуждаются в просмотре и нередко в ручной правке получаемого текста. Из-за этого трудозатраты на преобразование документов MS Word в HTML оцениваются в 15-20 минут на страницу преобразуемого текста, так что выполнение аналогичного объема работ над исходными файлами в формате Word потребовало бы многих десятков или даже сотен человеко-часов.

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


Д.В.Иртегов
fancy@cnit.nsu.ru

© 1996 Institute of Computation Technologies SB RAS, Novosibirsk