Вадим Кузнецов - Описание работы пакета OOoFBTools Создание книг FB2
2. Поэма, где все четверостишия собраны под одной stanza. Для этого между абзацами со стихами не должно быть ни одной пустой строки.
3. Поэма, где каждое четверостишие (или набор абзацев) взято в отдельное stanza. Достигается это вставкой между каждым четверостишием пустой строки со стилем Poem. Работает и с включенной опцией «Удалять пустые абзацы»!
4.6. Работа с цитатами
4.6.1. Структура цитаты
Согласно схеме FictionBook цитата (cite) имеет следующую структуру:
Т. е. он состоит из бесконечного числа чередований обязательных элементов (порядок очередности неважен) Текст, Поэма, Пустая строка, Подзаголовок, Таблица. Потом – необязательный элемент Автор цитаты (один или ни одного). Все это полностью реализовано в конвертере.
Если вы отформатируете стилями текст цитаты в соответствии с этой схемой на картинке, то конвертер экспортирует текст корректно. Если вы переставите местами Автора Цитаты и какой-либо элемент структуры Цитаты – то в fb2 файле книга не будет валидной. Так что будьте внимательны и сверяйтесь с этой схемой Цитаты!
Для форматирования Поэмы – элемента Цитаты, пользуйтесь теми же стилями, что и для Поэмы.
4.7. Работа с аннотациями
4.7.1. Структура аннотации
Согласно схеме FictionBook аннотация (annotation) имеет следующую структуру:
Т.е. он состоит из бесконечного числа чередований обязательных элементов (порядок очередности неважен) Текст, Поэма, Цитата, Подзаголовок, Таблица, Пустая строка. Все это полностью реализовано в конвертере.
Для форматирования Поэмы – элемента Аннотации, пользуйтесь теми же стилями, что и для Поэмы.
4.8. Работа с эпиграфами
4.8.1. Структура эпиграфа
Т. е. он состоит из бесконечного числа чередований обязательных элементов (порядок очередности неважен) Текст, Поэма, Цитата, Пустая строка. Потом – необязательный элемент Автор эпиграфа (один или ни одного). Все это полностью реализовано в конвертере.
Если вы отформатируете стилями текст эпиграфа в соответствии с этой схемой на картинке, то конвертер экспортирует текст корректно. Если вы переставите местами Автора Эпиграфа и какой-либо элемент структуры Цитаты – то в fb2 файле книга не будет валидной. Так что будьте внимательны и сверяйтесь с этой схемой Эпиграфа!
Для форматирования Поэмы – элемента Эпиграфа, пользуйтесь теми же стилями, что и для Поэмы.
4.8.2. Отделение одного элемента эпиграфа от другого
Как правило, конвертер сам распознает один элемент от другого внутри Эпиграфа по характерным признакам (Автор или Дата Стиха, Автор Цитаты и т. д.). Но в одном случае, когда после Цитаты Эпиграфа сразу идет Поэма конвертер «вложит» ее во внутрь Цитаты (т. к. Цитата тоже может содержать Поэму). Если же эта Поэма принадлежит не Цитате, а непосредственно Эпиграфу, то между Цитатой и этой Поэмой вставьте пустую строку стиля Текста Эпиграфа (Epigraph). Тогда Конвертер распознает и Цитату, и Поэму, как два самостоятельных элемента Эпиграфа.
Пример этого см. в файле-примере ExportToFB21_example-1.odt. Поэкспериментируйте.
4.9. Работа с внутренними ссылками (гиперссылки)
Гиперссылки используются для перехода из одного места документа в другое. Конвертер позволяет экспортировать следующие внутренние ссылки:
1. Переход из любого места Документа на любое другое место Документа (текст, Цитаты, Стихи, Заголовки и т. д.).
2. Переход из любого места Документа на любое место в тексте Сноски.
3. Переход с текста любой Сноски на любое место Документа.
4. Переход из текста одной Сноски на текст другой Сноски.
Конвертер пока не может экспортировать внутренние ссылки (переходы), связанные с Таблицами и Текстовыми Врезками.
Для задания внутренних ссылок (переходов) необходимо сделать следующее:
1. На абзац, КУДА нужно перейти, ставим закладку.
Например, для Текста Сноски (на картинке на эту сноску указывает красная стрелка):
Ставим курсор а начало абзаца, вызываем диалог Закладка (меню Вставка-›Закладка…). Задаем там нужное имя закладки, жмем Ok:
2. В абзаце, ОТКУДА нужно перейти, выделяем слово или словосочетание-переход, и форматируем его, как гиперссылку (меню Вставка-›Гиперссылка). В открывшемся диалоге для Документа выбираем Цель – Закладки, а там – нужную закладку для абзаца КУДА. Жмем Применить, закрываем диалог Цели, жмем Применить, закрываем диалог Гиперссылки.
Все!
5. Корректная структура документа (тонкости)
Мы не будем описывать здесь всю схему FictionBook2.1, а только те моменты, которые очень важны для правильной разметки структуры конвертируемого документа. Лишь в случае правильной разметки структуры экспорт произойдет без единой ошибки и править в полученном fb2 документе вообще ничего не надо будет, за исключение моментов, описанных в п. 5.
Итак, что такое "правильная" разметка структуры? Когда мы придаем отдельным абзацам определенные стили (поэма, цитата, заголовок (уровень), аннотация и т. д.) мы формируем структуру документа. А эта структура должна соответствовать схеме FictionBook2.1. Иначе документ сконвертируется, но валидацию не пройдет. Например: в книгах часто идет аннотация, а потом – эпиграф. Но, согласно схеме FictionBook2.1 должно быть наоборот – сначала эпиграф, а потом – аннотация. Если вы сделаете как в книге, а не по схеме – документ будет невалидный, и online-библиотеки, если не ошибаюсь, его не примут.
А теперь чуть подробнее.
Структуру документа, условно, можно разбить на два блока: 1. От названия книги и до самого первого заголовка (части, раздела) – мы называем это "Уровнем". 2. От этого самого первого заголовка и до конца документа. В этих двух блоках обрамление текста тэгами ‹section› несколько отличается.
5.1. Блок от начала книги до первого заголовка (уровня)
В 1-м блоке самым первым элементов должен быть Эпиграф, если он нужен. За ним могут идти еще несколько Эпиграфов, если они нужны, потом – Картинка, если она нужна, потом – Аннотация, если она нужна. При этом между всеми этими элементами не должно быть ни одной пустой строки! Иначе документ получится невалидным.
Теперь могут идти следующие элементы структуры в любом порядке: Просто абзац текста, пустая строка, Поэма, Цитата, Подзаголовок (SubTitle), Таблица, Картинка Схематично все это можно представить так (в квадратные скобки [] взяты необязательные элементы, в круглые () – названия стилей для создания структуры документов, жирным выделены элементы, которых может быть любое количество), синим цветом – элементы, которые могут идти в любом порядке:
5.2. Блок от первого заголовка (уровня) до конца документаВо 2-м блоке дело обстоит немного по – другому.
2-й блок начинается с самого первого Уровня – Части книги, Раздела книги или просто заголовка. Уровней заголовков может быть 10 (стиль Level 1… Level 10) (хотя программно можно очень легко их увеличить хоть до бесконечности – особенность алгоритма). В книге может быть такая структура:
Наши элементы (абзацы, стихи и т. д.) могут быть как между Уровнями разного ранга – 1-й случай, например:
так и между Уровнями одного ранга (номера) – 2-й случай, например:
5.2.1. Смежные Уровни разного ранга (номера)
Для 1-го случая с Уровнями разного ранга схема немного другая, чем для блока от начала книги до первого заголовка (уровня). Отличие состоит лишь в том, что между уровнями может вообще не быть никаких элементов (стихов, абзацев…). Т. е. схема расположения элементов структуры такая же, как и для 1-го блока:
5.2.2. Смежные Уровни одного ранга (номера)
Для 2-го случая между Уровнями одного ранга должен быть хоть один какой-нибудь элемент, кроме необязательных Эпиграф и (или) Картинка и (или) Аннотация! Схема расположения элементов структуры такая (в двойные скобки { [] } взяты элементы, которые могут и не быть, но хоть один из них обязательно должен присутствовать):
5.2.3. Ошибки при разметке структуры смежных заголовков (уровней)