TeXML — Википедия

TeXML
Логотип программы TeXML
Скриншот программы TeXML
Тип Компьютерная вёрстка
Разработчик Oleg A. Paraschenko
Написана на Python
Операционная система Кроссплатформенное
Последняя версия Декабрь 2010
Состояние Поддерживается
Лицензия MIT
Сайт getfo.org

TeXML [tɛχːml] — как процесс — является созданной на базе TeX альтернативой XSL-FO.

TeXML был разработан как проект OpenSource с целью представления XML-данных в автоматическом режиме и в виде высококачественного макета в формате PDF.

Посредством дополнительного определения структуры TeXML объединяет существующие различия синтаксиса между TeX и XML.

Технически это происходит в виде отображения элементов разметки TeX в синтаксисе XML.

Разработка

[править | править код]

TeXML является модификацией первоначально созданной IBM спецификации; однако, здесь следует различать понятия Структура и Преобразование.

  • Структура
Определение XML для TeXML-структуры с 1999 г. считается законченным (TeXML.dtd).
Она представляет собой разметку, которая выполняет роль связующего звена между TeX и XML.
  • Преобразование

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

Первоначальная попытка разработки приложения Java была отклонена IBM и в дальнейшем не проводилась.

Область применения

[править | править код]

TeXML используется для генерирования Технической документации из XML-данных.

После преобразования TeXML --> TeX доступна определённая посредством LaTeX библиотека TeX-макросов.

С помощью TeX-макросов для публикации XML-данных возможно определение произвольно конфигурируемого макета.

Особенности

[править | править код]
  • TeXML обеспечивает автоматическую публикацию XML-данных с помощью программы текстового набора, разработанной для ручного набора символов.
  • В отличие от публикации по технологии XSL-FO на макет публикуемых XML-данных можно тонко воздействовать с помощью правил исключения в промежуточном коде.
  • Правила исключения могут запоминаться в ходе процесса публикации — таким образом макет оптимизируется с каждым (новым) циклом генерирования.
  • Высокая скорость процесса публикации, особенно в случае объёмных документов, где скорость в 100 раз выше, чем у процессов на базе XSL-FO.

Структура TeXML

[править | править код]

DTD TeXML-структуры состоит из XML-элементов:

  • Root element: TeXML
  • Encoding commands: cmd
  • Encoding environments: env
  • Encoding groups: group
  • Encoding math groups: math и dmath
  • Encoding control symbols: ctrl
  • Encoding special symbols: spec
  • PDF literals: pdf

Структура документа TeXML

[править | править код]

Пример XML-документа, который уже был преобразован в структуру TeXML:

<TeXML> <TeXML escape="0"> \documentclass[12pt]{scrartcl} \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[english,russian]{babel} </TeXML> <env name="document"> Неверную интерпретацию служебных символов в качестве управляющих называют "Escaping", т. е.: $, ^, > </env> </TeXML> 

Процесс TeXML

[править | править код]

Процесс TeXML преобразует представленные в промежуточном формате TeXML XML-данные в формат TeX:

\documentclass[12pt]{scrartcl} \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[english,russian]{babel} \begin{document} Неверную интерпретацию служебных символов в качестве управляющих называют "Escaping", т. е.: \textdollar{}, \^{}, \textgreater{}  \end{document} 

Поддержка процессов

[править | править код]

Рабочие процедуры на уровне обработки (XML) и уровне публикации (TeX) поддерживаются различными инструментами, например:

  • Уровень обработки: Редакторы XML
 — Eclipse (IDE), открытые исходники
 — другие редакторы XML
  • Уровень публикации: Синхронизация между кодом и генерируемым PDF с помощью pdfSync:
 — Windows PC: редактор MiKTeX
 — Mac OS X: редактор TeXShop

Литература

[править | править код]