52672.fb2
Как уже говорилось, файл книги, после конвертации, в обязательном порядке требует окончательной доводки.
Для этого существует программа FB Editor, входящая в пакет FB Tools. Разумеется, это далеко не единственное стредство редактирования FB2-книг.
Данное описание соответствует оригинальной версии FB Editor 1.0 от 23 февраля 2005 года.
Автор FB Editor, Михаил Мацнев, не стал утруждать себя написанием help-а, не без основания считая, что разобраться, как работать с программой, можно и без такового.
Однако, судя по количеству вопросов на форумах fictionbook.org и прочих, описание программы все-таки требуется.
Для работы FB Tools требуется операционная система семейства Windows NT: лучше всего Windows 2000 или Windows XP.
Также понадобится MSXML 4.0 SP2 и Internet Explorer версии не ниже 5.5 и (внимание!) не выше 6.0 SP1.
Скачать MSXML 4.0 можно с официального сайта Micro$oft. При этом проверка Windows на легальность не производится :).
==ВАЖНО========================
Если у вас установлен Internet Explorer 7.0 и выше, ставить FB Editor, не стоит и пытаться — работать не будет. Вам придется воспользоваться альтернативной разработкой — FB Writer или версией FBE от ЛитРес.
===============================
Попутно в систему будет установлено пару библиотек, позволяющих видеть свойства книг FB2 в Проводнике и, щелкнув правой клавишей мыши, производить их верификацию прямо из Проводника.
Наконец, все нужные компоненты закачаны, программа установлена. Можно приступать к работе.
Как следует из названия, FB Editor позволяет редактировать файлы в формате FB2. Довольно скромный набор функций частично компенсируется возможностью прямого редактирования XML-файла книги.
Механизм работы редактора не так прост, как может показаться на первый взгляд. Кроме exe-файла редактора существуют еще два Java-скрипта, с помощью которых реализована часть функций редактирования. При WYSIWYG-редактировании контент книги преобразуется в динамический HTML, с которым и работают основные и дополнительные Java-скрипты.
После запуска FictionBook Editor появляется рабочее окно.
Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски.
Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG, и в режиме «исходника», когда видны все тэги и настоящая структура файла.
Слева от главного окна находится панель Document Tree, в котром отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги.
И, внизу, служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора.
Пройдемся по пунктам меню.
В меню File, кроме стандартных New, Open, Save, есть команда Validate (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника (Source), устанавливая курсор на 1–2 строки ниже «проблемной» строки.
Маленькое замечание по поводу сохранения файла. Пункт Save предлагает довольно большой выбор кодировок. Но при всем богатстве выбора, альтернатива сводится к двум вариантам: utf-8 и windows-1251.
Cчитается, что UTF-8 обеспечивает книге бОльшую кроссплатформеннность, нежели windows-1251, но, при этом, архив с книгой «весит» заметно больше.
Пункт меню File\Import по умолчанию имеет один подпункт «No import plugins installed». Плагины для импорта книг из других форматов в комплект FB Tools не входят. Но если вы установите пакет Any2FB2, то FB Editor сам обнаружит его, и соответствующая иконка появится в меню File\Import. Устанавливать Any2FB2 в одну папку с FB Tools для этого вовсе необязательно.
Пункт меню File\Export позволяет экспортировать книгу в формат HTML. Структура книги полностью сохраняется. Можно выбрать скрипт XSL.
Если вы установили пакет FB2Any, в подпункье Export появятся плагины для экспорта книги в txt, Rocket Book, MS Reader, iSilo.
Второй раздел меню Edit кроме типовых Undo, Redo, Cut, Copy, Find, Replace содержит блок работы с элементами книги — Сlone container, Split container, Mergecontainer и, специально для вложенных секций — Remove outer container.
Ниже идут три подменю вставки элементов.
В подменю Style собраны команды вставки элементов в пределах одного абзаца: Normal, Text Author, Subtitle, Link, Footnote, Remove link.
Подменю Add содержит команды добавления элементов, которые должны находиться строго в определенном месте документа: Body, Title, Epigraph, Image (вариант), Annotation, Text Author.
И, в подменю Insert сгруппированы команды вставки элементов, которые, в принципе, могут находиться в произвольном месте книги: Image, Poem, Cite.
Последней идет команда Add Binary object. Она позволяет присоединять к файлу книги картинки и вообще любой двоичный файл.
Следующий раздел меню — View. Сначала идут флажки отображения панелей — Toolbar, Link bar, Status bar, Doсument Tree. Под ними — выбор режима редактирования книги — Description, Body, Source.
Между режимами Body и Description можно переключаться с помощью комбинации клавиш Ctrl+Tab.
И последний пункт — Options. Здесь можно выбрать цвет фона, а также цвет, тип и размер шрифта для окна редактирования.
Раздел меню Tools содержит три пункта.
Команда Words. К сожалению, она до конца не проработана. В своем нынешнем состоянии команда выдает список слов, входящих в текст книги, в которых есть дефис. Те слова, у которых в тексте книги есть варианты без дефиса, помечаются восклицательным знаком. В поле Replacement можно вводить варианты замены. Но после нажатия кнопки «ОК» программа заменяет только те слова, в которых нет русских символов…
Options — здесь можно настроить некоторые параметры режима редактирования исходника книги. Wrap lines (сворачивать строки), Syntax highlighting (подсветка синтаксиса), Show end of line marks (показывать символы конца строки).
И подменю Scripts, позволяющее вызывать пользовательские скрипты JavaScripts.
В раздел Help входит только пункт About, позволяющий узнать номер версии и дату сборки.
==ВАЖНО========================
Первое, что необходимо твердо усвоить при работе c FictionBook — это то, что данный формат предназначен не для ОФОРМЛЕНИЯ, а для СТРУКТУРИРОВАНИЯ электронного документа.
===============================
Поэтому бесполезно искать абзацные отступы, выравнивание и прочие элементы, столь обыденные в любом стандартном редакторе.
В создающейся при запуске редактора пустой книге, всего три элемента. Annotation, history и body с title и одной section.
Как видим, в FB Editor различные элементы книги принято выделять цветной полоской слева, а также цветовой заливкой.
Редактирование в FB Editor внешне почти не отличается от обычного редактора. Поддерживается даже перетягивание выделенного текста.
Но свои особенности имеются. И главная из них — поабзацное перетягивание текста из элемента в элемент.
Наберите два-три слова в разделе section. Потом нажмите Enter, создав тем самым новый абзац. Наберите еще что-нибудь. Затем перейдите в заголовок книги (body/title/p, выделен зеленым цветом) и нажмите Del. Первый абзац текста перейдет в заголовок книги. Это и есть перетягивание текста.
Запомните этот способ. Его вы будете использовать очень часто.
Из привычных способов выделения текста FB Editor может предложить только два.
Щелкнув по соответствующей кнопке на панели инструментов, текст можно сделать полужирным (Ctrl-S) или курсивным (Сtrl-E).
Не стоит злоупотреблять и дополнительно выделять названия глав, подзаголовки, стихи и т.д. жирным шрифтом, курсивом, пустыми строчками и тому подобными приемами. Это полагается делать через настройки читалки.
Новшества версии 2.1 в текущей версии FB Editor не поддерживаются. Набирать их в режиме редактирования исходника можно. И валидатор обрабатывает их нормально. Но в коде программы поддержка новых тэгов не предусмотрена. И после выхода в режим WYSIWYG эти тэги просто исчезают или преобразуются в обычные абзацы, как, например, таблицы.
Перед тем, как приступить к набору или редактированию текста книги необходимо заполнить описание книги — Description.
Это описание нужно, в первую очередь, для корректной работы библиотечного софта, но может быть интересно и читателю.
Режим редактирования описания вызывается из меню: View/Description.
Окно редактирования делится на следующие разделы: Title Info, Document Info, Publisher Info, Custom Info и Binary Objects.
Каждый раздел содержит несколько подразделов (граф).
В правой части большинства граф есть служебные кнопки. Кнопка с пересекающимися прямоугольниками позволяет дублировать графу. Кнопка с крестиком, напротив, позволяет удалять ненужные дубликаты. Если графа существует в единственном экземпляре, кнопка неактивна.
В разделе Title Info содержится основная информация о книге.
Первым пунктом идет жанр произведения (Genres). Он должен быть выбран из фиксированного списка. Щелкните по кнопке с треугольничком и выберите нужный жанр из соответствующей группы.
В этой же строке, правее, находится поле Match. Оно обозначает соответствие произведения выбранному жанру (в процентах).
Например, в списке поджанров нет весьма популярного нынче «городского фэнтэзи». Поэтому оформляем его двумя жанрами. Фэнтэзи и боевик.
Сначала выбираем жанр Science Fiction & Fantasy\Fantasy.
Потом добавляем еще одну строку Genre. И выбираем жанр Science Fiction & Fantasy\Action.
Список жанров с переводом приведен в Приложении В.
После Genres идет графа Authors. Информация об авторе книги. First (имя) Middle (отчество), Last (фамилия), Nick (ник), Email (адрес электронной почты), Homepage (адрес сайта).
Следом идет Book title (название книги), Keywords (ключевые слова), Date (дата написания (не выпуска!)) в произвольном формате (например, «2001–2005 г., Переделкино»). В поле Value тоже вводится дата (обычно окончания работы над книгой), но строго в компьютерном формате ГГГГ-ММ-ДД (например, 2006-07-22).
Coverpage. Картинка обложки.
В поле Image вводится ссылка на картинку обложки. Сперва присоединяем картинку к файлу командой Edit\Add Binary object (скрепка на панели инструментов). Затем копируем имя файла из поля ID появившейся в разделе Binary Objects новой графы в буфер и вставляем в поле Image графы Coverpage. Перед именем нужно добавить символ «#».
Подробнее, о картинках для обложки читайте ниже, «§ 5.3 Обложки».
Language — язык книги. Для русского языка пишем «ru».
Список возможных значений для других языков приведен в Приложении Г.
==ВАЖНО========================
Следует знать, что в описании книги жизненно необходимыми для FB Editor являются два пункта. Genre и Language. Если они не заполнены, или заполнены неправильно, то валидатор FB Editor ругается при попытке сохранить книгу. А что самое неприятное, если вам понадобилось отредактировать «исходник», то валидатор просто «не выпустит» из режима редактирования Source, до тех пор, пока все ошибки не будут исправлены, в том числе, указанные поля не будут заполнены правильно.
Поэтому первым делом необходимо заполнить эти элементы. С остальными можно разобраться и попозже.
===============================
Source language — исходный язык, если книга переводная. В противном случае оставляем пустой.
Некоторые букмейкеры, [4.1] даже если книга изначально русскоязычная, все равно заполняют эту графу, дублируя Language. Так поступать не следует.
Translators — переводчик. Если книга не переводная, оставляем пустыми. Иначе заполняем таким же образом, как и графу Authors. Фамилия, имя, отчество и т.д.
Sequence — если книга входит в серию, то в поле Name вводим название серии, а в поле Number — порядковый номер в серии.
Обратите внимание, что в правой части строки, перед кнопкой дублирования строки есть кнопка с треугольничком. Она позволяет создавать вложенные серии. К примеру, основная серия — «Звездные Войны», вложенная серия — трилогия «Адмирал Траун».
Название серии может быть образовано по названию первой книги серии («Завтра война», «Имперские танцы»), имени главного героя («Кирилл Мазур»), местности, где происходит действие («Керторийский цикл»).
Раздел Document Info содержит информацию о самой книге.
В строку Authors вводим информацию о человеке, создавшем этот документ. Аналогично ранее заполнявшимся Authors и Translators.
Programs used — программное обеспечение, использованное при создании книги. Обычно FB Editor сам пишет там — «FB Tools». Если вы использовали какие-нибудь дополнительные утилиты — можно упомянуть их там.
Поля Date и Value заполняются аналогично таким же полям в Book Info. Впрочем, FBE старается заполнить их сам.
Source URLs — если исходный текст для создания книги был скачан с какого-нибудь сайта, здесь нужно указать ссылку на него.
Source OCR — если книга было отсканирована, то здесь указываем данные (обычно ник) сканнериста, а также человека, производившего вычитку. Страна должна знать своих героев!
ID — уникальный номер документа. Обычно генерируется самим FB Editor-ом или программой конвертации.
Подчеркиваю, номер должен быть уникальным. Именно по нему библиотечный софт различает книги. То есть, если Вы обновляете уже закачанную книгу, менять номер нельзя.
А как быть, если вы любите создавать новые книги, используя заготовки-шаблоны? Например, особенно удобно это делать при подготовке серии книг. Можно конечно, каждый раз редактировать ID вручную, но это нудно и, кроме того, можно запросто забыть это сделать.
Выход прост, как все гениальное. Подготовив шаблон, очищаем поле ID в description, и тут же сохраняем файл. Когда FB Editor откроет его вновь, он сгенерирует новый ID автоматически.
То же самое, кстати, относится и к полям Date и Value в разделе Document Info.
Version — номер версии книги. Обычно — 1.0. По мере редактирования книги, может (и должен!) изменяться.
===ВАЖНО======================
Вообще-то, одно время существовало соглашение, что у вычитанной книги номер версии должен быть не ниже 2.0.
===============================
Следующий раздел — Publisher Info. Здесь собрана информация о бумажном оригинале книги, если таковой существовал в природе.
Book name. Обычно совпадает с названием произведения, но если оно было издано в составе сборника, то здесь следует указывать название сборника.
Publisher — название издательства.
City — город, в котором была напечатана книга.
Year — год выпуска.
ISBN — код ISBN. [4.2]
Sequence — название ПЕЧАТНОЙ серии. «Библиотека приключений», например, или «Абсолютное оружие». Также допускает вложенные серии.
В раздел Custom Info может вноситься произвольная дополнительная информация. Копирайт, благодарности, реклама и т.д. и т.п. Вплоть до мистических проклятий средневековых переписчиков («Кто эту книгу украдёт, у того руки отсохнут и уши отвалятся») :-).
Раздел Binary Objects заполняется автоматически, по мере присоединения к книге бинарных объектов, обычно картинок.
Щелкая по кнопкам с крестиком и удаляя графы в этом разделе, вы одновременно удаляете присоединенные объекты.
Получить грамотно структурированнную книгу и есть та цель, ради которого мы беремся за редактирование книги.
Непосредственно сам процесс можно разделить на следующие этапы:
1) Разбиение на секции;
2) Разметка элементов;
3) Оформление сносок;
4) Вставка иллюстраций.
Если у вас «чистый» текст, например, вставленный командой Paste, то первые два этапа можно легко совместить, просто читая книгу в редакторе и попутно внося необходимые изменения. Сноски при этом этапе только помечаются, например, выделением в квадратные скобки.
Если текст уже размеченный, допустим, после FB2Any, то сперва следует пройтись по «дереву» структуры документа, правя некорректно оформленные элементы и убирая лишние секции. А потом, все равно очень желательно перечесть книгу, внося дополнительные правки.
Окончательное оформление сносок (если они не проставлены FB2Any) происходит только после окончания второго этапа.
И только потом, когда книга почти готова, прикрепляется обложка и вставляются иллюстрации.
Текст книги в формате FictionBook делится на секции.
В окне редактирования каждая секция выделена зеленой полоской слева. Разрывы в этой полоске отмечают деление на секции. Для вложенных секций добавляются дополнительные полоски. Все очень наглядно.
Вполне логичным выглядит деление — «одна глава — одна секция». Секции-главы могут быть вложены в секции-части. Хотя формат допускает создание секции любой вложенности, обычно глубина вложений не превышает двух-трех.
Создать новую секцию просто. Выбираем команду Edit\Clone container (Ctrl+Enter). После секции, на которой стоит курсор, появится новая секция с пустым заголовком.
Разделить уже набранную секцию можно так: поместив курсор в нужное место выбрать команду Edit\Split container (Shift+Enter). Секция разделится ровненько по позиции курсора. Если при этом выделен кусок текста, то он станет заголовком новой секции.
«Склеить» секции, как, допустим, разделы в редакторе MS Word, привычно поместив курсор в конец первой секции и нажав Del, не получится. Абзацы просто будут перетягиваться из одной секции в другую по одному. Поэтому для этого нужно использовать команду Edit\Merge containers (Alt+Delete). Если присоединяемая секция имела заголовок (title), он превращается в подзаголовок (subtitle).
Создать вложенную секцию несложно.
Проще всего войти в режим редактирования исходника, найти начало первой секции (тэг <section>) и добавить перед ним еще один тэг <section>. Потом находим закрывающий тэг </section> последней секции и добавляем еще один такой же.
Считается что это единственный способ. Это не так. Cоздать вложенные секции можно и не выходя из режима WYSIWYG.
Перед секциями, которые нужно поместить в другую секцию, создается новая пустая секция.
Аккуратно выделяем нужные секции и помещаем их в буфер. Лучше это сделать командой Edit\Cut (Ctrl+X). Не забываем подчистить мусор (после удаленных секций обычно остается одна пустая).
Вставляем содержимое буфера в только что созданную новую секцию. Вуаля!
Настоятельно обращаю ваше внимание, что в секции, которая имеет вложенные секции, не должно быть текста. Заголовок, эпиграф — пожалуйста, но просто абзацев, даже пустых строчек, быть не должно.
Если понадобилось, наоборот, убрать внешнюю секцию, это делается так: установив курсор на ее заголовок, или выделив эту секцию с помощью контекстного меню, выбираем команду Edit\Remove outer container.
Если нужно перенести или скопировать готовую секцию в другое место, это можно сделать как в режиме редактирования исходника, так и в режиме WYSIWYG. В последнем случае копируем секцию целиком в буфер, затем создаем в нужном месте пустую секцию, вставляем в нее секцию из буфера и убираем ставшую ненужной внешнюю секцию командой Edit\Remove outer container.
Не стоит допускать чрезмерной вложенности секций. Структура вложенных секций должна быть проста и логична. Том (книга), часть (раздел), глава (параграф). Подглавки же обычно выделяют подзаголовками (subtitle) — Style\Subtitle — (Alt+S).
Раздел Annotation (серо-голубая полоска) — аннотация.
Аннотация — это краткое (два-три абзаца) описание книги. Обычно это пересказ завязки сюжета или мини-рецензия, ставящие своей целью привлечь читателя.
Подробнее о том, как аннотировать книги, читайте «§ 5.7 Высокое искусство аннотации».
Аннотацию можно вставить в каждую секцию (команда Edit\Add\Annotation (Ctrl+J)).
Раздел History (малиновая полоска) предназначен для различных технических записей. Внесли исправления, добавили недостающие куски текста — сделали отметку в разделе History.
Заголовки (Title) могут быть в начале книги (body), секции или стихов.
Чтобы вставить заголовок, выберите пункт меню Edit\Add\Title (Ctrl-T).
При этом курсор должен находиться непосредственно в элементе, в который планируется вставить заголовок.
Заголовки выделяются зеленым прямоугольником и бОльшим размером шрифта.
Если в главу входят небольшие подглавы, или она разделена на эпизоды строками типа «* * *», то для оформления этих элементов используются подзаголовки (subtitle). Установите курсор на нужный абзац и вызовите команду Edit\Style\Subtitle (Alt+S). Или щелкните по пиктограмме с тремя звездочками на панели инструментов.
Подзаголовки в FB Editor выделяются бОльшим размером шрифта.
Превратить подзаголовок в нормальный абзац можно командой Edit\Style\Normal (Alt+N).
==ВНИМАНИЕ, БАГ!=================
Перед тем, как проделать эту операцию, книгу лучше сохранить. И СРАЗУ ПОСЛЕ преообразования — ТОЖЕ. Частенько FB Editor при попытке отредактировать преобразованную таким образом строку, «вылетает» с ошибкой.
===============================
Само тело книги (body) тоже имеет заголовок. Уже стало хорошим тоном писать там фамилию-имя автора и (заглавными буквами) название книги. Не стоит экономить на этой минутной операции. Ведь далеко не все читалки и конверторы умеют грамотно извлекать эту информацию из description книги и помещать ее в начале текста. А книга без заголовка выглядит на порядок хуже, чем книга с повторяющимся названием…
Маленькое замечание по поводу разделения главы на эпизоды. Иногда, наряду с «* * *» (или вместо), для этого используются пустые строки («немые» заголовки). Оставлять их следует лишь в том случае, если это несет смысловую нагрузку. Например, повествование о разных героях разделено «* * *», а разные по времени события — «немыми» заголовками. Во всех остальных случаях предпочтительна замена на «* * *». Хотя бы потому, что при конвертации эти пустые строки запросто могут «потеряться»…
Можно, в принципе, вместо «немых» заголовков ставить отличные от «* * *». Например, «–*–» или «* * * * *». Но этот вариант есть моя собственная придумка и однозначно рекомендовать я его не могу.
Эпиграф — это цитата из другого произведения, чье-то крылатое выражение и т.д., помещенное в начале книги или части ее с целью обозначить дух, смысл произведения, выразить отношение к ней автора и т.п.
Для выделения эпиграфов в FictionBook есть соответствующий элемент Epigraph. В FB Editor элемент Epigraph создается командой Edit\Add\Epigraph (Ctrl+N).
Эпиграф может находиться только в начале книги (body) или секции. Нельзя создать эпиграф в любом месте, просто выделив текст.
В FB Editor эпиграф выделяется фиолетовой полоской и меньшим размером шрифта.
Обычно каждое изречение или цитата имеют автора.
Чтобы выделить его, в FictionBook предусмотрен элемент Text Author. Вставляется он командой Edit\Add\Text Author (Ctrl+D). Цветной полоски для элемента не предусмотрено, только отступ и шрифт красного цвета.
Есть возможность непосредственного преобразования последнего абзаца эпиграфа в элемент Text Author.
Устанавливаем курсор на этот абзац, и вызываем команду Edit\Style\Text Author (Alt+A) или щелкаем по пиктограмме с человеческим профилем на панели инструментов. Абзац будет преобразован в элемент Text Author.
Если секция содержит только эпиграф, то валидатор сочтет это ошибкой. Необходимо, чтобы дополнительно была хотя бы пустая строка.
Чтобы обозначить стихи, песни, баллады, серенады и прочую лирику в FictionBook предусмотрен соответствующий элемент Poem, а в FB Editor — команда Edit\Insert\Poem (Ctrl+P).
Выделите нужные строки, и вызовите эту команду.
Стихи выделяются двумя полосками — черной и темно-красной. Это потому, что предусмотрено деление стихов на более мелкие элементы — строфы (stanza). Обычно текстовый блок целиком преобразуется в элемент poem, потом его можно «разорвать» на строфы с помощью команды Edit\Split container (Shift+Enter).
==ВНИМАНИЕ!=====================
Разделение стихов на строфы с помощью пустых строк спецификацией FictionBook не предусмотрено и считается ошибкой.
===============================
Затем можно вставить заголовок (Edit\Add\Title) и автора (Edit\Add\Text Author).
Непосредственного преобразования последней строки в Text Author (аналогично элементу Cite) в случае элемента Poem не предусмотрено.
Не так уж и редко возникает необходимость вставить в текст отрывок из другой книги, статьи и т.д.. Такой отрывок называется цитатой. В FictionBook для этого был введен элемент Cite. В FB Editor он вставляется с помощью команды Edit\Insert\Cite. (Alt+C)
Цитаты выделяются желтой полоской и желтым цветом текста.
Кроме непосредственно цитат, элемент Cite также может использоваться и для оформления записок, телеграмм, надписей, списков, перечней, документов и т.д.
Хотя создавать цитаты можно, как и стихи — выделив фрагмент текста и вызвав соответствующую команду, этот способ работает в FB Editor не всегда корректно. Поэтому оформлять цитаты лучше всего путем вставки пустого элемента cite c последующим подтягиванием текста.
==ВНИМАНИЕ, БАГ!=================
Если в месте создания цитаты текст полужирный или курсивный, то образуется ошибочная конструкция, например, body/section/EM/cite/P/EM вместо правильного body/section/cite/P/EM, которая приводит к жутким глюкам при попытке сохранить файл.
===============================
В конце цитаты может быть добавлен элемент Text Author. Вставляется он точно так же, как в элемент Epigraph.
И не стоит переусердствовать и загонять в цитаты каждый фрагмент текста, обрамленный кавычками.
Линки в FictionBook служат для гипертекстового перехода в нужное место книги.
Сперва нужно присвоить нужному элементу имя (метку). Для этого выделяем его целиком с помощью контекстного меню. Затем в поле «ID:» панели Линков вводим значение. Имя можно присвоить практически любому элементу: секции, абзацу, цитате и т. д. При этом допускаются буквы латинского алфавита и цифры.
Чтобы присвоить имя элементу, нужно выделить его целиком, что делается с помощью контекстного меню. Иначе оно будет присвоено абзацу, на котором стоит курсор.
После того, как нужный элементу присвоена метка, не него можно ссылаться. Для этого выделяем фрагмент текста, который послужит текстом для линка и вызываем команду Edit\Style\Link (Ctrl+L).
После этого курсор автоматически перемещается в поле «Href:» панели линков. Не торопитесь набирать имя метки вручную. Нажимая стрелки управления курсором «вверх» и «вниз» можно перемещаться по списку всех меток документа, причем перед именами уже будет стоять «#». Выбрав нужную метку, нажимаем Enter.
Линк создается строго в пределах одного абзаца. Если при вставке линка выделить фрагмент текста больше чем один абзац, то будут созданы несколько линков.
В FB Editor линки выделяются синим цветом и подчеркиванием. Гипертекстового перехода в редакторе не предусмотрено, так что, если понадобится протестировать линки, нужно открыть книгу в HaaliReader или другой читалке, поддерживающей линки.
Убрать линк можно, установив курсор на него и вызвав команду Edit\Style\Remove link (Ctrl+U).
Не следует злоупотреблять ссылками и превращать книгу в подобие Интернет-сайта. И уж тем более, совершенно недопустимы ссылки типа «читайте здесь»! Ведь, после преобразования книги в другой формат, такие «ссылки» потеряют всякий смысл.
Еще один интересный вопрос. Стоит ли оформлять как ссылки встречающиеся в тексте Интернет-ссылки («http://…», «www…» [email protected] и т.д.)? С одной стороны, редактор сам постоянно норовит это сделать. И читалки, корректно обрабатывающие такие ссылки (то есть, с открытием браузера) уже есть. С другой — в FB2 ссылки, в первую очередь, предназначены для перемещения по тексту.
Поэтому, если вас интересует мое мнение, то Интернет-ссылки достаточно выделить болдом.
Сноски отличаются от линков, тем, что ведут не в произвольное место книги, а в специально предназначенный раздел-body «notes».
Соответственно, чтобы делать сноски, нужно сначала этот раздел создать.
Для этого переходим в режим редактирования исходника и, найдя в конце книги закрывающий тэг </body> набираем после него:
<body name="notes">
<section>
<empty-line/>
</section>
</body>
Значение атрибута «name» элемента body должно быть именно «notes».
Дополнительное body можно вставить командой Edit\Add\Body (Ctrl+B). Но потом все равно придется лезть в редактор исходника, чтобы добавить атрибут name.
Затем добавляем секции. Одна сноска — одна секция.
Если сносок очень много и они короткие, можно попробовать делать их просто абзацами. Этот метод, правда, имеет небольшой недостаток, выражающийся в том, что при переходе на сноску в читалке, будут отображаться все сноски, расположенные ниже выбранной. И, возможно, валидаторы библиотек могут забраковать такой файл.
В начале текста сноски должен идти порядковый номер сноски.
Секциям или абзацам, соответственно, присваиваются имена, например, «note01» и т.д.
После этого можно ссылаться на них. Для этого служит элемент «сноска». В отличие от линка, для сноски очень желателен специальный текст. Обычно это цифра в квадратных скобках, например, «[1]». При необходимости набрав, а затем выделив ее, вызываем команду вставки сноски: Edit\Style\Footnote (Ctrl+W). Выбор имени метки делается точно так же как для ссылки.
Настоятельно рекомендую заключать сноски именно в квадратные скобки. Это практически стандарт. Фигурные скобки «{}» обычно применяются для ссылок на список использованной литературы. А просто цифры, без скобок, конечно, выглядят красивее, но, при экспорте книги в txt, они просто потеряются.
Кстати о красоте. Если после слова идет знак препинания, то гораздо эстетичнее помещать сноску после этого знака, а не втискивать между ним и словом.
Если в книге очень много сносок, как, например, в эпопее Л.Н. Толстого «Война и мир», то представляется весьма разумным помещать текст сносок прямо в основном тексте, отграничив его все теми же квадратными скобками. Это идет несколько вразрез со стандартом, но главное для нас — удобство читателей, а программы-ридеры, которые показывают сноски, как всплывающие окна, еще не появились.
==ВАЖНО!========================
ОЧЕНЬ желательно, чтобы текст сноски был по обьему не более двух-трех абзацев. Это связано с тем что уже появился софт, отображающий сноски, как полагается в цивильной книге, внизу виртуальной страницы. Также не исключено появление читалок, отображающих сноски в виде всплывающих окон. И дело даже не в том, что с длинными сносками такой софт будет глючить (а он, зараза, и глючит!). При отображении внизу страницы или отдельным окошком длинные тексты очень плохо смотрятся.
Также не стоит забывать про конверторы в PDF и другие полиграфически-ориентированные форматы. Они тоже любят размещать сноски внизу страницы.
Посему объемистые пояснения следует оформлять в виде приложений. Примерно так, как сделано в этой книге.
===============================
Ликвидировать сноску можно все той же командой Edit\Style\Remove links.
Вставить в книгу иллюстрации очень просто.
В меню Edit выбираем пункт Insert/Image (Ctrl+M).
(Не перепутайте с аналогичной командой — Edit\Add\Image (Ctrl+G). Она выполняется точно так же, но предназначена для вставки картинок строго в начало секции.)
Должна появиться картинка с красной надписью «Unknown image ID». Это так называемая картинка-болванка.
Теперь надо присоединить настоящую картинку к файлу книги и связать ее с тэгом иллюстрации.
Присоединяем файл картинки командой Edit\Add Binary Object.
Затем выделяем картинку-болванку и щелкаем по полю «Href:» панели линков. Нажимая стрелки управления курсором «вверх» и «вниз», выбираем картинку. Она тут же появится вместо картинки-болванки.
О том, как подготовить картинку-иллюстрацию читайте ниже. «§ 5.2. Подготовка картинок»
Подписи к иллюстрациям рекомендуется делать обычным текстом, отделяя его от основного текста пустой строкой. Можно дополнительно выделить текст курсивом.
А если нужно быстро вытащить картинки из книги? Нет проблем. Проэкспортируйте ее в HTML (File\Export\To Html). Все картинки будут в каталоге [имя файла]_files, который будет создан в том же каталоге, что и файл HTML.
==ЭТО ИНТЕРЕСНО==================
Бывает, нужно извлечь растровую картинку из документа M$ Word. Функции экспорта картинок там не предусмотрено. Можно скопировать картинку в буфер, но если ее масштабировали, то она и скопируется с измененными размерами.
Как быть? Все очень просто. Сохраняем Word-документ, как HTML и все картинки будут в каталоге [имя файла]_files. В первозданном виде.
===============================
Функции поиска и замены в FB Editor предусматривают использование регулярных выражений (Regular Expressions, RegExp).
Регулярные выражения представляют собой квазиязык, объединяющий набор шаблонов и подстановок, используемых при поиске и замене фрагментов текста. Это очень мощный инструмент, кардинально облегчающий обработку текстовых документов.
Синтаксис регулярных выражений в FB Editor заимствован из языка Perl.
В приложении к книге дано краткое описание синтаксиса регулярных выражений, использующихся в FB Editor. Однако, настоятельно рекомендую этим не ограничиваться, а прочитать хороший учебник по языку Perl. А еще есть замечательная книга Дж. Фридла: «Регулярные выражения». Хорошенько поискав, ее можно найти в Сети ;)).
Рассмотрим использование регулярных выражений на примере достаточно сложной, но часто встречающейся задачи — замены компьютерных кавычек «""» на типографские „«»“.
Основная проблема здесь в том, что открывающие и закрывающие компьютерные кавычки одинаковы. Поэтому приходится ориентироваться по символам, расположенным рядом.
Обычным способом придется вызывать команду поиска\замены не менее десяти раз, рискуя что-то забыть или перепутать. Регулярные выражения позволяют произвести все замены за четыре захода.
Для начала примем за аксиому, что кавычка, расположенная в самом начале абзаца — открывающая, а в самом конце — закрывающая.
Вызываем команду Edit\Replace.
В поле поиска «Find what:» вводим конструкцию для поиска:
^"
В поле замены «Replace with:» вводим конструкцию замены. В этом случае она совсем простая:
«
Не забыв установить флажок «Regular expression», нажимаем кнопку«Replace All».
Аналогично, для кавычки в конце абзаца конструкции поиска и замены будут:
"$
и
»
Выражения «^» и «$» называются литералами и обозначают начало и конец строки соответственно. В конструкции замены они не нужны.
Теперь обработаем оставшиеся кавычки.
Начнем с открывающей кавычки. Перед ними обычно идет пробел. Ну, иногда еще дефис или скобка.
Конструкция для поиска будет такая:
([\s\(-])"
Конструкция замены:
$1«
В квадратных скобках мы перечислили символы, один из которых может идти перед искомой кавычкой. Литерал «\s» обозначает пробельный символ. Символ «скобка» является зарезервированным, так как используется в самих конструкциях регулярных выражений, поэтому, чтобы искать его в тексте, мы отделили его косой чертой. Заключив все это в круглые скобки, мы образовали выражение, к которому будем обращаться из строки замены. И в конце непосредственно сама искомая кавычка.
Символ, который идет перед кавычкой, нужно оставить в неприкосновенности. Поэтому в поле замены вводится обращение к выражению в строке поиска — $1.
Теперь закрывающая кавычка. После нее могут идти: пробел, запятая, точка, закрывающая скобка, вопросительный знак, восклицательный знак, дефис, символ «многоточие».
Конструкция поиска:
(\S)"([\s\!\.\)-…,?:;])
Конструкция замены:
$1»$2
Здесь используется два выражения. Первое означает, что перед закрывающей кавычкой должен идти НЕ пробел. Второе выражение содержит перечисление символов, которые могут идти после нее. Соответственно, в конструкции замены идет обращение к двум выражениям.
Напоследлк должен заострить ваше внимание, что в режиме исходника FB Editor регулярные выражения функционирует несколько по-другому. В частности, не получается использовать метасимвол «|», некорректно обрабатываются перечни, содержащие кириллицу.
Автор FB Editor предусмотрел расширение его возможностей при помощи Java Script.
Вызываются они из меню Tools\Scripts\[скрипт].
Первые девять скриптов можно вызывать клавишами Ctrl+1…9.
Документации, разумеется, не предусмотрено никакой. Во всем придется разбираться самостоятельно.
Поэтому, перед тем, как заняться написанием скриптов, необходимо проштудировать хороший справочник по функциям JavaScript с примерами.
Очень подробный справочник входит в состав MSDN Library. Много полезной информации можно найти также на W3SCHOOLS.
Из бумажных изданий могу посоветовать «JavaScript и DHTML: сборник рецептов» Дэнни Гудмана (доступна в Сети) и «Полный справочник по JavaScript» Фрица Шнайдера. Обе эти книги издавались на русском языке.
Если английский язык для вас не проблема, а средство общения, то на уже упоминавшемся www.flazx.com вы сможете бесплатно скачать множество руководств по JavaScript. Среди них хочу особо выделить JavaScript: The Definitive Guide. Книга выдаржала уже пять изданий.
В газетной публикации я приводил два простеньких скрипта собственного изготовления.
Здесь такой необходимости нет. Как пример, рекомендую посмотреть скрипты, написанные для FB Writer, моим земляком, известным на форуме FictionBook.org под ником Sclex.
Правда, тут есть одно маленькое, но очень вредное «но». Механически перенести наработки Sclex-а под FBE 1.0 не получится. Они жестко заточены под FB Writer и совместимый с ним FB Editor 2.0.
Хотя FB Editor — довольно надежная и функциональная программа, он все-таки содержит несколько неприятных ошибок.
Вот, к примеру, символ по внешнему виду похожий на тире «—» (десятичный код 173) в режиме WYSIWYG не виден. Вернее виден, только если приходится на конец строки. Приходится переключаться в режим Source и вылавливать эти символы-паразиты.
Бывает так, что при попытке сохранить книгу выскакивает окошко со следующим сообщением:
Code: 8004005 [Unspecified error]
Source: msxml4.dll
Description: Unexpected NameSpace parameter
Это, скорее всего, где-то образовалась ошибочная конструкция наподобие section/EM/cite/EM.
Паниковать не надо. Внимательно пройдитесь по всей книге, обращая особое внимания на цитаты и стихи. Обнаружив цитату или стихи, разорванные на отдельные абзацы, аккуратно соберите их в один элемент.
Такое также случается, если вы копировали через буфер содержимое html, в котором содержались картинки. Найдите эти картинки и удалите.
Также небезопасно превращать абзац в subtitle и тут же отменять это действие. Есть риск, что программа «захлопнется». Разумеется, ничего при этом не сохранив.
При редактировании, если рядом оказыывается два и более подряд идущих пробелов FB Editor автоматически конвертирует второй и последующие пробелы в неразрывные. Вообще-то это никакой не баг, а особенность, связанная с тем, что FB Editor использует DHTML, но все равно очень раздражает.
C начала 2007 года вокруг FB Editor наблюдается весьма активное шевеление. Не совсем, откровенно говоря, здоровое.
За модернизацию FB Editor взялись сразу два человека.
Автор, известный на форуме Fictionbook.org, как Pilgrim, доработал FB Editor, так, чтобы он поддерживал все новшества FictionBook 2.1. К сожалению, энтузиазма у него хватило ненадолго.
Алексей Савельев (Alex Saveliev), выпустивший свой продукт под названием FB Writer, напротив, сделал упор на функциональность программы. Обеспечена совместимость с IE 7.0, исправлено несколько особенно вредных ошибок, доработан интерфейс, появилось много новых «фич». Особого внимания и, чего кривить душой, восхищения, заслуживают написанные под FB Writer скрипты, значительно облегчающие и ускоряющие подготовку книги. Начиная с версии 2.0 была реализована даже проверка правописания.
Все было бы хорошо, но Алекс потребовал за свою работу деньги. Мало того, последние версии редактора требуют для запуска подключение к Internet, что автоматически вычеркнуло эту софтину из списка программ, которые я использую.
Кончилось все это печально, но закономерно. Какой-то доброхот взял, да и взломал FB Writer. После чего разобиженный автор закрыл проект.
К счастью, еще до этого грустного финала совершенствованием FB Editor-а занялся программист компании «ЛитРес». За основу были взяты исходники Pilgrim-a. На данный момент этот продукт является, хотя и весьма сырой, но самой многообещающей разработкой в этой области.
Говоря о редактировании FB2-книг, несправедливо было бы не упомянуть об разработках, существующих, так сказать, в параллельной плоскости.
В первую очередь, это Book Designer В. Войцеховича и его специальная версия для FB2 — FB Designer.
Программа BookDesigner была разработана как средство для конвертации книг из любого формата в любой же формат. И она полностью отвечает своему назначению. Если требуется сконвертировать книгу в экзотический формат или, наоборот, извлечь из оного, то здесь альтернативы Book Designer просто нет.
Проблема, в том, что BookDesigner совершенно не рассчитан на серьезное редактирование книг. Открыть файл, быстро разметить его и сохранить в новом формате — с этим он справляется великолепно. И функция Book Cleaner (пакетный запуск регулярных выражений) также достойна всяческих похвал. Но когда приходится долго и вдумчиво редактировать книги, то выясняется, что BookDesigner в этом не силен.
Не совсем корректно работает функция Undo. Не поддерживается элемент cite. То, что отображается на экране, не всегда соответствует реальному содержимому файла. Даже сохранение работает совсем не так, как мы привыкли.
На язык так и просятся слова незабвенного товарища Огурцова: «Все молодцы, работа проделана большая, но так дело не пойдет!»
Букмейкер (bookmaker (англ., жарг. новояз)) — дословно, создатель книги, но не ее автор. Хотя, в принципе, первое второму не мешает… Не путать с букмекерами!
Описание ISBN см. приложение Ж.