TeXML

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

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

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

Литература править

Ссылки править