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

Литература Frank Mittelbach The LaTeX Companion — Tools and techniques for computer typesetting Michel Goossens The XeTeX Companion — TeX meets OpenType and Unicode

Ссылки SGML/XML and (La)TeX — Решения по представлению XML-данных в формате TeX TeXML: an XML syntax for TeX — Проект TeXML (загрузка) How to embed pdfsync into pdftex — Синхронизация между кодом и PDF TeXML: Typesetting XML with TEX — Первоначальная концепция проекта TeXML TeXML: A three-part solution that provides a path from XML into the TeX formatting language — Краткое описание проекта IBM Research (архив)

Категория:Языки разметки Категория:TeX Категория:XML Категория:Стандарты на основе XML Категория:Форматы текстовых документов