§ 4.4 Структурирование документа

§ 4.4 Структурирование документа

Получить грамотно структурированнную книгу и есть та цель, ради которого мы беремся за редактирование книги.

Непосредственно сам процесс можно разделить на следующие этапы:

1) Разбиение на секции;

2) Разметка элементов;

3) Оформление сносок;

4) Вставка иллюстраций.

Если у вас «чистый» текст, например, вставленный командой Paste, то первые два этапа можно легко совместить, просто читая книгу в редакторе и попутно внося необходимые изменения. Сноски при этом этапе только помечаются, например, выделением в квадратные скобки.

Если текст уже размеченный, допустим, после FB2Any, то сперва следует пройтись по «дереву» структуры документа, правя некорректно оформленные элементы и убирая лишние секции. А потом, все равно очень желательно перечесть книгу, внося дополнительные правки.

Окончательное оформление сносок (если они не проставлены FB2Any) происходит только после окончания второго этапа.

И только потом, когда книга почти готова, прикрепляется обложка и вставляются иллюстрации.

Разбиение на секции

Текст книги в формате FictionBook делится на секции.

В окне редактирования каждая секция выделена зеленой полоской слева. Разрывы в этой полоске отмечают деление на секции. Для вложенных секций добавляются дополнительные полоски. Все очень наглядно.

Вполне логичным выглядит деление — «одна глава — одна секция». Секции-главы могут быть вложены в секции-части. Хотя формат допускает создание секции любой вложенности, обычно глубина вложений не превышает двух-трех.

Создать новую секцию просто. Выбираем команду EditClone container (Ctrl+Enter). После секции, на которой стоит курсор, появится новая секция с пустым заголовком.

Разделить уже набранную секцию можно так: поместив курсор в нужное место выбрать команду EditSplit container (Shift+Enter). Секция разделится ровненько по позиции курсора. Если при этом выделен кусок текста, то он станет заголовком новой секции.

«Склеить» секции, как, допустим, разделы в редакторе MS Word, привычно поместив курсор в конец первой секции и нажав Del, не получится. Абзацы просто будут перетягиваться из одной секции в другую по одному. Поэтому для этого нужно использовать команду EditMerge containers (Alt+Delete). Если присоединяемая секция имела заголовок (title), он превращается в подзаголовок (subtitle).

Создать вложенную секцию несложно.

Проще всего войти в режим редактирования исходника, найти начало первой секции (тэг <section>) и добавить перед ним еще один тэг <section>. Потом находим закрывающий тэг </section> последней секции и добавляем еще один такой же.

Считается что это единственный способ. Это не так. Cоздать вложенные секции можно и не выходя из режима WYSIWYG.

Перед секциями, которые нужно поместить в другую секцию, создается новая пустая секция.

Аккуратно выделяем нужные секции и помещаем их в буфер. Лучше это сделать командой EditCut (Ctrl+X). Не забываем подчистить мусор (после удаленных секций обычно остается одна пустая).

Вставляем содержимое буфера в только что созданную новую секцию. Вуаля!

Настоятельно обращаю ваше внимание, что в секции, которая имеет вложенные секции, не должно быть текста. Заголовок, эпиграф — пожалуйста, но просто абзацев, даже пустых строчек, быть не должно.

Если понадобилось, наоборот, убрать внешнюю секцию, это делается так: установив курсор на ее заголовок, или выделив эту секцию с помощью контекстного меню, выбираем команду EditRemove outer container.

Если нужно перенести или скопировать готовую секцию в другое место, это можно сделать как в режиме редактирования исходника, так и в режиме WYSIWYG. В последнем случае копируем секцию целиком в буфер, затем создаем в нужном месте пустую секцию, вставляем в нее секцию из буфера и убираем ставшую ненужной внешнюю секцию командой EditRemove outer container.

Не стоит допускать чрезмерной вложенности секций. Структура вложенных секций должна быть проста и логична. Том (книга), часть (раздел), глава (параграф). Подглавки же обычно выделяют подзаголовками (subtitle) — StyleSubtitle — (Alt+S).

Аннотация (Annotation) и история редактирования (History)

Раздел Annotation (серо-голубая полоска) — аннотация.

Аннотация — это краткое (два-три абзаца) описание книги. Обычно это пересказ завязки сюжета или мини-рецензия, ставящие своей целью привлечь читателя.

Подробнее о том, как аннотировать книги, читайте § 5.7 «Высокое искусство аннотации».

Аннотацию можно вставить в каждую секцию (команда EditAddAnnotation (Ctrl+J)).

Раздел History (малиновая полоска) предназначен для различных технических записей. Внесли исправления, добавили недостающие куски текста — сделали отметку в разделе History.

Расстановка заголовков (Title, subtitle)

Заголовки (Title) могут быть в начале книги (body), секции или стихов.

Чтобы вставить заголовок, выберите пункт меню EditAddTitle (Ctrl-T).

При этом курсор должен находиться непосредственно в элементе, в который планируется вставить заголовок.

Заголовки выделяются зеленым прямоугольником и бОльшим размером шрифта.

Если в главу входят небольшие подглавы, или она разделена на эпизоды строками типа «* * *», то для оформления этих элементов используются подзаголовки (subtitle). Установите курсор на нужный абзац и вызовите команду EditStyleSubtitle (Alt+S). Или щелкните по пиктограмме с тремя звездочками на панели инструментов.

Подзаголовки в FB Editor выделяются бОльшим размером шрифта.

Превратить подзаголовок в нормальный абзац можно командой EditStyleNormal (Alt+N).

==ВНИМАНИЕ, БАГ!=================

Перед тем, как проделать эту операцию, книгу лучше сохранить. И СРАЗУ ПОСЛЕ преообразования — ТОЖЕ. Частенько FB Editor при попытке отредактировать преобразованную таким образом строку, «вылетает» с ошибкой.

===============================

Само тело книги (body) тоже имеет заголовок. Автор этой книги считает хорошим тоном писать там фамилию-имя автора и (заглавными буквами) название книги. Не стоит экономить на этой минутной операции. Ведь далеко не все читалки и конверторы умеют грамотно извлекать эту информацию из description книги и помещать ее в начале текста. А книга без заголовка выглядит на порядок хуже, чем книга с повторяющимся названием…

Маленькое замечание по поводу разделения главы на эпизоды. Иногда, наряду с «* * *» (или вместо), для этого используются пустые строки («немые» заголовки). Оставлять их следует лишь в том случае, если это несет смысловую нагрузку. Например, повествование о разных героях разделено «* * *», а разные по времени события — «немыми» заголовками. Во всех остальных случаях предпочтительна замена на «* * *». Хотя бы потому, что при конвертации эти пустые строки запросто могут «потеряться»…

Можно, в принципе, вместо «немых» заголовков ставить отличные от «* * *». Например, «–*–» или «* * * * *». Но этот вариант есть моя собственная придумка и однозначно рекомендовать я его не могу.

Эпиграфы (Epigraph)

Эпиграф — это цитата из другого произведения, чье-то крылатое выражение и т.д., помещенное в начале книги или части ее с целью обозначить дух, смысл произведения, выразить отношение к ней автора и т.п.

Для выделения эпиграфов в FictionBook есть соответствующий элемент Epigraph. В FB Editor элемент Epigraph создается командой EditAddEpigraph (Ctrl+N).

Эпиграф может находиться только в начале книги (body) или секции. Нельзя создать эпиграф в любом месте, просто выделив текст.

В FB Editor эпиграф выделяется фиолетовой полоской и меньшим размером шрифта.

Обычно каждое изречение или цитата имеют автора.

Чтобы выделить его, в FictionBook предусмотрен элемент Text Author. Вставляется он командой EditAddText Author (Ctrl+D). Цветной полоски для элемента не предусмотрено, только отступ и шрифт красного цвета.

Есть возможность непосредственного преобразования последнего абзаца эпиграфа в элемент Text Author.

Устанавливаем курсор на этот абзац, и вызываем команду EditStyleText Author (Alt+A) или щелкаем по пиктограмме с человеческим профилем на панели инструментов. Абзац будет преобразован в элемент Text Author.

Если секция содержит только эпиграф, то валидатор сочтет это ошибкой. Необходимо, чтобы дополнительно была хотя бы пустая строка.

Стихи (Poem)

Чтобы обозначить стихи, песни, баллады, серенады и прочую лирику в FictionBook предусмотрен соответствующий элемент Poem, а в FB Editor — команда EditInsertPoem (Ctrl+P).

Выделите нужные строки, и вызовите эту команду.

Стихи выделяются двумя полосками — черной и темно-красной. Это потому, что предусмотрено деление стихов на более мелкие элементы — строфы (stanza). Обычно текстовый блок целиком преобразуется в элемент poem, потом его можно «разорвать» на строфы с помощью команды EditSplit container (Shift+Enter).

==ВНИМАНИЕ!=====================

Разделение стихов на строфы с помощью пустых строк спецификацией FictionBook не предусмотрено и считается ошибкой.

===============================

Затем можно вставить заголовок (EditAddTitle) и автора (EditAddText Author).

Непосредственного преобразования последней строки в Text Author (аналогично элементу Cite) в случае элемента Poem не предусмотрено.

Цитаты (Cite)

Не так уж и редко возникает необходимость вставить в текст отрывок из другой книги, статьи и т.д.. Такой отрывок называется цитатой. В FictionBook для этого был введен элемент Cite. В FB Editor он вставляется с помощью команды EditInsertCite. (Alt+C)

Цитаты выделяются желтой полоской и желтым цветом текста.

Кроме непосредственно цитат, элемент Cite также может использоваться и для оформления записок, телеграмм, надписей, списков, перечней, документов и т.д. Еще одно применение для цитат — ключевые фразы в различных пособиях и руководствах.

В последнем случае может потребоваться дополнительное выделение этих фраз болдом, или, как в этой книге, линиями «==» или «__». Исключительно потому, что старые читалки, тот же HaaliReader, выделяют цитаты недостаточно хорошо.

Хотя создавать цитаты можно, как и стихи — выделив фрагмент текста и вызвав соответствующую команду, этот способ работает в FB Editor не всегда корректно. Поэтому оформлять цитаты лучше всего путем вставки пустого элемента cite c последующим подтягиванием текста.

==ВНИМАНИЕ, БАГ!=================

Если в месте создания цитаты текст полужирный или курсивный, то образуется ошибочная конструкция, например, body/section/EM/cite/P/EM вместо правильного body/section/cite/P/EM, которая приводит к жутким глюкам при попытке сохранить файл.

===============================

В конце цитаты может быть добавлен элемент Text Author. Вставляется он точно так же, как в элемент Epigraph.

И не стоит переусердствовать и загонять в цитаты каждый фрагмент текста, обрамленный кавычками.

Линки и сноски

Линки в FictionBook служат для гипертекстового перехода в нужное место книги.

Сперва нужно присвоить нужному элементу имя (метку). Для этого выделяем его целиком с помощью контекстного меню. Затем в поле «ID:» панели линков вводим значение. Имя можно присвоить практически любому элементу: секции, абзацу, цитате и т. д. При этом допускаются буквы латинского алфавита и цифры.

Чтобы присвоить имя элементу, нужно выделить его целиком, что делается с помощью контекстного меню. Иначе оно будет присвоено абзацу, на котором стоит курсор.

После того, как нужный элементу присвоена метка, не него можно ссылаться. Для этого выделяем фрагмент текста, который послужит текстом для линка и вызываем команду EditStyleLink (Ctrl+L).

После этого курсор автоматически перемещается в поле «Href:» панели линков. Не торопитесь набирать имя метки вручную. Нажимая стрелки управления курсором «вверх» и «вниз» можно перемещаться по списку всех меток документа, причем перед именами уже будет стоять «#». Выбрав нужную метку, нажимаем Enter.

Линк создается строго в пределах одного абзаца. Если при вставке линка выделить фрагмент текста больше чем один абзац, то будут созданы несколько линков.

В FB Editor линки выделяются синим цветом и подчеркиванием. Гипертекстового перехода в редакторе не предусмотрено, так что, если понадобится протестировать линки, нужно открыть книгу в HaaliReader или другой читалке, поддерживающей линки.

Убрать линк можно, установив курсор на него и вызвав команду EditStyleRemove link (Ctrl+U).

Не следует злоупотреблять ссылками и превращать книгу в подобие Интернет-сайта. И уж тем более, совершенно недопустимы ссылки типа «читайте здесь»! Ведь, после преобразования книги в другой формат, такие «ссылки» потеряют всякий смысл.

Еще один интересный вопрос. Стоит ли оформлять как ссылки встречающиеся в тексте Интернет-ссылки («http://…», «www…» xxx@xxx.xx и т.д.)? С одной стороны, редактор сам постоянно норовит это сделать. И читалки, корректно обрабатывающие такие ссылки (то есть, с открытием браузера) уже есть. С другой — в FB2 ссылки, в первую очередь, предназначены для перемещения по тексту.

Поэтому, если вас интересует лично мое мнение, то Интернет-ссылки достаточно выделить болдом.

Сноски отличаются от линков, тем, что ведут не в произвольное место книги, а в специально предназначенный раздел-body «notes».

Соответственно, чтобы делать сноски, нужно сначала этот раздел создать.

Для этого переходим в режим редактирования исходника и, найдя в конце книги закрывающий тэг </body> набираем после него:

<body name="notes">

<section>

<empty-line/>

</section>

</body>

Значение атрибута «name» элемента body должно быть именно «notes».

Дополнительное body можно вставить командой EditAddBody (Ctrl+B). Но потом все равно придется лезть в редактор исходника, чтобы добавить атрибут name.

Затем добавляем секции. Одна сноска — одна секция.

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

В начале текста сноски должен идти порядковый номер сноски.

Секциям или абзацам, соответственно, присваиваются имена, например, «note01» и т.д.

После этого можно ссылаться на них. Для этого служит элемент «сноска». В отличие от линка, для сноски очень желателен специальный текст. Обычно это цифра в квадратных скобках, например, «[1]». При необходимости набрав, а затем выделив ее, вызываем команду вставки сноски: EditStyleFootnote (Ctrl+W). Выбор имени метки делается точно так же как для ссылки.

Настоятельно рекомендую заключать сноски именно в квадратные скобки. Это практически стандарт. Фигурные скобки «{}» обычно применяются для ссылок на список использованной литературы. А просто цифры, без скобок, конечно, выглядят красивее, но, при экспорте книги в txt, они просто потеряются.

Кстати о красоте. Если после слова идет знак препинания, то гораздо эстетичнее помещать сноску после этого знака, а не втискивать между ним и словом.

Если в книге очень много сносок, почти на каждой странице, как, например, в эпопее Л.Н. Толстого «Война и мир», то представляется весьма разумным помещать текст сносок прямо в основном тексте, отграничив его все теми же квадратными скобками. Пусть это идет несколько вразрез со стандартом, ведь главное для нас — удобство читателей. Хотя, вообще-то, уже появилась программа-ридер, которая показывает сноски, как всплывающие окна. Но, пока эта фича не стала всеобщим стандартом, нам вольно делать такие отступления. К тому же, должен заметить, на КПК часто щелкать по сноскам весьма и весьма несподручно…

==ВАЖНО!========================

ОЧЕНЬ желательно, чтобы текст сноски был по обьему не более двух-трех абзацев. Это связано с тем, что уже имеется софт, отображающий сноски, как полагается в цивильной книге, внизу виртуальной страницы. Также уже существует читалка, отображающая сноски в виде всплывающих окон. И дело даже не в том, что с длинными сносками такой софт будет глючить (а он, зараза, и глючит!). При отображении внизу страницы или отдельным окошком длинные тексты очень плохо смотрятся.

Также не стоит забывать про конверторы в PDF и другие полиграфически-ориентированные форматы. Они тоже любят размещать сноски внизу страницы.

Посему объемистые пояснения следует оформлять в виде приложений. Примерно так, как сделано в этой книге.

===============================

Ликвидировать сноску можно все той же командой EditStyleRemove links.

Вставка иллюстраций

Вставить в книгу иллюстрации очень просто.

В меню Edit выбираем пункт Insert/Image (Ctrl+M).

(Не перепутайте с аналогичной командой — EditAddImage (Ctrl+G). Она выполняется точно так же, но предназначена для вставки картинок строго в начало секции.)

Должна появиться картинка с красной надписью «Unknown image ID». Это так называемая картинка-болванка.

Теперь надо присоединить настоящую картинку к файлу книги и связать ее с тэгом иллюстрации.

Присоединяем файл картинки командой EditAdd Binary Object.

Затем выделяем картинку-болванку и щелкаем по полю «Href:» панели линков. Нажимая стрелки управления курсором «вверх» и «вниз», выбираем картинку. Она тут же появится вместо картинки-болванки.

О том, как подготовить картинку-иллюстрацию читайте ниже. § 5.2 «Подготовка картинок».

Подписи к иллюстрациям рекомендуется делать обычным текстом, отделяя его от основного текста пустой строкой. Можно дополнительно выделить текст курсивом.

А если нужно быстро вытащить картинки из книги? Нет проблем. Проэкспортируйте ее в HTML (FileExportTo Html). Все картинки будут в каталоге [имя файла]_files, который будет создан в том же каталоге, что и файл HTML.

==ЭТО ИНТЕРЕСНО==================

Бывает, нужно извлечь растровую картинку из документа M$ Word. Функции экспорта картинок там не предусмотрено. Можно скопировать картинку в буфер, но если ее масштабировали, то она и скопируется с измененными размерами.

Как быть? Все очень просто. Сохраняем Word-документ, как HTML и все картинки будут в каталоге [имя файла]_files. В первозданном виде.

Читатель Змей предложил, как вариант, сохранять документ в .mht, картинки там будут уже перекодированные в base64. Затем можно открыть итоговый файл в Блокноте, и перекинуть нужные куски в исходник книги, не забыв отбить их тэгами binary. В общем, способ на любителя.

===============================