ТеXML
Разработчик(и) | Oleg A. Paraschenko |
---|---|
Стабильная версия | декабрь 2010 г.
|
Написано в | Питон |
Операционная система | Кросс-платформенный |
Тип | верстка |
Лицензия | Лицензия Консорциума MIT/X |
Веб-сайт | http://www.getfo.org/ |
TeXML [tɛχːml] — как процесс — основанная на TeX альтернатива XSL-FO .
TeXML был разработан как проект с открытым исходным кодом с целью автоматического представления XML- данных в формате PDF со сложными свойствами макета.
Посредством определения вспомогательной структуры TeXML преодолевает синтаксические различия между TeX и XML.
Технически элементы разметки TeX описываются с использованием синтаксиса XML.
История
[ редактировать ]TeXML — это дальнейшее развитие спецификации, первоначально определенной Дугласом Ловеллом из IBM, в которой структуру и преобразование следует различать .
- Структура
- XML-определение структуры TeXML можно считать завершенным с 1999 года (TeXML.dtd).
- Он представляет собой связь разметки между TeX и XML.
- Трансформация
- Процессы трансформации идут гладко с конца 2010 года, возможно продуктивное применение технологии.
- Первоначальный подход к использованию приложения Java был опубликован IBM на сайте IBM AlphaWorks, но больше не существует. Оно было представлено в документе
на ежегодном собрании группы пользователей TeX в 1999 году. [1]
Приложение
[ редактировать ]TeXML используется для создания технической документации из данных XML.
После преобразования TeXML → TeX становится доступен весь диапазон макросов TeX, определенный LaTeX.
С помощью макросов TeX можно публиковать данные XML с настраиваемыми параметрами макета .
Специальные предложения
[ редактировать ]- TeXML позволяет автоматически публиковать данные XML с помощью механизма набора текста, который изначально был разработан для набора текста вручную .
- В отличие от публикации с использованием техники XSL-FO, свойствами макета XML-данных можно манипулировать с помощью правил исключений в промежуточном коде.
- Правила исключений изучаются в процессе публикации, поэтому свойства макета улучшаются с каждым циклом генерации.
- Высокоскоростные процессы публикации, увеличение скорости до 100 раз по сравнению с процессами на основе XSL-FO, особенно в случае больших документов.
Структура TeXML
[ редактировать ]Определение типа документа (DTD) структуры TeXML состоит из элементов XML:
- Корневой элемент: TeXML
- Команды кодирования: cmd
- Среды кодирования: env
- Группы кодирования: группа
- Кодирование математических групп: math и dmath
- Кодирование управляющих символов: ctrl
- Кодирование специальных символов: спец.
- PDF-литералы: pdf
Состав документа TeXML
[ редактировать ]Пример XML-документа, который уже преобразован в структуру TeXML:
<TeXML>
<TeXML escape="0">
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
</TeXML>
<env name="document">
Misinterpretation of special characters as being functional characters is called "Escaping", thus: $, ^, >
</env>
</TeXML>
Процесс TeXML
[ редактировать ]Процесс TeXML преобразует данные XML, которые описаны во вспомогательной промежуточной структуре TeXML, в TeX:
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
Misinterpretation of special characters as being functional characters is called "Escaping", thus: \textdollar{}, \^{},
\textgreater{}
\end{document}
Сопровождающие процессы
[ редактировать ]Работы на «Уровне сбора данных» (XML) и «Уровне публикации» (TeX) поддерживаются разными инструментами, например:
- Уровень сбора данных: редакторы XML
- – Eclipse (IDE) с открытым исходным кодом.
- – другие бесплатные редакторы XML
- Уровень публикации: синхронизация между кодом и созданным PDF-файлом с помощью pdfSync:
- – ПК с ОС Windows: редактор MiKTeX
- – Mac OS X: редактор TeXShop
Литература
[ редактировать ]- Фрэнк Миттельбах The LaTeX Companion. Архивировано 18 мая 2004 г. в Wayback Machine - Инструменты и методы компьютерного набора текста.
- Мишель Гуссенс The XeTeX Companion – TeX сочетается с OpenType и Unicode
Внешние ссылки
[ редактировать ]- SGML/XML и (La)TeX – подходы к преобразованию XML в TeX
- TeXML: синтаксис XML для TeX – проект TeXML (Скачать)
- Как встроить pdfsync в pdftex – Синхронизация между кодом и PDF
- TeXML: набор текста XML с помощью TEX – оригинальная концепция проекта TeXML
- Возрождение TEXа в мире XML - статья Олега Паращенко на TUGboat, 2007 г., вновь мотивирует TeXML
- Генерация документов TEX с использованием pdfscript - статья Олега Паращенко на TUGboat 2010 г. описывает реализацию Python