4.4. Работа с ссылками внутри документа
4.4.1. Создание ссылок
Очень полезная функция конвертера!
Например, надо из текста сноски по клику на какое-то слово перейти на Заголовок Поэмы. Или из Названия Книги – на Автора Цитаты. Или – из Автора Эпиграфа – на какой- нибудь раздел книги. Это легко теперь можно сделать. Как?
Прежде всего для простоты определимся с терминологией. Абзац, куда ссылается ссылка назовем «цель», а слово(а), которое(ые) ссылается(ются) на «приемник» – источник».
1. Поставьте курсор в любое место абзаца – «цели» (обычно в начало). Выберите меню «Вставка» -› «Закладка». В появившемся диалоге введите имя закладки (желательно информативно, чтобы самому потом не запутаться, какая закладка к чему относится).
Важно: имена закладок – по-английски, и ни в коем случае впереди имени закладки не ставьте символ «#»! Работать ничего не будет!
Пример ввода закладки для Названия Книги (сюда планируем отправить ссылку из сноски):
2. Выделите «источник». Через меню «Вставка» выберите «Гиперссылка», и в появившемся диалоге выдерите иконку «Документ». В поле «Цель» введите имя нужной закладки, нажмите кнопку «Принять». Пример:
Можно вводить имя закладки не вручную (чтобы случайно не ошибиться), а с помощью диалога «Ссылка на элемент в документе». Эта кнопка – справа от поля «Цель»:
В дереве элементов выбираем «Закладки», а там – нужную нам закладку, нажимаем «Применить»:
Теперь жмем «Закрыть» для возврата в диалог «Гиперссылка», и в нем нажимаем кнопку «Применить»:
Теперь закрываем это диалог – и т. д.
Сконвертируйте тестовый документ ExportToFB21_Test.odt, и посмотри на самые различные (и немыслимые) варианты ссылок. Их работоспособность в fb2 файле можно проверить или в fb2-редакторе (кнопки перехода по ссылкам) или в читалках, просто нажав на ссылки мышкой.
4.4.2. Что важно помнить:
1. Ссылки на таблицы и (или) на текстовые врезки НЕ РАБОТАЮТ – нужно переделывать весь их алгоритм, а оно вряд ли того стоит…
2. Если включить опцию сборки нескольких подзаголовков (SubTitle) в одну строку (тоже самое – и для заголовков Поэмы), то в результирующем Subtitle (или заголовке Поэмы) атрибут id будет взят из последнего Subtitle (или заголовке Поэмы) с закладкой! Это значит, что другие “ссылки” на переставшие существовать абзацы просто будут “указывать в никуда”! Учитывайте это!
3. Как уже было сказано выше, ни в коем случае впереди имени закладки не ставьте символ «#»! Работать ничего не будет! Это «служебный» символ для обозначения ссылки для атрибута «href» тега ‹a› fb2-файла (да и в xml, тоже). Например: ‹a l: href="#b Title" type="note"›. Если впереди имени закладки поставить символ «#» (‹a l: href="##bTitle" type="note"›), то ссылка просто работать не будет, т. к. в абзаце, куда она ссылается, в атрибуте “id” будет не «#bTitle», а «bTitle», которое конвертер берет из имени закладки – Bookmark.Name. Писать дополнительный код проверки – это обречь конвертер на еще медленное конвертирование (Open BASIC – язык интерпретатор), а это не есть хорошо. Поэтому – будьте внимательны, когда вводите имя закладки!
4.5. Работа со стихами
4.5.1. Структура стиха
Согласно схеме FictionBook стих (poem) имеет следующую структуру:
Т.е. он состоит из необязательных элементов (порядок очередности важен!) Заголовок, Эпиграф. Потом – бесконечное число чередований обязательных элементов Подзаголовок или Четверостишие (одно или бесконечное число). Потом – опять необязательные элементы Автор стиха (один или ни одного) и Дата написания. Все это полностью реализовано в конвертере.
В свою очередь элемент Stanza (Четверостишие) сам имеет два необязательных элемента Заголовок и Подзаголовок, и один обязательный – v. Элемент v реализован в конвертере, а два необязательных элемента Заголовок и Подзаголовок для Stanza – нет. Это связано с тем, что пользователю будет тяжело не запутаться с «отбивкой» стилями.
Если вы отформатируете стилями текст стиха (поэмы) в соответствии с этой схемой на картинке, то конвертер экспортирует текст корректно. Если вы переставите местами какой-либо элемент структуры Стиха – то в fb2 файле Поэма будет «разбита» на несколько, но валидация сработает, либо книга не будет валидной. Все зависит от того, что вы перепутаете. Так что будьте внимательны и сверяйтесь с этой схемой Поэмы!