Emacs для начинающих

Как я набрел на SGML-технологию


Все началось с интранета. Это модное слово означало для меня на практике то, что документы, которые я регулярно писал по роду своей деятельности, стало можно и нужно делать доступными "online". До сих пор я просто набирал документы в TEX-e и печатал их на бумаге. Идея дублировать их в HTML вручную отпала сразу: немедленно возникла бы проблема синхронизации бумажной и электронной версий одного и того же документа.

      А вскоре потребовалось периодическая передача документов посторонним людям в электронной форме, что, по сложившейся у нас практике, означает -- в формате Microsoft Word. Работать с MS Word у меня по ряду причин не было никакого желания, к тому же это только усугубило бы проблему синхронизации версий.

      Значит, нужно было придумать способ автоматического преобразования набираемых документов в различные форматы: TEX-a -- для печати на бумаге, HTML -- для помещения на WWW сервер, Word -- для обмена с работающими в Windows. Кроме того, мне хотелось, чтобы такое средство отвечало еще ряду требований:

  • быть модульным, чтобы можно было при необходимости легко добавлять новые выходные форматы или изменять алгоритмы преобразования в существующие;
  • быть открытым, бесплатным, как можно меньше привязанным к конкретным программам;
  • быть мобильным: работать, как минимум, на разных UNIX-платформах;
  • быть легко русифицируемым.
  •       Первым, что попалось мне под руку после похода на , оказался пакет под названием . Он как раз и предназначался для генерации HTML, TEX и RTF из одного входного файла. Широко используемый в рамках , он использовал в качестве входного формата незнакомый мне до сих пор язык . Впрочем, ничего сложного в нем не оказалось -- он весьма напоминал знакомый мне и выглядел вполне понятно. Вот, к примеру, кусочек SGML-документа:

    <DIV1><HEAD>The Structure of a TEI Text</HEAD>

    <P>All TEI-conformant texts contain <LIST TYPE="bullets">

    <ITEM>a <TERM>TEI header</TERM> (marked up as a <GI>teiHeader</GI> element) and </ITEM>

    <ITEM>the transcription of the text proper (marked up as a <GI>text</GI> element). </ITEM>

    </LIST></P>

    </DIV1>

          Для того, чтобы начать на этом писать, потребовалось всего лишь запомнить несколько основных элементов разметки, например, что <P> означает начало параграфа, <LIST> -- начало перечисления и т.п.

          Набранный в SGML текст далее запуском одного фильтра преобразуется в HTML, другого -- в TEX, третьего -- в RTF, и так далее.



    Содержание раздела