Описание работы пакета OOoFBTools Создание книг FB2
Шрифт:
5. Корректная структура документа (тонкости)
Мы не будем описывать здесь всю схему FictionBook2.1, а только те моменты, которые очень важны для правильной разметки структурыконвертируемого документа. Лишь в случае правильной разметки структуры экспорт произойдет без единой ошибки и править в полученном fb2 документе вообще ничего не надо будет, за исключение моментов, описанных в п. 5.
Итак, что такое "правильная" разметка структуры? Когда мы придаем отдельным абзацам определенные стили (поэма, цитата, заголовок (уровень), аннотация и т. д.) мы формируем структуру документа. А эта структура должна соответствовать схеме FictionBook2.1. Иначе документ сконвертируется, но валидацию не пройдет. Например: в книгах часто идет аннотация,
А теперь чуть подробнее.
Структуру документа, условно, можно разбить на два блока: 1. От названия книги и до самого первого заголовка (части, раздела) – мы называем это "Уровнем". 2. От этого самого первого заголовка и до конца документа. В этих двух блоках обрамление текста тэгами ‹section› несколько отличается.
В 1-м блоке самым первымэлементов должен быть Эпиграф, если он нужен. За ним могут идти еще несколько Эпиграфов, если они нужны, потом – Картинка, если она нужна, потом – Аннотация, если она нужна. При этом междувсеми этими элементами не должно быть ни одной пустой строки! Иначе документ получится невалидным.
Теперь могут идти следующие элементы структуры в любом порядке: Просто абзац текста, пустая строка, Поэма, Цитата, Подзаголовок (SubTitle), Таблица, Картинка Схематично все это можно представить так (в квадратные скобки [] взяты необязательныеэлементы, в круглые – названия стилей для создания структуры документов, жирнымвыделены элементы, которых может быть любое количество), синим цветом – элементы, которые могут идти в любом порядке:
Во 2-м блоке дело обстоит немного по – другому.
2-й блок начинается с самого первого Уровня – Части книги, Раздела книги или просто заголовка. Уровней заголовков может быть 10 (стиль Level 1… Level 10) (хотя программно можно очень легко их увеличить хоть до бесконечности – особенность алгоритма). В книге может быть такая структура:
Наши элементы (абзацы, стихи и т. д.) могут быть как между Уровнями разного ранга – 1-й случай, например:
так и между Уровнями одного ранга (номера) – 2-й случай, например:
5.2.1. СмежныеУровни разногоранга (номера)
Для 1-го случая с Уровнями разногоранга схема немного другая, чем для блока от начала книги до первого заголовка (уровня). Отличие состоит лишь в том, что между уровнями может вообще не быть никаких элементов(стихов, абзацев…). Т. е. схема расположения элементов структуры такая же, как и для 1-го блока:
5.2.2. СмежныеУровни одногоранга (номера)
Для 2-го случая между Уровнями одногоранга должен быть хоть
5.2.3. Ошибки при разметке структуры смежных заголовков (уровней)
С другой стороны, если ранги Уровней перепутаны при разбивке структуры, то полученный fb2 документ не будет валидным! Например, нужна такая структура книги:
А мы ошибочно перепутали стили Level 2 и Level 3, и получили такую структуру:
то полученный fb2 документ не будет валидным! Номер следующего (смежного) Уровня по возрастанию не может отличаться от предыдущего более, чем на 1. По убыванию – как угодно. Поэтому, при разметке структуры будьте очень внимательны!
Таким образом, если документ отформатирован стилями в соответствии с этими правилами, диктуемыми схемой fb2.1 будет сконвертирован без единой ошибки и пройдет валидацию.
Для проверки всего этого, а также других возможностей данного конвертера создан файл ExportToFB21_Test.odt. Сконвертируйте его в fb2 документ.
6. Конвертация документа в формат fb2.1
В этом диалоге задаются данные о книге, издательстве, об авторе fb2 документа (т. е. о себе), история этого fb2 документа и аннотация на книгу, если нужно.
Некоторые поля отмеченные красным цветом. Это поля, где данные должны быть обязательно! Этого требует схема FictionBook. Остальные поля заполнять желательно, но не обязательно. В случае их заполнения ваша книга будет содержать много дополнительной ценной информации.
Обязательное поле ID документа заполняется автоматически. При желании данные в нем его можно исправить, как вам угодно.
Список Жанрслужит для выбора жанра конвертируемой книги. Их может быть несколько. Счетчик справа от него – match– служит для задания степени соответствия книги выбранному Жанру в %. Атрибут matchтэга genreсделан по умолчаниюнеобязательным, как и задано в схеме FictionBook. Т. е. в контроле matchпо умолчанию стоит 0. В этом случае этот атрибут не заносится в тэг genre. Если же значение счетчика matchизменится, и станет больше 0, то это значение будет добавлено, как значение атрибута matchтэга genre.
Два переключателя fb2.1и fb2.2служат для выбора схемы жанров: FictionBook 2.1 или FictionBook 2.2. В зависимости от выбора схемы жанров меняется и выпадающий список жанров. Это полезно, когда вы готовите книгу для Библиотеки, которая работает со схемой FictionBook 2.1.
Один момент требует особого разъяснения. Около некоторых полей для ввода данных есть кнопка « +» и счетчик числа добавленных элементов. Если в эти поля вы ввели данные, но не нажимали кнопку « +», то в сконвертированном fb2-файле эти данные будут в единственном экземпляре. На счетчике будет 0 (ничего страшного). Когда этих данных должно быть несколько (несколько авторов, несколько переводчиков, несколько Custom Info, книга входит в несколько серий, несколько человек делали конвертируемый документ), то вводите данные в соответствующие поля, нажмите на кнопку « +». Значение счетчика увеличится на 1, поля очистятся. Можно вводить новые значения, если это требуется.