Как создать документ HTML с помощью txt2html

(за основу взят авторский HowTo, Seth Golub)

D.R. Lorimer

Как работает txt2html.

txt2html это Tcl скрипт который преобразует простой текстовый ASCII файл в HTML документ. Имя выходного HTML файла базируется на имени входного ASCII файла. Например,

txt2html index.txt

создаст html файл с именем index.html .

Modelled on LaTeX, txt2html позволяет разбивать документы на разделы и создавать списки. Файлы изображений в форматах GIF и JPEG могут быть легко вставлены как рисунки. Для создания HTML файла tex2html ищет в вашем текстовом ASCII файле операторы, которае определяют разделы, списки и т.д.. Операторы представляют собой знак % с последующим за ним ключевым словом. Например,

%section How txt2html works

было использовано для определения начала этого раздела. Полный список ключевых слов описан далее. Заметьте, что знак % определяет оператор только если он находится в колонке 1 (в начале) строки!

Установка заголовка и имени автора.

Это делается с помощью ключевых слов %title и %author . Например,

%title How to create an HTML document
%author D.R. Lorimer

было использовано в этом файле.

Создание разделов.

Как и в LaTeX, могут быть определены разделы и подразделы. txt2html использует эти операторы для автоматического создания ссылок в оглавлении документа. Возможно три уровня

%section Name of a section
%subsection Name of a subsection
%subsubsection Name of a subsubsection

Создание споисков.

The item keyword is used для создания списков. Например, список покупок:

  • 3 eggs
  • pint of milk
  • 1/2 pound of cheese

    was created as follows:

    %item 3 eggs
    %item pint of milk
    %1/2 pound of cheese

    Размещение рисунков.

    Изображения в форматах GIF/JPEG размещаются в тексте с помощью ключевого слова. Синтаксис:

    %image filename (alignment) (width) (height)

    где filename указывает имя фаила изображения. Дополнительные аргументы управляют выравниванием и размером изображения. Выравнивание может быть по левому краю, по правому, по центру или центрирование с указанием ширины и высоты изображения в пикселях. Как пример, следующее изображение

    было размещено с помощью строки:

    %image mouse.gif centre

    Добавление ссылок.

    Ссылки на URLдобавляются с помощью ключевого слова с таким синтаксисом:

    %link url text inside link

    Например, ссылка this link to the Jodrell home page была создана строкой:

    %link http://www.jb.man.ac.uk this link to the Jodrell home page

    Новые параграфы и подчеркивания.

    Новый параграф is signified by a blank line like this...

    Forcing a line break like this
    can be done using the newline keyword.

    Таблицы.

    Создание простых таблиц с помощью txt2html делается с использованием ключевого слова, определяющего начало иконец таблицы, а также ключевого слова, определяющего каждую колонку. Знак | разделяет колонки. Например, таблица:

    Average height Average weight Red eyes
    Males 1.9 0.003 0.4
    Females 1.7 0.002 0.2

    была создана строкой:

    %table
    %row | Average height | Average weight | Red eyes
    %row Males | 1.9 | 0.003 | 0.4
    %row Females| 1.7 | 0.002 | 0.2
    %table

    Математические выражения.

    В txt2html есть две возможности для записи математических символов и выражений. The system used is the standard LaTeX mode surrounded by %equation delimeters. Например, выражение



    создано так:

    %equation
    E = m c^2
    %equation

    as txt2html parses your file, it will extract the latex source and generate a gif file from it. This is then automatically placed as an image in your resulting html file.

    Создание выражений без текста также возможно с помощью %math команд. Например, следующее выражение:

    Знаменитая формула Эйнштейна описывает взаимосвяз материи и энергии.

    создано так:

    Знаменитая формула Эйнштейна
    %math E = m c^2 %math
    описывает взаимосвяз материи и энергии.

    Обратите внимание, что выравнивание здесь происходит не по правому краю. Любые предложения о том, как это исправить, приветствуются.

    Including LaTeX definitions in txt2html

    Often, when using LaTeX, it is desirable to have a seperate file with shorthand definitions that are used in formulae. Such definitions can be defined in html by supplying them in a file and entering the name of the file on the command line. For example

    txt2html file.txt extras.tex

    will include extras.tex in all mathematical symbols produced by LaTeX.

    Omitting LaTeX

    If you get all your equations in place and run txt2html, there is no need to keep generating the gif files if you just want to edit some other part of the text. Since this is also time consuming, there is a command-line option in txt2html which will not produce any latex output. For instance, now that I have produced the expressions for the above discussion, I need only do

    txt2html index.txt nolatex

    to regenerate this document.

    Заключительные замечания.

    txt2html - это более чем простой скрипт- менее 170 строк. Его можно легко расширить добавлением других html команд, например для создания фрэймов: показывающих оглавление рядом с текстом, а не вверху. Пожалуйста, присылайте мне Ваши коментарии или предложения на эту тему и я постараюсь сделать такие добавления в скрипт.

    Ключи программы.


    [-- ]или[-- ]
    [-v ] | [--version ]-печатает номер версии.
    [-h ] | [--help ]-печатает список этих ключей.
    [-t (title) ] | [--title (title) ]
    [-tf/+tf ] | [--titlefirst / --notitlefirst ]
    [-dt (doct) ] | [--doctype (doctype) ]
    [+dt ] | [--nodoctype ]
    [-l (file) ] | [--link (dictfile) ]
    [+l ] | [--nolink ]
    [-H (regexp)] | [--heading (regexp) ]
    [-EH/+EH ] | [--explicit_headings / --noexplicit_headings ]
    [-ab (file) ] | [--append_body (file) ]
    [+ab ] | [--noappend_body ]
    [-ah (file) ] | [--append_head (file) ]
    [+ah ] | [--noappend_head ]
    [-pp (file) ] | [--prepend_body (file) ]
    [+pp ] | [--noprepend_body ]
    [-st (file) ] | [--style (URL) ]
    [+st ] | [--nostyle ]
    [-ec/+ec ] | [--escapechars / --noescapechars ]
    [-8/+8 ] | [--8-bit-clean / --no-8-bit-clean]-включает или отключает 8-ми битную обработку символов. Для правильного отображения кириллицы нужно включить.
    [-e/+e ] | [--extract / --noextract ]
    [-c (n) ] | [--caps (n) ]
    [-ct (tag) ] | [--capstag (tag) ]
    [-m/+m ] | [--mail / --nomail ]
    [-u/+u ] | [--unhyphen / --nounhyphen ]
    [-ul (n) ] | [--ulength (n) ]
    [-uo (n) ] | [--uoffset (n) ]
    [-tw (n) ] | [--tabwidth (n) ]
    [-iw (n) ] | [--indent (n) ]
    [-s (n) ] | [--shortline (n) ]
    [-p (n) ] | [--prewhite (n) ]
    [-pb (n) ] | [--prebegin (n) ]
    [-pe (n) ] | [--preend (n) ]
    [-r (n) ] | [--hrule (n) ]
    [-LO/+LO ] | [--linkonly / --nolinkonly ]
    [-db (n) ] | [--debug (n) ]
    [-pm/+pm ] | [--preformat-marker / --nopreformat-marker ]

    Более подробная информация содержится в тексте скрипта txt2html в виде комментариев.

    Примеры.

    **Пример 1**

    В простейшем случае текстовый файл fnde.txt, находящийся в домашней директории, преобразуется в файл fnde.htm в формате HTML. Ключ -8 необходим для правильной интерпретации символов кириллицы, которые кодируются 8 битами.

    txt2html.pl -8 ~/fnde.txt > ~/fnde.htm