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

       

XML напоминает HTML. Фундаментальное отличие


Синтаксис DocBook/ XML напоминает HTML. Фундаментальное отличие между ними -- строгость, с которой требуется выполнение синтаксических правил. Многие HTML-браузеры в высшей степени терпимы к "незакрытым" [unterminated] элементам и обычно безмолвно игнорируют неизвестные элементы и атрибуты. Трансляторы DocBook/XML отвергают не соответствующие DTD входные данные отказываясь в этом случае выдавать какие-либо выходные данные. Отказ сопровождается подробным отчетом об обнаруженных ошибках.
DocBook/XML имеет несколько "наречий", отличающихся интерпретацией закрывающих тэгов. Наиболее "многословный" диалект всегда закрывает тэг <tag> с помощью </tag>. Другой вариант допускает сокращение закрывающего тэга до </>, в то время, как третий вообще разрешает опускать закрывающий тэг в пустых элементах. Я предпочитаю "выписывать" все тэги, стиль, который доказал свои преимущества для таких грубоко вложенных структур, как, например, вложенные списки. Поэтому в этой статье будет встречаться только форма <tag> ... </tag>.
Специальные символы записываются с помощью привычных соглашений об амперсанде & и точки с запятой ;, как и в HTML. Наиболее часто употребимые специальные символы:
  • Амперсанд, "&amp;"
  • Меньше чем, "&lt;" и
  • Больше чем, "&gt;".

  • Комментарии заключаются между "спецскобками" <!-- и -->.


    Абзацы Абзацы разделяются одной или более пустыми строками. Число пустых строк не влияет на окончательный вид документа -- одна пустая строка так же хороша, как и несколько. Тоже самое относится к пробелам (разделяющим отдельные слова (но разве вы этого не знали?): сотня пробелов выглядят так же, как и один. Символы новой строки, т.е. завершители строк, считаются пробелами, как и символы табуляции. Если мы применим эти простые правила к трем различным версиям двух приведенных ниже абзацев, то мы придем к выводу, что все они будут одинаково выглядеть на печати. Я добавил номера в начале каждой строки для того, чтобы указать на пустые строки, отделяющие абзацы друг от друга. Эти номера не являются частью текста.
    Вариант A 1 Я короткое предложение из первого абзаца. 2 3 А я единственное предложение второго абзаца.
    Вариант B 1 Я короткое предложение 2 из первого абзаца. 3 4 А я 5 единственное предложение 6 второго 7 абзаца.Group arguments together
    Вариант C 1 Я короткое предложение из первого абзаца. 2 3 4 А я единственное 5 предложение 6 второго абзаца.
    Специальные символы Большинству не буквенно-цифровых символов в LaTeX придается специальное значение. Это одно из свойств, приводящих новичков в ужас. Однако через некоторое время привыкаешь учитывать особенности поведения тех или иных символьных комбинаций. Я собрал несколько наиболее важных специальных символов вместе со способами вставить их в текст так, чтобы они правильно отображались на печати.
    \ Начинает команду: "\dots" или "\/". Обратите внимание на то, что "\\" не вставляет в текст одиночную обратную косую черту, как могли бы подумать пишущие на C. Управляющая последовательность "\\" вставляет перевод строки, а "буквальная" обратная косая черта вставляется с помощью "$\backslash$". Для того, чтобы еще больше все запутать: "\", т.е. обратная косая черта, за которой следует пробел -- это тоже команда! Она вставляет так называемый "управляемый" пробел, т.е. такой пробел (точнее: в точности один такой пробел), который никогда не "съедается", подобно обычным пробелам, как это объяснялось в разделе "Абзацы". {} Группирует аргументы вместе. Для того, чтобы вставить собственно символ фигурной скобки, его надо "заэскейпить" с помощью обратной косой черты: "\{" или "\}". % Начинает комментарий, продолжающийся до конца строки. Комментарии продолжаются до и включают символ новой строки в ее конце. Этим комментарии в LaTeX отличаются от однострочных комментариев во всех обычных языках программирования, которые не включают символ новой строки. С точки зрения пользователя это означает, что символ новой строки можно замаскировать, заканчивая строку комментарием. Hessenberg-% Triangular % <- обратите внимание на пробел непосредственно перед символом % Reduction




    Мы уже заметили, что команды Texinfo начинаются с символа "собаки" -- "@". За ним либо следует единственный небуквенный символ, либо один или несколко букв. Вот несколько команд первой группы:
    @@

    Вставляет собственно символ коммерческого at ("@"). @"символ

    Выводит "умляут-эквивалент" символа, где под символом понимается один из символов ASCII, например "a". То же самое относится к буквам, "украшенным" акцентами (@'символ), циркумфлексом (@^символ) или цедилью (@,символ). За подробностями обратитесь к узлу "Вставка акцентов [Inserting Accents] в документации Texinfo.
    а вот примеры из второй группы:
    @contents

    Вставляет содержание в месте вхождения команды @contents. @page

    Начинает новую страницу. @findex имя-фунции

    Заносит имя-функции в индекс всех функций.
    Команда может требовать один, два, три и более аргументов или не требовать их совсем. Некоторые команды требуют, чтобы агрументы заключались в фигурные скобки, например команда перекрестной ссылки @xref{имя-узла, имя-перекрестной-ссылки, заголовок-раздела}. Мы уже видели команды, считающими своим аргументом остаток той строки, в которой они появляются (например, команда @setfilename).


    Формат POD определяет абзацы трех разных типов. Абзацы отделяются друг от друга одной или большим числом совершенно(!) пустых строк.
    Абзац с обычным текстом [Ordinary Paragraph]
    Любая строка, не начинающаяся, по крайней мере, с четырех пробелов или знака равенства считается обыкновенным текстом. Пустая строка служит разделителем абзацев. Это означает, что документ записывается один абзац за другим, каждый из которых отделяется, по крайней мере, одной пустой строкой.
    При окончательном выводе обычные абзацы выравниваются (если формат допускает выравнивание), при необходимости с добавлением пробелов.
    Абзац с преформатированным текстом [Verbatim Paragraph]
    Строки с отступом в четыре и более пробелов рассматриваются, как преформатированный текст. В окончательном виде они выводятся точно так, как набраны. Все инструкции форматирования, о которых мы будем говорить далее, в преформатированных абзацах не действуют.
    Абзац-команда [Command Paragraph]
    Команды начинаются со знака равенства "=" в нулевой колонке, за которым немедленно следует идентификатор. Обычно команда состоит из одной строки. Тем не менее, синтаксически команды являются абзацами, поскольку отделяются пустыми строками перед и после ними.

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