TeXML

Поделись знанием:
Перейти к: навигация, поиск
TeXML
Тип

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

Разработчик

Oleg A. Paraschenko

Написана на

Python

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

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

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

Декабрь 2010

Состояние

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

Лицензия

MIT

Сайт

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

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

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

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

Напишите отзыв о статье "TeXML"

Литература

  • Frank Mittelbach [www.latex-project.org/guides/tlc2-ch0.pdf The LaTeX Companion] — Tools and techni­ques for computer typesetting
  • Michel Goossens [xml.web.cern.ch/XML/lgc2/xetexmain.pdf The XeTeX Companion] — TeX meets Open­Type and Unicode

Ссылки

  • [xml.coverpages.org/sgml-tex.html SGML/XML and (La)TeX] — Решения по представлению XML-данных в формате TeX
  • [sourceforge.net/projects/getfo/ TeXML: an XML syntax for TeX] — Проект TeXML (загрузка)
  • [itexmac.sourceforge.net/pdfsync.html How to embed pdfsync into pdftex] — Синхронизация между кодом и PDF
  • [www.tug.org/TUG99-web/pdf/lovell.pdf TeXML: Typesetting XML with TEX] — Первоначальная концепция проекта TeXML
  • [www.alphaworks.ibm.com/tech/texml TeXML: A three-part solution that provides a path from XML into the TeX formatting language] — Краткое описание проекта IBM Research (архив)

Отрывок, характеризующий TeXML

– Нет, – говорил он, все более и более одушевляясь, – Наполеон велик, потому что он стал выше революции, подавил ее злоупотребления, удержав всё хорошее – и равенство граждан, и свободу слова и печати – и только потому приобрел власть.
– Да, ежели бы он, взяв власть, не пользуясь ею для убийства, отдал бы ее законному королю, – сказал виконт, – тогда бы я назвал его великим человеком.
– Он бы не мог этого сделать. Народ отдал ему власть только затем, чтоб он избавил его от Бурбонов, и потому, что народ видел в нем великого человека. Революция была великое дело, – продолжал мсье Пьер, выказывая этим отчаянным и вызывающим вводным предложением свою великую молодость и желание всё полнее высказать.
– Революция и цареубийство великое дело?…После этого… да не хотите ли перейти к тому столу? – повторила Анна Павловна.
– Contrat social, [Общественный договор,] – с кроткой улыбкой сказал виконт.
– Я не говорю про цареубийство. Я говорю про идеи.
– Да, идеи грабежа, убийства и цареубийства, – опять перебил иронический голос.
– Это были крайности, разумеется, но не в них всё значение, а значение в правах человека, в эманципации от предрассудков, в равенстве граждан; и все эти идеи Наполеон удержал во всей их силе.
– Свобода и равенство, – презрительно сказал виконт, как будто решившийся, наконец, серьезно доказать этому юноше всю глупость его речей, – всё громкие слова, которые уже давно компрометировались. Кто же не любит свободы и равенства? Еще Спаситель наш проповедывал свободу и равенство. Разве после революции люди стали счастливее? Напротив. Mы хотели свободы, а Бонапарте уничтожил ее.
Князь Андрей с улыбкой посматривал то на Пьера, то на виконта, то на хозяйку. В первую минуту выходки Пьера Анна Павловна ужаснулась, несмотря на свою привычку к свету; но когда она увидела, что, несмотря на произнесенные Пьером святотатственные речи, виконт не выходил из себя, и когда она убедилась, что замять этих речей уже нельзя, она собралась с силами и, присоединившись к виконту, напала на оратора.
– Mais, mon cher m r Pierre, [Но, мой милый Пьер,] – сказала Анна Павловна, – как же вы объясняете великого человека, который мог казнить герцога, наконец, просто человека, без суда и без вины?
– Я бы спросил, – сказал виконт, – как monsieur объясняет 18 брюмера. Разве это не обман? C'est un escamotage, qui ne ressemble nullement a la maniere d'agir d'un grand homme. [Это шулерство, вовсе не похожее на образ действий великого человека.]
– А пленные в Африке, которых он убил? – сказала маленькая княгиня. – Это ужасно! – И она пожала плечами.
– C'est un roturier, vous aurez beau dire, [Это проходимец, что бы вы ни говорили,] – сказал князь Ипполит.
Мсье Пьер не знал, кому отвечать, оглянул всех и улыбнулся. Улыбка у него была не такая, какая у других людей, сливающаяся с неулыбкой. У него, напротив, когда приходила улыбка, то вдруг, мгновенно исчезало серьезное и даже несколько угрюмое лицо и являлось другое – детское, доброе, даже глуповатое и как бы просящее прощения.
Виконту, который видел его в первый раз, стало ясно, что этот якобинец совсем не так страшен, как его слова. Все замолчали.
– Как вы хотите, чтобы он всем отвечал вдруг? – сказал князь Андрей. – Притом надо в поступках государственного человека различать поступки частного лица, полководца или императора. Мне так кажется.
– Да, да, разумеется, – подхватил Пьер, обрадованный выступавшею ему подмогой.
– Нельзя не сознаться, – продолжал князь Андрей, – Наполеон как человек велик на Аркольском мосту, в госпитале в Яффе, где он чумным подает руку, но… но есть другие поступки, которые трудно оправдать.
Князь Андрей, видимо желавший смягчить неловкость речи Пьера, приподнялся, сбираясь ехать и подавая знак жене.

Вдруг князь Ипполит поднялся и, знаками рук останавливая всех и прося присесть, заговорил: