TeXML

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
TeXML
TeXML.svg
Тип

Компьютерная вёрстка

Разработчик

Oleg A. Paraschenko

Написана на

Python

Операционная система

Кроссплатформенное

Последняя версия

Декабрь 2010

Состояние

Поддерживается

Лицензия

MIT

Сайт

http://www.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[править | править вики-текст]

TeXML structure.jpg

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", т. е.: \text­dollar{}, \^{}, \textgreater{} 
\end{document}

Поддержка процессов[править | править вики-текст]

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

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

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]