Текст книги "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)"
Автор книги: Михаил Кондратович
сообщить о нарушении
Текущая страница: 3 (всего у книги 10 страниц)
§ 2.6 Элементы описания книги (description). Элементы третьего уровня (информация об авторе)
Элемент first-name
Имя автора книги или документа, а также переводчика.
Cинтаксис: <first-name>текст</first-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Элемент middle-name
Отчество автора книги или документа, а также переводчика.
Cинтаксис: <middle-name>текст</middle-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Элемент last-name
Фамилия автора книги или документа, а также переводчика.
Cинтаксис: <last-name>текст</last-name>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Элемент nickname
Ник (сетевой псевдоним) автора книги или документа, а также переводчика.
Cинтаксис: <nickname>текст</nickname>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Элемент home-page
Адрес персонального сайта автора книги или документа, а также переводчика.
Cинтаксис: <home-page>текст</home-page>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
Элемент email
Адрес электронной почты автора книги или документа, а также переводчика.
Cинтаксис: <email>текст</email>
Используется в элементах: author, translator
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента author, § 2.5
§ 2.7 Элементы тела книги (body).
Элемент image
Картинка.
Cинтаксис: <image/>
Используется в элементах: body, section, p
Вложенные элементы: нет
Количество вхождений: одно или отсутствует
Атрибуты: alt, title, id, href (обязательный).
Версия формата: 2.0
Пример:
Элемент title
Заголовок книги, раздела или стихотворения. С версии 2.1 – еще и картинки.
Cинтаксис: <title>content</title>
Используется в элементах: body, section, stanza, poem, image (2.1)
Вложенные элементы: p, empty-line
Количество вхождений: одно или отсутствует
Атрибуты: нет
Версия формата: 2.0
Пример:
Элемент epigraph
Эпиграф.
Cинтаксис: <epigraph>content</epigraph>
Используется в элементах: body, section
Вложенные элементы: p, poem, cite, empty-line, text-author
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
Черт побери! Как и все другие, наказанные нами, вы управляетесь законом, который богачи придумали для собственной безопасности. Эти трусливые собачьи души не имеют смелости каким-либо иным способом защитить то, что они мошеннически нахапали. Проклятья и кровь на имуществе этих продувных бестий. Между нами единственное различие: они обирают бедняков под покровительством закона, не так ли? А мы грабим богатых, рассчитывая только на свою храбрость.
Чарльз Беллами, пират
Элемент section
Раздел.
Cинтаксис: <section>content</section>
Используется в элементах: body, section
Вложенные элементы: title, epigraph, image, annotation, section, p, poem, subtitle, cite, empty-line, table
Количество вхождений: одно и более
Атрибуты: id
Версия формата: 2.0
Пример:
Заголовок секции
Текст.
§ 2.8 Элементы раздела книги (section).
Элементы первого уровня.
Элемент cite
Цитата. Отрывок текста из другого произведения.
В FictionBook с поспощью тэга cite также выделяются письма, записки, надписи, списки и еще много чего.
Cинтаксис: <cite>content</cite>
Используется в элементах: section, epigraph, annotation, history
Вложенные элементы: p, poem, empty-line, subtitle, table, text-author
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
«Что происходит в Зеленом Доме? По не подтвержденным, но и не опровергнутым сведениям несколько дней назад внушительная группа боевых ведьм совершила стремительный вояж за пределы Тайного Города. Куда именно? Как ни странно, это осталось загадкой: наши белокурые красавицы изменили традиционной словоохотливости и держат рот на замке. Остальные Великие Дома не проявляют беспокойства…»
(«Тиградком»)
Элемент poem
Стихи, песни, баллады и т.д.
Cинтаксис: <poem>content</poem>
Используется в элементах: section, epigraph, cite, annotation, history
Вложенные элементы: title, epigraph, stanza, text-author, date
Количество вхождений: произвольное
Атрибуты: id
Версия формата: 2.0
Пример:
В тяжелой мантии торжественных обрядов…
В тяжелой мантии торжественных обрядов,
Неумолимая, меня не встреть.
На площади, под тысячами взглядов,
Хочу я умереть.
Чтобы лился на волосы и в губы
Полуденный огонь.
Чтоб были флаги, чтоб гремели трубы
И гарцевал мой конь…
Марина Цветаева,
Феодосия, 1913
Элемент p
Обычный абзац текста.
Cинтаксис: <p>content</p>
Используется в элементах: annotation, history, section, epigraph, cite
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример:
Cамый обычный текст.
Элемент subtitle
Подзаголовок.
Cинтаксис: <subtitle>content</subtitle>
Используется в элементах: section, stanza, annotation, history
Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример:
* * *
Элемент empty-line
Пустая строка. Может использоваться как «немой» заголовок.
Cинтаксис: <empty-line/>
Используется в элементах: section, epigraph, cite, title, annotation, history
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример:
После этого абзаца должна идти пустая строка.
Элемент table
Таблицы.
На момент написания книги поддерживается только читалками CoolReader и AlReader.
Cинтаксис: <table>content</table>
Используется в элементах: section, epigraph, annotation, history
Вложенные элементы: tr
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.1
Пример:
Заголовок 1-го столбца
Заголовок 2-го столбца
Объединенный заголовок 3-го и 4-го столбцов
Заголовок 5-го столбца
1-я ячейка 1-го столбца
1-я и 2-я ячейки 2-го столбца
1-я ячейка 3-го столбца
1-я ячейка 4-го столбца
1-я ячейка 5-го столбца
2-я ячейка 1-го столбца
2-я ячейка 3-го и 4-го столбцов
2-я ячейка 5-го столбца
Как видим, допускается размещение текста как непосредственно в самих элементах ячеек таблицы (td, th), так и предварительно заключеннного в элемент p.
Впрочем, это, вероятнее всего, огрех валидатора FBE. Ради эксперимента, я поместил в элемент td элемент cite. И валидатор это спокойно переварил.
§ 2.9 Элементы раздела книги (section).
Элементы второго уровня.
Элемент stanza
Строфа стихотворения.
Cинтаксис: stanza>content</stanza>
Используется в элементах: poem
Вложенные элементы: title, subtitle, v
Количество вхождений: одно и более
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента poem
Элемент text-author
Автор эпиграфа, цитаты или стихов.
Cинтаксис: <text-author>content</text-author>
Используется в элементах: cite, epigraph, poem
Вложенные элементы: strong, emphasis, style, a, strikethrough, sub, sup, code, image
Количество вхождений: произвольное
Атрибуты: id, style
Версия формата: 2.0
Пример: см. пример элемента poem
Элемент v
Cтрока в строфе стихотворения.
Cинтаксис: <v>content</v>
Используется в элементах: stanza
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно и более
Атрибуты: нет
Версия формата: 2.0
Пример: см. пример элемента poem
§ 2.10 Элементы таблиц
Элемент tr
Строка таблицы.
Cинтаксис: <tr>content</tr>
Используется в элементах: table
Вложенные элементы: th, td
Количество вхождений: одно и более
Атрибуты: aligh
Версия формата: 2.1
Пример: см. пример элемента table
Элемент th
Заголовок столбца таблицы.
Cинтаксис: <th>content</th>
Используется в элементах: tr
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно или отсутствует
Атрибуты: id, style, colspan, rowspan, aligh
Версия формата: 2.1
Пример: см. пример элемента table
Элемент td
Ячейка столбца таблицы.
Cинтаксис: <td>content</td>
Используется в элементах: tr
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: одно и более
Атрибуты: id, style, colspan, rowspan, aligh
Версия формата: 2.1
Пример: см. пример элемента table
§ 2.11 Элементы абзаца (стилевые элементы)
Элемент a
Ссылка или сноска.
Cинтаксис: <a>content</a>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: href (обязательный), type
Версия формата: 2.0
Пример:
см. пример
Элемент code
Преформатированный текст. В читалках должен отображаться моноширинным шрифтом.
Может использоваться, чтобы выделить исходники программ и примеры.
На момент написания книги поддерживается только читалкой CoolReader. Причем, поддерживается неправильно – как элемент аналогичный сite, хотя это такое же стилевое выделение, как strong или emphasis.
Cинтаксис: <code>content</code>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.1
Пример:
Преформатированный текст
Элемент emphasis
Наклонный шрифт (курсив).
Cинтаксис: <emphasis>content</emphasis>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример:
Курсивный текст
Элемент strikethrough
Перечеркнутый шрифт.
На момент написания книги читалками не поддерживается.
Cинтаксис: <strikethrough>content</strikethrough>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.1
Пример:
Эта сволочь , этот нехороший человек…
Элемент strong
Полужирный шрифт.
Cинтаксис: <strong>content</strong>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.0
Пример:
Полужирный текст
Элемент style
Заранее определенный стиль для отображения книги.
Cинтаксис: <style>content</style>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: name (обязательный)
Версия формата: 2.0
Пример:
Этот текст будет
–
Элемент sub
Нижний индекс (subscript).
На момент написания книги читалками не поддерживается.
Cинтаксис: <sub>content</sub>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.1
Пример:
x1+x2=y
Элемент sup
Верхний индекс (superscript).
На момент написания книги читалками не поддерживается.
Cинтаксис: <sup>content</sup>
Используется в элементах: code, emphasis, p, strikethrough, strong, style, subtitle, sub, sup, th, td, v
Вложенные элементы: a, code, emphasis, strikethrough, strong, style, sub, sup, image
Количество вхождений: произвольное
Атрибуты: нет
Версия формата: 2.1
Пример:
E=mC2
§ 2.12 Элементы для платных книг
В версию 2.1 были введены специальные элементы для создания платных книг. Поскольку сам формат средств криптозащиты не предусматривает, обрабатывать эти тэги должен исключительно сервер библиотеки.
К сожалению, или, вернее, к счастью, эти элементы до сих пор не нашли применения.
Элемент output
Определяет способ вывода контента книги.
Cинтаксис: <output>content</output>
Используется в элементах: description
Вложенные элементы: part, output-document-class
Количество вхождений: произвольное
Атрибуты: mode (обязательный), currency, incude-all (обязательный)
Версия формата: 2.1
Пример:
Элемент output-document-class
Назначение неясно.
Cинтаксис:<output-document-class>parts</output-document-class>
Используется в элементах: output
Вложенные элементы: part
Количество вхождений: произвольное
Атрибуты: name, create, price
Версия формата: 2.1
Пример:
Элемент part
Делит книгу на платные и бесплатные части.
Cинтаксис:<part/>
Используется в элементах: output
Вложенные элементы: нет
Количество вхождений: произвольное
Атрибуты: mode, include
Версия формата: 2.1
Пример: см. пример элемента output
§ 2.13 Спецсимволы
Некоторые символы в теле книги отображаются особым образом. Это нужно для предотвращения ошибок. Например, «<» и «>» зарезервированы для обозначения границ тэгов. Если их использовать в прямом виде как-то еще, то программа будет считать это ошибкой.
Такие последовательности называются предопределенными сущностями.
Список таких символов в FictionBook крайне мал. Их, собственно, всего три.
& – &;
< – <;
> ; – >;
Cтандартные сущности XML ' и " в FiсtionBook не используются и конвертируются в символы «'» и «"» соответственно.
§ 2.14 Список атрибутов элементов
Многие элементы в FictionBook имеют дополнительные параметры – атрибуты.
Атрибут aligh
Выравнивание текста в ячейке таблицы.
Используется в элементах: td, th, tr
Значение: фиксированное; left, right, center, justify
Значение по умолчанию: left
Атрибут alt
Назначение аналогично HTML – текст, отображающийся вместо картинки.
Используется в элементах: image
Значение: произвольная текстовая строка
Атрибут colspan
Позволяет объединять столбцы таблиц.
Используется в элементах: th, td
Значение: произвольное целое число
Атрибут content-type
Определяет тип содержимого элемента-контейнера binary
Используется в элементах: binary
Значение: фиксированное; image/png, image/jpeg, image/tiff, image/bmp, octet-stream
Атрибут create
Назначение неясно.
Используется в элементах: output-document-class
Значение:
Атрибут currency
Валюта, в которой определена цена платной книги.
Используется в элементах: output
Значение: ограниченно-произвольное
Атрибут href
Ссылка. Как правило, внутри документа.
Используется в элементах: a, image
Значение: ссылка.
Атрибут id
Метка, позволяющая ссылаться на элемент.
Используется в элементах: annotation, binary, cite, epigraph, image, p, poem, section, subtitle, table, td, text-author, th
Значение: текстовая строка.
Атрибут info-type
Характеризует произвольную информацию.
Используется в элементах: custom-info
Значение: произвольная текстовая строка.
Атрибут include
Назначение неясно.
Используется в элементах: part
Значение:
Атрибут include-all
Назначение неясно.
Используется в элементах: output
Значение: фиксированное
Атрибут match
Определяет степень соответствия произведения выбранному жанру.
Используется в элементах: genre
Значение: целое число в диапазоне от 1 до 100
Атрибут mode
Способ вывода платного документа
Используется в элементах: output
Значение:
Атрибут name
Позволяет присвоить элементу имя. В отличие от метки (id), имя элемента используется исключительно программными средствами обработки документа.
Используется в элементах: body, sequence, output-document-class
Значение: произвольное
Атрибут number
Порядковый номер книги в серии.
Используется в элементах: sequence
Значение: произвольное целое число
Атрибут price
Цена платного документа
Используется в элементах: output-document-class
Значение: произвольное число c плавающей запятой
Атрибут rowspan
Позволяет объединять строки таблицы.
Используется в элементах: th, td
Значение: произвольное целое число
Атрибут style
Позволяет выбрать для элемента предопределенный стиль.
Используется в элементах: p, subtitle, table, td, text-author, th
Значение: произвольное; строка состоящая из латинских букв и цифр.
Пример:
Текст, выровненный по правому краю
Текст: фон черный, цвет шрифта белый, отступы справа и слева 20 процентов, сверху и снизу – 10 пикселей, высота строки 180 процентов
Атрибут title
Позволяет добавить к рисунку заголовок (подпись)
Используется в элементах: image
Значение: произвольная текстовая строка
Атрибут type
Определяет тип элемента.
Используется в элементах: a, stylesheet
Значение: фиксированное
Атрибут value
Дата.
Используется в элементах: date
Значение: произвольная дата в формате YYYY-MM-DD
Атрибут xmlns
Ссылка на спецификацию формата.
Атрибут value: FictionBook
Значение: жестко фиксированное
§ 2.15 Алфавитный список всех элементов FictionBook 2.1
a (§ 2.11)
annotation (§ 2.5)
author (§ 2.5)
binary (§ 2.3)
body (§ 2.3)
book-name (§ 2.5)
book-title (§ 2.5)
cite (§ 2.8)
city (§ 2.5)
code (§ 2.11)
coverpage (§ 2.5)
custom-info (§ 2.4)
date (§ 2.5)
description (§ 2.3)
document-info (§ 2.4)
email (§ 2.6)
emphasis (§ 2.11)
empty-line (§ 2.8)
epigraph (§ 2.7)
FictionBook (§ 2.3)
first-name (§ 2.6)
genre (§ 2.5)
history (§ 2.5)
home-page (§ 2.6)
id (§ 2.5)
isbn (§ 2.5)
image (§ 2.7)
keywords (§ 2.5)
lang (§ 2.5)
last-name (§ 2.6)
middle-name (§ 2.6)
nickname (§ 2.6)
output-document-class (§ 2.12)
output (§ 2.12)
p (§ 2.8)
part (§ 2.12)
poem (§ 2.8)
program-used (§ 2.5)
publish-info (§ 2.4)
publisher (§ 2.5)
section (§ 2.7)
sequence (§ 2.5)
src-lang (§ 2.5)
src-ocr (§ 2.5)
src-title-info (§ 2.4)
src-url (§ 2.5)
stanza (§ 2.9)
strikethrough (§ 2.11)
strong (§ 2.11)
style (§ 2.11)
stylesheet (§ 2.3)
sub (§ 2.11)
subtitle (§ 2.8)
sup (§ 2.11)
table (§ 2.8)
td (§ 2.10)
text-author (§ 2.9)
th (§ 2.10)
title (§ 2.7)
title-info (§ 2.4)
tr (§ 2.10)
translator (§ 2.5)
v (§ 2.9)
version (§ 2.5)
year (§ 2.5)
Часть III
Конвертирование книг из других форматов
Cлучаи, когда книга готовится в формате FictionBook изначально, (как вот эта книга, :) ) чрезвычайно редки. Обычно имеется готовый текст, который необходимо конвертировать в формат FictionBook.
Вообще, создание книги в формате FictionBook можно разделить на три этапа.
1) подготовка исходного текста;
2) конвертация текста в формат FictionBook;
3) вычитка, структурирование и окончательная доводка книги.
Первый этап включает набор текста или сканирование исходного документа с распознаванием. Или же выдирание текста из PDF, или, какого-нибудь экзотического формата, например, ExeBook. Также сюда входит первичная вычитка текста.
Второй этап – конвертация в формат FB2.
Третий этап – доводка книги. По моему скромному мнению, самый тонкий и важный этап.
Дело в том, существующие программные средства позволяют конвертировать документы txt, html, doc(rtf), что называется «одним кликом». Но, к сожалению, качественный FB2 таким образом создать совершенно невозможно. После конвертации такую книгу приходится загружать в редактор и доводить до ума вручную.
Использование автоматической конвертации без последующей доводки допустимо только в том случае, если текст конвертируется исключительно для того, чтобы закачать на КПК, прочесть и удалить.
Но если книгу планируется выкладывать в Сеть, или распространять еще каким-то образом, то изготавливать ее «одним кликом» совершенно недопустимо. Не забывайте, что в этом случае, как бы еретически это ни звучало, вы фактически являетесь ИЗДАТЕЛЕМ книги. Проявите же уважение к автору и читателям.
Подготовка исходного текста – это тема для отдельной книги, поэтому здесь углубляться в нее не будем. Предположим, что исходный текст у вас уже есть. О редактировании и доводке книги будет подробно рассказано несколько ниже. Сейчас же речь пойдет именно о конвертировании текстов.