Izekbis
FictionBook Editor V 2.66 Руководство
Описание функций FB Editor
После запуска программы появляется рабочее окно. Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски. Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG и в режиме исходника, когда видны все теги и настоящая структура файла. Слева от главного окна находится панель Структура документа (Document Tree), в котором отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги. И внизу – служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора и регэспа.
Пройдемся по пунктам меню. В меню Файл (File), кроме стандартных Создать(New), Открыть(Open), Сохранить(Save), есть команда Проверить(Validate) (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника, устанавливая курсор на 1-2 строки ниже «проблемной» строки. Пункт меню ФайлИмпорт по умолчанию имеет один подпункт: «No import plugins installed». Плагины для импорта книг из других форматов в комплект FBE не входят. Но если Вы установите пакеты Any2 FB2 и FB2 to Any, то FB Editor сам обнаружит их, и соответствующие иконки появятся в меню ФайлИмпорт и ФайлЭкспорт. Устанавливать Any2FB2 и FB2 to Any в одну папку с FBE не обязательно. Пункт меню ФайлЭкспорт позволяет экспортировать книгу в формат HTML. Структура книги полностью сохраняется.
Второй раздел меню – Правка(Edit) – кроме типовых Отменить ввод(Undo-Redo), Вырезать(Cut), Копировать(Copy), Найти(Find), Заменить(Replace), содержит блок работы с элементами книги: Клонировать(Сlone), Разрезать(Split), Склеить(Merge) container и – специально для вложенных секций – Убрать внешний(Remove outer container). Ниже идут три подменю вставки элементов. В подменю Стиль(Style) собраны команды вставки элементов в пределах одного абзаца: Обычный(Normal), Автор текста(Text текста(Text Author), Подзаголовок(Subtitle), Link, Footnote, Remove link. Подменю Вставка(Add) содержит команды вставки элементов, которые должны находиться строго в определенном месте: Тело(Body), Заголовок(Title), Эпиграф(Epigraph), Рисунок(Image) (вариант), Аннотация(Annotation), Цитата. В подменю Вставка(Insert) сгруппированы команды вставки элементов, которые, в принципе, могут находиться в произвольном месте книги: Рисунок(Image), Стихи(Poem), Cite. Последней идет команда Прикрепить(Add Binary object). Она позволяет присоединять к файлу книги картинки и бинарные файлы.
Следующий раздел меню – Вид(View). Сначала идут флажки отображения панелей – Панель инструментов(Toolbar), Панель скриптов(Link bar), Панель ссылок(Status bar), Панель таблиц, Строка состояния, Структура книги(Doсument Tree).
Чтобы все были видны должны стоять все «галочки». Под ними – выбор режима редактирования книги – Описание документа(Description), Дизайн(Body), Код(Source). И последний пункт – Ускоренный режим.
Раздел меню Сервис(Tools) содержит три пункта. Команда Слова(Words). К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис.
Команда Слова(Words). К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис. Те слова, у которых в тексте книги есть варианты без дефиса, помечаются восклицательным знаком. В поле Заменить(Replacement) можно вводить варианты замены. Внизу дополнительные опции.
Лучше убрать «галочку» из «Показать/скрыть исключения», если, они у Вас уже есть. Надо расставить «галочки» в квадратиках напротив тех слов, где дефис надо убрать, а потом нажать «ОК» в правой части внизу – «Обработка». Можно нажать на «Найти», курсор перемещается на слово в тексте (оно будет выделено), и нажать на кнопку «заменить» (она активируется после нахождения слова). Кнопка «найти» очень удобна для уточнения необходимости изменений. Вы можете выделить строки, которые хотите вставить в исключения и нажать «В исключения». В дальнейшем, строки с исключениями, будут выделяться красным.
В раздел Help (только FBE 2.6.6) входит небольшой Help и пункт О программе(About), где указаны номер версии и дата сборки.
В разделе Настройки:
Вид — можно менять цвет фона, шрифты, цвет текста, место хранения пользовательского словаря (для слов, которые Вы добавляете при проверке орфографии);
Другое — менять кодировку, выставить опцию «Восстанавливать позицию курсора», и тогда Вы при открытии файла окажетесь на том месте, где закончили его редактировать в прошлый раз;
Клавиши — присваивать/изменять горячие клавиши любым командам. Удобно присвоить символам отсутствующим в клавиатуре, например:
{Ctrl+2} « двойные левые кавычки ёлочкой;
{Ctrl+3} » двойные правые кавычки ёлочкой;
{Ctrl+=} — длинное (полиграфическое) тире;
{Ctrl+[} – ‘ – левая верхняя одинарная кавычка.
{Сtrl+]} – ’ – правая верхняя одинарная кавычка.
{Ctrl+›} – … – многоточие и т. д.
Выделяете требуемую команду; переводите курсор в окно Клавиши; жмете сочетание клавиш (появится в окне) и щелкаете Присвоить.
Появится:
Слова — хранятся слова, отмеченные как „исключения“ при запуске службы „Слова“. Там можно убрать/добавить слово и выставить, хотите ли Вы по умолчанию видеть исключения при запуске службы.
Раздел меню Вставка содержит команды для форматирования текста: Заголовок, Стихи, Цитата, Эпиграф, Аннотация. Вставки и прикрепления рисунков и создания таблиц.
Команда «Тело» вставляет дополнительную секцию body в конце документа со строкой заголовка над ней. Т. е. дополнительную часть/главу.
Команда «Рисунок секции» резервирует (на месте курсора) место для вставки рисунка .
Информационное окно
В левом нижнем углу экрана расположено Информационное окно. В нем отражаются все действия редактора:
— код строки на которой стоит курсор ;
— ошибки обнаруженные регэспом (см. ниже);
— результат выполнения команды .
Настройка Панели инстументов
В меню «Вид» отметить «Панель инструментов».
Щелкнуть два раза левой кнопкой мышки в панели инструментов. Или, там же один раз, правой кнопкой и потом щелкнуть по появившейся кнопке «Настройка панели».
В появившемся меню «Настройка панели инструментов» «Имеющиеся кнопки» установить курсор на требуемую иконку и нажать OK. Кнопка появится на панели инструментов. Кнопки между собой, для наглядности, можно разделять Разделителем. Кнопки можно перемещать по панели кнопками «Вверх» (т. е. влево) и «Вниз» (т. е. вправо), установив на них курсор в окне «Панель инструментов».
Особенности редактирования документов
Первое, что необходимо усвоить при работе с 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 эти теги просто исчезают или преобразуются в обычные абзацы, как, например, таблицы.
Поиск (EditFind (Ctrl+F)) и замена (EditReplace (Сtrl+H)) в FB Editor имеют стандартные функции Match Whole Word (найти слово целиком), Match case (различать регистр), поиска вперед и назад по тексту. Последний флажок – Regular expression – позволяет использовать при поиске и замене регулярные выражения. В режиме редактирования исходника нельзя вводить пустые элементы. При возврате в режим WYSIWYG они не будут отображаться, а как только Вы начнете редактировать текст в режиме WYSIWYG, вообще исчезнут. Нужно вставлять внутрь хотя бы элемент «пустая строка» ‹empty-line/›. Например:
Неправильно:
‹section›‹/section›
‹cite›‹/cite›
Правильно:
‹section›
‹empty-line/›
‹/section›
‹cite›‹p›Какой-нибудь текст‹/p›‹/cite›
Заполнение описания книги (Description)
Перед тем, как приступить к набору или редактированию текста книги, необходимо заполнить описание книги – Description, нажав кнопку D. Это описание нужно для корректной работы библиотечных программ, но может быть интересно и читателю. Режим редактирования описания вызывается из меню Вид — Описание Документа. Окно редактирования имеет следующие разделы: Жанры, Авторы, Название, Язык, FB2 документ и бумажная книга. В каждом разделе есть несколько граф.
В самом верху Дескриптора есть кнопка «Показать», где можно выбрать, что именно Вы хотите видеть на этой странице:
В правой части большинства граф есть служебные кнопки. Кнопка с пересекающимися прямоугольниками позволяет дублировать графу. Кнопка с крестиком, напротив, удаляет ненужные дубликаты. Если графа существует в единственном экземпляре, кнопка неактивна. В разделе Title Info содержится основная информация о книге. Первым пунктом идет жанр произведения (Genres). Он должен быть выбран из фиксированного списка. Щелкните по кнопке с треугольничком и выберите нужный жанр из соответствующей группы. В этой же строке правее находится поле Match. Оно обозначает соответствие произведения выбранному жанру (в процентах). Например, в списке поджанров нет весьма популярного нынче «городского фэнтези». Поэтому оформляем его двумя жанрами: фэнтези и боевик. Сначала выбираем жанр Фантастика; FantasyFantasy. Потом добавляем еще одну строку Genre и выбираем жанр Science Fiction amp; FantasyAction. Расширенный список жанров Либрусек можно посмотреть и скачать файлы (для FBE) на сайте:
/code.google.com/p/fictionbookeditor/downloads/detail?name=FBE_genres.zip.
После Жанры идет графа Авторы — информация об авторе книги: First (имя) Middle (отчество), Last (фамилия), Nick (ник), Email (адрес электронной почты), Homepage (адрес сайта). Следом идет Название книги (Book title ), Keywords (Ключевые слова), Date (дата написания (не выпуска!)) в произвольном формате (например, «2001-2005 г., Переделкино»). В поле Значение даты(Value) тоже вводится дата (обычно окончания работы над книгой), но строго в компьютерном формате ГГГГ-ММ-ДД (например, 2006-07-22).
Обложка(Coverpage). Картинка обложки. В поле Изображение(Image) вводится ссылка на картинку обложки. Сама картинка присоединяется к файлу командой Правкаприкрепить(EditAdd Binary object) (скрепка на панели инструментов). Не следует делать картинку обложки слишком большой. Обычно высота картинки должна быть 250-320 пикселей, ширина – пропорционально (последнее время высоту делают 350-600, но не более 720). Размер файла JPG не должен превышать 30-50 Kb. Уменьшить размер файла можно программами, которые указаны в разделе Вставка рисунков и обложки.
Language – язык книги. Для русского пишем «ru».
Следует знать, что в описании книги жизненно необходимыми являются пункты: Автор(ы), Название, Жанр и Язык. Если они не заполнены или заполнены неправильно, то валидатор FB Editor ругается при попытке сохранить книгу. А что самое неприятное – если вам понадобилось отредактировать «исходник», то валидатор просто «не выпустит» из режима редактирования Source до тех пор, пока указанные поля не будут заполнены правильно. Поэтому первым делом необходимо заполнить эти элементы. С остальными можно разобраться и попозже.
Язык(Source language) – исходный язык, если книга переводная. В противном случае оставляем пустой.
Переводчик(Translators) – Если книга не переводная, оставляем пустыми. Иначе заполняем таким же образом, как и графу Authors: имя, отчество, фамилия и т. д.
Sequence – если книга входит в серию, то в поле Name вводим название серии, а в поле Number – порядковый номер в серии. Обратите внимание, что в правой части строки перед кнопкой дублирования есть кнопка с треугольничком. Она позволяет создавать вложенные серии. К примеру, основная серия – «Звездные Войны», вложенная серия – трилогия «Адмирал Траун».
Раздел FB2 документ(Document Info) содержит информацию о самой книге.
В строку Авторы(Authors) вводим информацию о человеке, создавшем этот документ. Аналогично ранее заполнявшимся Авторы и Переводчик.
Использованные программы(Programs used) – программное обеспечение, использованное при создании книги. Обычно FB Editor сам пишет там – FB Tools, FBD. Если Вы использовали какие-нибудь дополнительные утилиты, можно упомянуть их там.
Заполнение полей Дата текстом(Date) и Дата с текстом(Value) аналогично таким же полям в Book Info.
Source URLs — если исходный текст для создания книги был скачан с какого-нибудь сайта, здесь нужно указать ссылку на него.
Source OCR — если книга было отсканирована, то здесь указываем данные (обычно ник) сканериста, а также человека, производившего вычитку. Страна должна знать своих героев!
ID – уникальный номер документа. Обычно генерируется самим FB Editorом или программой конвертации.
Версия(Version) — номер версии книги. Обычно это 1.0. В случае внесения изменений номер версии нужно изменять вручную.
Следующий раздел — Бумажная книга(Publisher Info). Здесь собрана информация о бумажном оригинале книги, если таковой существовал.
Заголовок книги(Book name). Обычно совпадает с названием произведения, но если оно было издано в составе сборника, то здесь следует указывать название сборника.
Издатель(Publisher) — название издательства.
Город(City) — город, в котором была выпущена книга.
Год(Year ) — год выпуска.
ISBN — код ISBN.
Серия(Sequence) — название печатной серии. «Библиотека приключений», например, или «Абсолютное оружие». Также допускает вложенные серии.
В раздел Дополнительная информация(Custom Info) может вноситься произвольная дополнительная информация. Копирайт, художник, редактор т. д., и т. п.
Раздел Бинарные файлы(Binary Objects) заполняется автоматически по мере присоединения к книге бинарных объектов, обычно картинок. Щелкая по кнопке с крестиком и удаляя графы в этом разделе, Вы одновременно удаляете присоединенные объекты.
* * *
В приведенном выше отрывке из статьи Юзича «Делаем книги в формате FictionBook» достаточно полно описываются возможности редактора FictionBook Editior из пакета FB Tools, но все сказанное применимо и к FBE 2.0 и выше. Добавлены изменения в версии 2.6.6. Не упомянуто лишь немного из нововведений и улучшений: вставка таблиц (не совсем удобная, но хоть что-то); таки вправлены мозги фишке «Слова-слова» для поиска слов, написанных через дефис; редактирование структуры книги кнопками (внизу левой панели Структура документа) или просто перетаскиванием (!!!); удобное группирование скриптов в меню; настройка комбинаций горячих клавиш и многое другое, не столь очевидное, но стабильность из-за этого настолько повысилась, что придётся изрядно попотеть, чтобы завалить редактор…
Делаем книгу
У вас есть рассказ или статья, или Вы сканировали и распознали книгу, и вы хотите, чтобы и другие смогли прочитать. Вычитайте, исправьте опечатки, а, так же, отформатируйте его по стилям: заголовки, подзаголовки, параграфы, абзацы, стихи и т. д.
В FBE вместо голубого «Введите сюда краткую аннотацию» добавьте краткое описание текста. Если вам добавить нечего, тогда просто удаляете голубой текст.
К красному «1.0 – создание файла» добавляете ваше сетевое имя, например: «OCR, V 1.0 – создание файла – Ник», если хотите проявить скромность – удалите красный текст, а лучше оставьте как есть: данный текст относится к «истории версий», и, если кто-нибудь впоследствии будет вносить изменения в данный документ, ему не потребуется заново создавать history.
Внутри секции помеченной зеленой вертикальной линией щелкнете правой кнопкой мыши, выберете Выделить body(select body). В меню Вставка выберете Заголовок. Появляется горизонтальная зеленая линия – место для заголовка ко всему тексту. Сюда вставьте автора и заголовок, скопированные из исходного документа (обратите внимание: если автор и заголовок были выделены курсивом или полужирным, то их, bold и italic, лучше убрать).
Теперь копируем оставшийся текст и заменяем им в редакторе выделенное «Чтобы изменить документ по умолчанию, отредактируйте файл «blank. fb2″ вручную»
Если у Вас стоит Any to FB2 в меню Файл/Импорт щелкните по вставке ANY›FB2 dy GribUser – откроется окно:
Укажите путь к Вашему файлу txtdochtml, сбросьте все настройки и щелкните Import. После того, как увидите на вкладке Log фразу Export finished , нажмите кнопку Done. Документ передается в FBE и видно, что получилось при импорте.
Иногда, если вставлялся файл txt, в тексте появляется много пустых строк (бывает через одну). Убрать все пустые строки можно так. Нажмите кнопку S т. е. перейдите к коду книги. В меню Правка>Заменить вставьте в окно Найти следующий текст: <empty-line/>, окно Заменить оставьте пустым.
И нажмите Заменить все (уберет все пустые строки), или Искать далее и убирать по одной только ненужные.
Мы сейчас находимся в B – body, в том, что будет видно на экранах читалок. Теперь переходим в D – description, информацию о тексте, которая хранится fb2-файлах отдельно.
Щелкаем «D», в открывшемся окне заполняем окошки необходимой информацией, как было указано выше. Помните, что Жанр, Автор, Название и Язык должны быть заполнены обязательно. Вместо Your и Name в авторе документа вставьте свой Ник. Возвращаемся в «B».
Если у Вас в книге есть деление на части и главы – выделяем заголовок части. Нажимаем Shift+Enter. Заголовок части (Title) очутился внутри зеленой полосы. А вертикальная зеленая полоса слева означает секцию. В книге их может быть несколько. Выделяем так каждую часть и форматируем их стилем заголовок. Если есть главы, выделяйте их также и форматируйте заголовком и их, нажимая Shift+Enter. Потом, слева в окне структура документа, выделяете все главы Части 1 (курсор на первой, потом с нажатым Shift щелчок на последней) и голубой стрелочкой внизу сдвигаете их в право. Получите вложенную структуру оглавления. Проделайте эту операцию для всех частей и глав.
Можно делать и несколько уровней. Эти заголовки в читалках составят оглавление. Надо вложить сначала «Часть+Глава» в Раздел, а затем уже Главу в Часть. При этом важно: между предыдущей секцией и первой вложенной не может быть пустой строки; там может быть только эпиграф или картинка (при этом не должно быть пустых строк). Если ошиблись запустите скрипт «Сброс структуры разделов» в разделе Структура разделов. Изменить subtitle на title (и наоборот), превращать subtitle и title в обычный текст можно скриптом «Обзор и превращение элементов» раздел Обработка форматирования.
Подразделы (подзаголовки-subtitle) в тексте – обычно * * *, выделяем Alt+S или нажав кнопку . Эти подзаголовки в оглавление не войдут.
Выделяем эпиграф книги и нажимаем Ctrl+N. Текст становится синим. Выделяем автора эпиграфа нажимаем Alt+A. Текст становится коричневым. Если есть эпиграфы в разделах надо это проделать в каждой секции.
Эти же операции можно производить кнопками на панели или через меню Вставка и Стиль.
Если Вы где-то ошиблись вернуть можно нажав кнопку «Обычный текст» .
Если есть стихи и цитаты выделите и их через меню Вставка.
Пустые строки вокруг заголовков можно убрать скриптом Разметка подзаголовков, чистка пустых строк(Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках) раздел Подзаголовки, пустые строки.
Проверяем орфографию нажав кнопку .
У вас есть возможность при проверке:
— пропустить слово (один раз);
— пропустить все (все так же написанные слова);
— заменить слово на предложенное (или выбрать предложенное из списка Варианты);
— добавить слово в словарь (к сожалению без морфологии);
— заменить на слово, предложенное во второй строке — нажать на «Заменить», или самому изменить найденное с опечаткой слово;
— заменить все (Осторожно — могут быть другие случаи, например: входить в другое слово).
Если текст сканирован и распознан в FR нужно проверить его скриптом Поиск по набору регэспов и другими скриптами (см. ниже). Желательно проверить следующими скриптами: Управляемое исправление разрывов абзацев, Проверка иллюстраций, Унификация вложений и иллюстраций, Разметка подписей к иллюстрациям, Расстановка елочек и лапок, Разметка подзаголовков, чистка пустых строк, Пустые строки вокруг картинок, Унификация сносок (с удалением неиспользуемых секций сносок), Унификация комментариев (с удалением неиспользуемых секций комментариев).
Но даже после проверок скриптами и спеллчекером в тексте могут быть ещё ошибки, которые спеллчекер не заметит. Например: «блок-блох», «равный-разный» и т.п. Поэтому текст лучше вычитать.
С текстом вроде бы всё.
Вставляем картинки, таблицы, формулы, ссылки(примечания и комментарии). См. ниже.
Жмем галочку в меню (или: F8) — Проверить. И внизу экрана, слева в информационном окне — появляется: Ошибок не обнаружено.
Теперь сохраняем его: указываем куда, называем, кодировку выбираем – utf-8 или 1251 (В utf-8 больше символов, в 1251 файл меньше, но некоторые символы (в частности греческий, принесенный из Word и т. д.) в читалках могут отобразится знаком ?). Отрываем новый файл читалкой. Все в порядке? Поздравляю, Вы сделали вашу первую fb2-книгу!
Валидатор «ругается».
Не паникуйте. Нажмите кнопку S т. е. перейдите к коду книги. Курсор обычно останавливается на одну-две строки ниже невалидного места. Если, знаете как устроен код fb2, посмотрите, что неправильно и исправьте. Прочитать можно в книге М. И. Кондратович (Юзич) Создание электронных книг в формате FictionBook 2.1 Практическое руководство.
Если не знаете, не беда. Нажмите кнопку B.
Курсор обычно останавливается за (или на) каким-нибудь элементом форматирования: заголовок, эпиграф, рисунок и т. д. Скорее всего — он и не валиден. Измените форматирование элемента на текст (скрипт «Обзор и превращение элементов» в разделе Обработка форматирования, скрипт «Снятие форматирования стихом, цитатой или эпиграфом» в разделе Мелочи редактирования, кнопка ), удалите рисунок. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено) возвратите форматирование элемента, вставьте рисунок. Предварительно окружите место вставки пустыми строками. Их потом можно удалить. И снова F8.
Если, не помогло, выделите некорректное место (2-3 строки ниже и выше элемента форматирования), скопируйте в буфер и сотрите выделенное. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено), вставьте содержимое буфера в текстовой редактор. (Не Word, а редактор поддерживающий только txt: Notepad, Aditor и т. д. Он снимет все признаки форматирования). Выделите и скопируйте вставленное. Вставьте в FBE на место стертого. Проверьте валидацию F8. При положительном результате (Ошибок не обнаружено) возвратите форматирование элемента. И снова F8.
Часто помогает запуск скрипта «Сброс структуры разделов» в разделе Структура разделов.
Рекомендуется периодически (в ходе редактирования) нажимать кнопку F8, для проверки валидности, и в случае положительного ответа сохранять файл. В случае невалидности давать Откат.
Хорошо всегда иметь резервную копию валидного файла.
Очень частой ошибкой, делающей файл не валидным, является разрыв секции сразу после заголовка – разрыв зеленой линии слева от текста между заголовком и тестом.
Поставить курсор в заголовок(title) и нажать Alt+Del. Разрыв убирается.
Иногда (когда не удается справиться) полезно открыть файл в FBD (Fiction Book Designer) и переформатировать проблемное(некорректное место) средствами FBD. Кстати и наоборот. Сохранить файл в FBD, с проверкой валидатором FBD (запись без архивации), и вновь проверить в FBE. Проблема обычно устраняется.
FBD открывает файлы, которые FBE не открывает, как не валидные.
Вставка рисунков и обложки
Рисунки вставляют в форматах JPG или PNG. Минимальный размер рисунков 240 на 320, максимальный 400 на 600. Очень редко, если карты(таблицы), можно применять 900 на 600. Размер маленьких рисунков надо подбирать индивидуально. Картинки очень увеличивают размер файла книги. Рисунки следует подготовить и разместить по порядку размещения в одном каталоге. При большом количестве иллюстраций, перед тем, как вставить картинки, можно убрать из JPG служебную информацию. Например программой, Riot V0.4.6(Radical Image Optimization Tool – Радикальный Инструмент Оптимизации Изображения), или Color quantizer V 0.6.0.0.2, или в IrfanView. Для этого в Irfan, в «Параметрах сохранения JPG» убрать все галочки кроме первой.
Цветные рисунки надо использовать не более 64 цветов, а иногда и 16. Подпись к рисунку можно сделать стилем подзаголовок(подзаголовок+курсив) используя скрипты «Разметка подписей к иллюстрациям», «Заголовки картинок в подписи».
Иногда полезно сделать некоторые участки рисунка прозрачными. Например углы у круглой картины.
Это можно сделать в Photoshop. Для того, чтобы сделать прозрачные области в рисунке, надо создать 2 слоя: нижний прозрачный фоновый слой и верхний видимый слой, на котором удалить ненужные участки изображения.
1. Открываем Photoshop. Открываем в нем, рисунок (File-›Open).
2. Выделяем все изображение (Ctrl+A).
3. Копируем выделенную картинку (Ctrl+C).
4. Открываем в Photoshop новый файл (File-›New, или Ctrl+N). В появившемся окне в самом нижнем выпадающем списке выбираем значение Transparent – «прозрачность».
Нажимаем Enter и видим, что Photoshop создал новый файл с фоном, состоящим из бело-серых квадратиков. Такими квадратиками в Photoshop обозначаются полностью прозрачные области.
5. Вставляем в новый файл с прозрачным фоном, ранее скопированное изображение Ctrl+V. В результате в текущий, полностью пустой и прозрачный слой будет вставлено ранее скопированное изображение.
6. Выделить область, которую нужно удалить с помощью обычных инструментов выделения (М), или с помощью «волшебной» палочки (W):
Нажать клавишу Delete и вместо выделенных фрагментов появятся бело-серые квадратики – эта область будет прозрачной. Сохранить изображение в формате Png, поддерживающим прозрачность.
А так будет выглядеть рисунок в книге:
Некоторые черно-белые картинки хорошо смотрятся с полностью прозрачным фоном. Это можно сделать программами Limpng-1.1 – автор «Рыжий тигра», MyBitmap фирмы 4Neurons или IrfanView.
В IrfanView установить формат PNG и поставить галочки «Сохранять прозрачный цвет» и «Сохранять прозрачность как альфа-канал». Когда попросит — щелкнуть мышкой фон, который должен быть прозрачным.
Например: такие:
Вставка рисунка
Установить курсор на место вставки первого рисунка. Картинки лучше вставлять, не разрывая ими абзац (как часто бывает в бумажной книге), а вставлять между абзацами. Лучше, во избежание не валидности, оставлять с обеих сторон рисунка по пустой строке, особенно от заголовка. Пустые строки потом можно будет удалить скриптом — Пустые строки возле иллюстраций. В меню Вставка щелкнуть Рисунок, или щелкнуть кнопку , или Ctrl+M. В открывшемся окне «Вставить пустой рисунок» – убрать «галочку» в окошке «Показывать это окно» (больше показываться не будет, а выйдет сразу в файловое меню) и щелкнуть «Нет». В открывшемся файловом меня найти первый рисунок, щелкнуть «OK». Первая картинка вставлена. Наведя курсор на кнопку в в строке рисунка, увидите его изображение. А щелкнув по кнопке можно извлечь рисунок в любую папку.
Чтобы удалить рисунок надо нажать кнопку D и в разделе Бинарные файлы щелкнуть против удаляемого рисунка кнопку X.
Нажать кнопку B выделить оставшийся от рисунка значок и в поле Структура документа щелкнуть правой кнопкой мышки nobin_pic… и в открывшемся окне нажать Удалить.
Запустить скрипт Унификация вложений и иллюстраций и Проверка иллюстраций.
Если, в разделе Бинарные файлы есть строки unused_pic_…, надо посмотреть не пропал ли рисунок. Если,нужно вставить (см. ниже). Если, нет – такие строки надо удалить, нажав X.
Вставить(удалить) пустые строки возле картинок можно скриптом Пустые строки возле иллюстраций раздел Иллюстрации.
Если, надо заменить картинку (уменьшить размер, улучшить качество и т.п.), удалите картинку, щелкнув в Дескрипторе кнопку X против этой картинки. На месте картинки появится . Если Вы поставите курсор на неё, в окошке «ссылка» (панель ссылок) будет видно название файла. Нажмите на стрелочку рядом — появится список всех файлов.
Прикрепите обработанную картинку(картинки), с тем же именем(именами), в Меню Вставка Прикрепить, или щелкнуть кнопку и запустите скрипт Обновление иллюстраций. Если Вы всё сделали правильно, то на нужных местах будут стоять новые (обработанные) картинки. Проверьте ещё раз скриптом «Проверка иллюстраций«.
Если заменяемых картинок немного, можно заменить их не стирая:
1. Подготовьте нужные картинки и прикрепите их к файлу;.
2. Перейдите к первой, заменяемой картинке. Если Вы поставите курсор на неё, в окошке Ссылка (панель ссылок) увидите название файла. Нажмите на стрелочку рядом — появится список всех прикреплённых файлов. Если, Вы вставили файлы с теми же названиями, они получат дополнительный индекс _0;
3. Выберите требуемую картинку. Она заменит в этом месте существующую;
4. Перейдите к следующей картинке и сделайте то же самое;
Повторите операции со всеми, заменяемыми картинками;
5. Запустите скрипты Обновление иллюстраций и Унификация вложений и иллюстраций.
Если, есть неиспользуемые вложения, запустите скрипт Удаление неиспользуемых вложений и проверьте иллюстрации ещё раз.
Убедитесь, что всё в порядке.
Если, надо заменить все картинки:
Запустите скрипт «Сохранить вложения на диск«. При этом все картинки сохранятся в той же папке, где находится файл. Лучше создать отдельную временную папку.
Обработайте картинки и сохраните с тем же именем.
Запустите скрипт «Удалить все вложения«.
Прикрепите обработанные картинки и обложку — в меню Вставка/Прикрепить. В открывшемся окне войти во временную папку — курсор на первый файл, с нажатым Shift курсор на последний, и нажать Enter. Все картинки прикрепились. Выберите в Дескрипторе обложку в окне Обложка/Изображение.
Запустите скрипт «Обновление иллюстраций«. Все картинки встали на свои места.
Запустите скрипт «Унификация вложений и иллюстраций«. Он вам выдаст сообщение:
Вставка обложки
Для вставки обложки в меню Вставка щелкнуть Прикрепить или кнопку . В открывшемся файловом меню найти рисунок обложки, щелкнуть «OK». Рисунок вставится в конце файла. Щелкнуть кнопку «D» и перейти в Дескриптор. Щелкнуть в окошке «Обложка Изображение» и в отрывшемся окне щелкнуть по файлу обложки.
Обложка вставлена. Запустите скрипт «Унификация вложений и иллюстраций«. Наведя курсор на кнопку, в разделе «Бинарные файлы» строка cover.jpg, увидите изображение обложки.
Вставка рисунка в текст
Иногда нужно вставить рисунок в текст. Так вставлены в этом руководстве кнопки и иконки. Установить курсор в тексте на место вставки рисунка. В меню Вставка щелкнуть Рисунок в текст, или кнопку , или Alt+M. В открывшемся окне «Вставить пустой рисунок» – убрать «галочку» в окошке «Показывать это окно» (больше показываться не будет, а выйдет сразу в файловое меню) и щелкнуть «Нет». В открывшемся файловом меню найти рисунок, щелкнуть «OK».
Внимание – Если, в книге есть рисунки вставленные в текст, нельзя применять скрипты «Удаление неиспользуемых вложений» и «Удаление неиспользуемых картинок»! Тогда в Дескрипторе в разделе Бинарные файлы строки unused_pic_… надо удалить, нажав X.
Вставка таблиц и формул
Большинство читалок (кроме CoolReader) таблицы в формате fb2 не понимает. Поэтому лучше пока вставлять таблицы картинкой. Таблицы картинкой можно делать в Word. Шрифтом жирный Arial 12-14 пт. Границы тоже потолще 1,5 пт. Сохранить виртуальным принтером (например PDFCreator или PDF-Xchange ABBYY PDF transformer) в Pdf. Открыть в STDU Viewer, выделить изображение и сохранить в файл в формате серый Jpg или Png. Затем в программе IrfanView (в «Параметрах сохранения JPG» убрать все галочки кроме первой), Color quantizer или RIOT (Radical Image Optimization Tool) уменьшить количество уровней серого до 16, для уменьшения размера файла. Разрешение не более 900 на 600, но зависит от размера таблицы. Проверять по читаемости. Если сохраняете PNG, можно сделать фон — прозрачным.
Вставка простых формул типа: a2 cosα+β=с или H2SO4 трудностей не вызывает. Вставку сложных формул (сложные дроби, интегралы и т. д. лучше делать в Word в редакторе формул и вставлять картинкой, как было сказано в таблицах.
Вставка таблиц в формате fb2
Посмотрим на примере (автор «Алексей_Н»).
Так таблица будет выглядеть в CoolReader3:
Для начала в FBE выбираем во вкладке «Вставка» пункт «Таблица».
Задаем нужные параметры, в данном случае сохраняем галочку «Вставить строку заголовков», а в строке «Число строк таблицы» указываем «5» (это в этой таблице, а вообще-то число может быть любое).
Подтверждаем кнопкой «ОК». В этом примере в таблице 2 столбца. Мы видим, что заголовок для обоих столбцов общий. Для этого в строке заголовка пишем название, на верхней панели находим окошечко «colspan» и вписываем цифру «2». Данная функция подразумевает, что ячейка будет расширена по горизонтали на два столбца. Чтобы заголовок был по центру, выбираем «center» во вкладке «th, td align:» (она посередине или вторая справа). К слову, любая подпись в таблице может быть оформлена по центру, справа или слева соответственно.
Далее переходим на первую строку таблицы.
«Первый столбик» охватывает две строки по вертикали. Для этого, введя данные «Первый столбик», на верхней панели в квадратике «rowspan» ставим цифру «2». Это расширение по вертикали. Клавишей «Enter» создаем второй столбик и пишем «Второй столбик».
Переходим ко второй строке. Помним, что у нас «Первый столбик» расширен на две ячейки. Поэтому во второй строке достаточно написать «Данные второго столбика» и всё. В третьей строке у нас «Объединенный столбец». Формируем его так же, как и заголовок.
Четвертая строка. Здесь просто два столбца: Пишем «Данные слева», нажимаем «Enter», пишем «Данные справа». Вообще-то в FBE это выглядит как две строки, но такова особенность построения таблицы в FBE: строка в ячейке – это столбец. Пятая строка формируется так же, как четвертая.
Эта же таблица в FBE.
Код этой таблицы
При вставке таблицы лучше оставлять с обоих сторон пустые строки. Особенно от заголовков. Следует усвоить, что голубая — строка заголовков, синие — строки таблицы. Строки внутри голубой и синей строк — это ячейки граф данной строки. Если ячейка пустая в этом месте должна быть пустая строка. Следующий столбик создаем клавишей «Enter».
Цифры в окошке colspan означают на сколько ячеек надо расширить данную ячейку по горизонтали, в окошке rowspan — по вертикали. В окошке «th, td align» устанавливается расположение текста в строках заголовков по центру(center), справа(right) или слева(left). В окошке «tr align» тоже в строках таблицы. В окошке «th, td valign» устанавливается расположение текста во всех строках вверху(top), посредине(middle), внизу(bottom) строки. В каждой строке таблицы должно быть столько строчек сколько в таблице граф, но с учетом расширения. Т. е. если в таблице 4 графы, но первая ячейка расширена на 3 (окошке colspan стоит 3), то в этой строке будет только 2 строчки.
Если ячейка расширена по вертикали, то пустую строку под ней оставлять не следует.
Если надо вставить еще одну пустую строку заголовков, вставьте в режиме кода S следующие строки:
<tr>
<th/>
</tr>
Если надо вставить еще одну пустую строку таблицы, вставьте в режиме кода S следующие строки:
<tr>
<td/>
</tr>
Или столько таких выражений, сколько надо вставить строк.
<td/> — это ячейка в строке таблицы. В дальнейшем, сколько в таблице граф, столько строчек <td/> будет в выражении строки таблицы. В след за <td/> будет идти текст ячейки — <td>Текст</td>.
<th> — тоже в заголовке. <th>Заголовок</th>.
При создании таблицы надо быть очень внимательным, иначе таблица получится не валидной. Часто валидатор «ругается» после F8, обнаруживая пустые текстовые (белые) строки посреди таблицы.
Такие строки надо удалить. Нажать кнопку S и удалить все строки <empty-line/> посреди таблицы. Пробел между строками кода удалить, установив курсорна предыдущую строку, и нажав «Enter».
Вот еще пример таблицы:
картинкой,
Вставляем таблицу, как в первом примере — Заголовок и 4 строки.
Добавляем строку заголовков. Нажимаем S и вставляем
Нажимаем В —
появилась вторая голубая строка. Заполняем таблицу.
1 строка заголовка — пишем «Заголовок на 3 графы», окошке colspan ставим 3. Жмем Enter. Во вторую строчку пишем «Заголовок на 2 столбца», окошке rowspan ставим 2. В строке видно 2 строчки, но не забываем, что первая строчка расширена на 3 т. е. всего 4 графы таблицы.
2 строка заголовка — в три строчки пишем «Подзаголовок». Четвертую строчку делать не надо. Эта графа расширена в 2 по вертикали.
Заполняем таблицу. Каждая строка должна состоять из 4 строчек.
1 строка таблицы — пишем «тест» в 1 и 4 строчку. Строчки 2 и 3 — пустые.
2 строка таблицы — пишем «тест» во все 4 строчки.
3 строка таблицы — пишем «тест» в 2 и 3 строчку. Строчки 1 и 4 — пустые.
4 строка таблицы — пишем «тест» в 4 строчку. Строчки 1, 2 и 3 — пустые.
Вот ее код:
<table>
<tr>
<th colspan=»3″>Заголовок на 3 графы</th>
<th rowspan=»2″>Заголовок на 2 столбца</th>
</tr>
<tr>
<th>Подзаголовок</th>
<th>Подзаголовок</th>
<th>Подзаголовок</th>
</tr>
<tr>
<td>Текст</td>
<td/>
<td/>
<td>Текст</td>
</tr>
<tr>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
</tr>
<tr>
<td/>
<td>Текст</td>
<td>Текст</td>
<td/>
</tr>
<tr>
<td/>
<td/>
<td/>
<td>Текст</td>
</tr>
</table>
Все «align»(расположение текста) в коде, специально, для облегчения восприятия — убраны. Т. е. поставлены по умолчанию — белое поле в окошках «align».
Это не мешает воспроизводству таблицы т. к. по умолчанию в заголовках расположение по центру стилем Title, а в строках по левому краю. По высоте, во всех случаях, — посредине(middle).
Данная процедура часто помогает избавится от невалидности таблицы.
Если разобрались, то можно вставлять таблицу кодами.
Таблица готова жмем F8 — проверяем валидность.
Заголовок на 3 графы | Заголовок на 2 столбца | ||
---|---|---|---|
Подзаголовок | Подзаголовок | Подзаголовок | |
Текст | Текст | ||
Текст | Текст | Текст | Текст |
Текст | Текст | ||
Текст |
Нормально видна она будет только в CoolReader.
После вставки таблицы обязательно проверьте валидность F8. Если можете — исправьте. Если таблица не валидна ее лучше стереть и набрать заново.
Работа со скриптами
При описании работы скриптов, частично использовано их описание, сделанные автором скриптов Sclex.
Если скрипты в установленной версии отсутствуют или обновить версию скриптов можно отсюда:
//scripts.fictionbook.org/
Вставка иконок скриптов в панель инструментов
В меню «Вид» отметить «Панель скриптов».
Щелкнуть два раза левой кнопкой мышки в панели скриптов. Или, там же один раз, правой кнопкой и потом щелкнуть по появившейся кнопке «Настройка панели».
В появившемся меню «Настройка панели инструментов» «Имеющиеся кнопки» установить курсор на требуемую иконку и нажать OK. Кнопка появится на панели инструментов. Кнопки между собой, для наглядности, можно разделять Разделителем. Кнопки лучше расположить группами по каталогу скриптов. Между группами расположить по два Разделителя. Кнопки можно перемещать по панели кнопками «Вверх» (т. е. влево) и «Вниз» (т. е. вправо), установив на них курсор в окне «Панель инструментов».
Некоторые скрипты не имеют иконок, а некоторые имеющиеся иконки не выразительны. Иконки можно создать самому в графическом редакторе. Например начертить в Visio. Иконки чертить в квадрате 32х32 мм с сеткой 1-2 мм. Детали рисунка должны быть крупными. Детали меньше 4-5 мм в иконке видны не будут. Заливку квадрата сделать неярким цветом не мешающим рассмотреть рисунок иконки. Сгруппировать созданное изображение, нажав кнопку , или командой Shift+Ctrl+G. Созданный рисунок сохранить в формате JPG. Затем в IrfanViev изменить размер до 32 на 32 пикселя и сохранить в формате ICO в каталоге, где расположен скрипт. Название иконки должно точно соответствовать названию скрипта.
Вот некоторые из сделанных иконок:
03_Добавление сноски со вводом ;
04_Добавление комментария с переходом ;
04_Добавление сноски с переходом ;
06_Интерактивная ликвидация разрывов абзацев ;
525_Разметка подзаголовков, чистка пустых строк ;
Поиск по набору регэкспов ;
04_Предложение ;
17_Поиск по набору регэкспов_golma1 .
Расстановка сносок из скобок
Сноски делятся на примечания и комментарии. Примечания будут при чтении располагаться внизу страницы, а комментарии в конце книги. Если сноска разъясняет текст это – примечание, если ссылка на источник – комментарий. Примечание больше половины страницы лучше оформлять комментарием.
Номера сносок необходимо предварительно расставить в скобки. Например {1}, [1]. Скобки должны быть выбраны такие которые не встречаются в тексте книги. Щелкам мышкой по меню «Скрипты», (или нужной иконке, если есть). Находим нужный скрипт «Примечание(Комментарий) из {…} или […]«. Жмем на нужный. Скрипт отрапортует, что все, что мог сделал – остальное вручную. Проверяем все ли сноски отмечены и не отметил ли чего ненужного. При необходимости исправляем и повторяем. В самом конце книги появятся пустые зеленые строки примечаний. Текст самих примечаний лучше предварительно собрать в конце книги. Аккуратно переносим текст каждого примечания в свою строку под зеленой строкой с номером примечания. Номер примечания в строке нужно убрать. После вставки последнего примечания убираем оставшийся мусор. В меню «Скрипты» – «добавление примечаний» – находим скрипт «Текст сносок». После нажатия он проверит сноски на ошибки. После проверки в меню «Скрипты» находим скрипт «Унификация сносок». Это последняя операция. Сноски добавлены. Сохраняем файл.
При вставке сносок полезно применить программу Clipdiary 3.50. Clipdiary – это утилита, позволяющая вставить в буфер обмена несколько сот сносок и, потом, по одной вставлять их в нужное место. Если, примечания берутся из Word, надо убрать принудительную нумерацию и переносы. Принудительная нумерация будет дублировать номер сноски, переносы вызовут разрыв слов через дефис. Убрать принудительную нумерацию, оставив при этом нумерацию, можно скопировав сноски и вставить их в текстовой редактор (например: Notepad или Aditor и т. п.). Скопировать там и вставить в Word.
По поводу, где устанавливать знак сноски, приводится выдержка из книги «Правила русской орфографии и пунктуации. Полный академический справочник» Изд. Эксмо 2007 г.
§ 160. При оформлении сносок соблюдается следующая последовательность знаков.
1. Если сноска относится к слову или группе слов внутри предложения, то запятая, точка с запятой, двоеточие ставятся после знака сноски: текст1, текст1; текст1:
2. Если есть знаки вопросительный, восклицательный и многоточие, относящиеся ко всему предложению, то они ставятся перед знаком сноски: текст?1 текст!1 текст…1.
3. Если сноска относится ко всему предложению и в конце его отсутствуют знаки, указанные в п. 2, то после знака сноски ставится точка: текст1.
4. Кавычки ставятся перед знаком сноски: «текст»1.
5. Сноска, относящаяся к слову или группе слов, заключенных в скобки, ставится перед закрывающей скобкой: (текст1); сноска, относящаяся ко всему предложению, имеющему конечную вставку, ставится после скобки: (текст)1.
Расстановка сносок со вводом (с переходом)
В версии 2.66 называется «Добавить сноску, введя ее текст в окошке».
Сноски, выделенные звездочкой или номером(1), типа: «На расстоянии в 200 парсеков* …
* Парсек расстояние проходимое ….»
Если сносок не много можно использовать скрипт «Примечание(комментарий) со вводом». Вырезать текст сноски без звездочки(номера). Курсор ставим на место будущей сноски. То есть на место первой звездочки(номера). В меню «Скрипты» находим «Добавление примечания(комментария)» – «Добавление сноски(комментария) со вводом» Щелкаем мышкой. В появившемся окне добавляем скопированный текст.
Жмем «OK». FBE сообщит, что сноска добавлена.
Жмем «OK». Убираем оставшийся мусор. В результате появилась аккуратная ссылка —[1]. В конце документа появилось новое «Примечание» с текстом.
Внимание – Данный скрипт вставляет примечания, состоящие только из одного абзаца.
При вставке сносок, состоящих из нескольких абзацев, надо воспользоваться скриптом «Вставить примечание(комментарий) с переходом (В версии 2.66 – Добавить сноску(комментарий), перейти к ее разделу)».
Отличается тем, что после вставки номера – переходит в конец в раздел Примечания(Комментарии). Там можно вставить любое количество абзацев.
Поиск по набору регэкспов
Скрипт ищет большое число ошибо — в первую очередь, ошибок распознавания (разрыв слов через тире, неверные сочетания букв, смесь букв цифр, латиница в кириллице, предложения без точки, точка посреди предложения, мусор после сканирования и т. п.). Скрипт, работает с места курсора и останавливается на подозрительном (по его мнению месте) и в левом нижнем углу окна программы (в информационном окне) —появляется подсказка, о какой ошибке может идти речь.
В каждом случае Вам придется решать, ошибка это или нет. Исправления производятся вручную в тексте. После этого запустите скрипт дальше.
Если вы заметили повторяющуюся ошибку, вы сами можете добавить ее в регэксп. Для этого откройте скрипт в текстовом редакторе (например: Notepad) и добавьте свои строки по типу:
tagRegExp(«(?‹![а-яё])гак(?![а-яё])»,»i»,»Найдено: слово «гак» («так» с опечаткой).»);
tagRegExp(«(?‹![а-яё])эго(?![а-яё])»,»i»,»Найдено: слово «эго» («это» с опечаткой).»);
Если какой-то регэксп вам кажется лишним, «отключите» его. Для этого откройте скрипт в текстовом редакторе, найдите нужное сочетание, по которому работает поиск, и поставьте в начале строки два слэша: //.
//tagRegExp(«(?‹![а-яё])эго(?![а-яё])»,»i»,»Найдено: слово «эго» («это» с опечаткой).»).
Добавление сносок (примечаний и комментариев) v2.6
Как известно, людям, готовящим книги, иногда бывает нужно добавить сноску среди уже существующих, при этом требуется ручная работа, т. к. регэкспы не могут выполнять требуемые арифметические действия.
Что делает скрипт.
1. Добавляет body примечаний, если его нет.
2. Добавляет заголовок body примечаний, если его нет. Если есть – оставляет без изменений.
3. Изменяет ID секций примечаний.
4. Изменяет заголовки секций примечаний.
5. Меняет адреса как сносок, так и простых ссылок, которые указывают на секции примечаний.
6. Меняет текст сносок (у простых ссылок остается как было).
7. Добавляет новую секцию примечаний.
8. Добавляет новую сноску с правильными адресом и текстом.
Как использовать скрипт? Нужно стать на позицию в тексте, где должна появиться ссылка на примечание, и запустить скрипт. Остальное делается автоматически.
Детали алгоритма. Номер вставляемого примечания определяется по номеру примечания, расположенного перед вставляемым. Остальные не анализируются. Т. е. если вставляем после сноски, связанной с третьей секцией боди примечаний, новая сноска получит номер четыре и будет связана с четвертой секцией в боди примечаний. Если вставлять новую сноску после сноски, которая не связана ни с какой секцией в теле примечаний, скрипт сообщит об ошибке.
Новые адреса и тексты ссылок генерируются не по порядку их размещения в тексте, а вычисляются по тому, с какими секциями связаны ссылки. Другими словами, связь ссылки и секции сохраняется независимо от порядка их расположения.
Секции примечаний нумеруются с единицы для первой секции.
Заголовки в секции примечаний добавляются независимо от исходного их наличия/отсутствия.
Ограничения. Скрипт не понимает вложенные (более одного уровня вложения) секции в боди примечаний. В случае, если встречаются секции второго или более уровня вложения, скрипт выдаст предупреждающее сообщение и прервет свою работу.
Настройки. В начале файла скрипта расположены определения констант, которые задают шаблоны для называния заголовков, для текста ссылок и пр. Соответственно при необходимости их можно поменять. Макрос %N задает номер секции примечания, остальное трактуется как просто текст.
В данный набор скриптов входят следующие подверсии:
1. Добавление сноски;
2. Обработка сносок;
3. Добавление сноски со вводом;
4. Добавление сноски с переходом;
5. Добавление последней сноски;
6. Добавление последней сноски со вводом;
7. Добавление последней сноски с переходом;
8. Унификация комментария;
9. Унификация комментариев;
10. Добавление комментария со вводом;
11. Добавление комментария с переходом;
12. Добавление последнего комментария;
13. Добавление последнего комментария со вводом;
14. Добавление последнего комментария с переходом;
15. Унификация сносок (с удалением неиспользуемых секций сносок);
16. Унификация комментариев (с удалением неиспользуемых секций комментариев);
Видно, что есть скрипты, которые работают с так называемыми «сносками», а есть которые с «комментариями». Что тут имеется в виду? А имеется тут в виду то, что можно работать одновременно с двумя потоками сносок, различающихся вот чем. Во-первых, «сноски» располагаются в ‹body name=»notes»›, а «комментарии» – в ‹body name=»comments»›. Во-вторых, текст ссылок-«комментариев» скрипт выделяет тегом ‹sup›, чего не происходит со «сносками». Это нужно для того, чтобы «комментарии» в тех читалках, где нет специальной их поддержки, отображались как верхний индекс. Третье – по умолчанию ссылка «сноски» имеет такой вид: [1], в то время как ссылки «комментариев» оформляются следующим образом: {1}. То есть для «комментариев» используются фигурные скобки, а не квадратные, таким образом можно зрительно различать тип сноски при чтении книги. Четвертое различие состоит в том, что по умолчанию id секций «сносок» имеют вид i_1, а «комментариев» – c_1. Соответственно этому различаются и адреса ссылок.
Скрипты 1 и 8 («Добавление сноски» и «Добавление комментария») добавляют простую сноску или комментарий, и больше ничего не делают – курсор оказывается в позиции сразу за добавленной ссылкой сноски.
Скрипты 2 и 9 («Обработка сносок/комментариев») отличаются тем, что не производят добавление сноски или комментария, но при этом производят перенумерацию и всяческую обработку уже имеющихся сносок/комментариев.
Скрипты 3, 6, 10 и 13 («…со вводом») позволяют после генерации пустой сноски в соответствующем боди ввести ее текст в появившемся окошке. Можно использовать различные теги, как fb2- (‹emphasis›, ‹strong› и пр.) так и теги html (‹b›, ‹i› и пр.). html-теги тоже будут преобразованы в fb2-теги, но их может быть удобнее использовать вследствие краткости, и, следовательно, большей быстроты их набора на клавиатуре. После того, как текст будет введен в окошке и сноска создана, курсор окажется в позиции сразу за свежесозданной ссылкой сноски.
Скрипты 4, 7, 11 и 14 («…с переходом») работают так, что совершаются все перенумерации, создается сноска с пустым телом, а потом в начало этого тела сноски (но после заголовка) перемещается курсор. Бывает удобно вставить текст сноски в буфер обмена, потом запустить скрипт «…с переходом» и сделать paste из буфера.
Скрипты 6, 7, 13 и 14 («Добавление *последней* сноски/комментария…») позволяют добавлять сноску только ниже по документу, чем расположена последняя сноска из уже имеющихся. Данные скрипты не производят перенумерацию ссылок и секций (т. к. при добавлении *последней* сноски в этом нет нужды), за счет чего происходит ускорение работы скрипта. Детали работы этого скрипта, я, честно говоря, сам восстанавливаю в памяти не без труда, если еще чего вспомню, то напишу.
Скрипты 15 и 16 («Унификация… с удалением неиспользуемых секций…») производят унификацию сносок либо комментариев, при этом секции сносок или комментариев, на которые нет ссылок, удаляются.
Примечания и комментарии из скобок v2.2
Бывает так, что в книге примечания сделаны прямо посреди основного текста книги, а не вынесены в отдельные секции в ‹body name=»notes»›. В таком случае может быть удобней не переносить примечания в ‹body name=»notes»› по одному, а пометить начало и конец каждого примечания (посреди текста книги) последовательностью определенных символов (такая последовательность в рамках письменного и устного общения насчет данного скрипта условно называется «скобкой»), а потом сгенерировать все (корректно оформленные) сноски сразу. Именно для такого случая и сделан данный набор скриптов.
В архиве имеются следующие скрипты:
1. Примечания из [];
2. Примечания из {};
3. Примечания из [!!];
4. Примечания из [~ ~];
5. Примечания из скобок, заданных регэкспами;
6. Примечания из скобок, заданных простым текстом;
7. Комментарии из [];
8. Комментарии из {};
9. Комментарии из [!!];
10. Комментарии из [~ ~]
11. Комментарии из скобок, заданных регэкспами;
12. Комментарии из скобок, заданных простым текстом;
Про разницу между «Примечаниями» и «Комментариями» можно прочитать в описании скрипта «Добавление сносок и примечаний».
Скрипты 1-4 и 7-10 используют жестко заданные «скобки», какие именно – указано в названиях скриптов (сначала открывающая, а затем закрывающая).
Скрипты 5 и 11 («…из скобок заданных регэкспами») позволяют задать отдельно регэксп для открывающей и закрывающей «скобок», и по этим регэкспам скрипт ищет скобки и извлекает сноски.
Скрипты 6 и 12 («…из скобок, заданных простым текстом») позволяют ввести две строковые последовательности в одном окошке (через пробел), и эти последовательности скрипт при работе будет считать за открывающую и закрывающую скобки.
Начиная с определенной версии, в поисках примечаний скрипт обрабатывает все body, которые есть в книге, причем он просматривает их целиком, выделение текста перед запуском скрипта не учитывается.
Скрипты данного набора имеют такой недостаток, что если внутри многосимвольной «скобки» в тексте книги есть какой-то тег (например, используется скрипт «Примечания из [!!]» и открывающая скобка имеет в fb2 вид [‹emphasis›!), то такая скобка не будет обнаружена скриптом. По этой причине односимвольные «скобки» предпочтительнее многосимвольных. Если вам все же приходится использовать многосимвольные, то после обработки скриптом нужно сделать поиск «скобки» по тексту в режим «Дизайн» (в случае приведенного примера искать нужно [! и!]), подправить случаи, где тег оказался внутри «скобки», и запустить скрипт заново.
Приятной особенностью является то, что скрипт умеет извлекать из «скобок» не только однострочные, но и многострочные примечания.
Заголовки картинок в подписи v1.1
Скрипты данного набора создает под всеми картинками документа подпись (не графикой, текстом) на основе текста из атрибута title картинки, после чего этот атрибут удаляется. Перед создаваемой подписью скрипт не вставляет пустую строку, после – вставляет.
В архиве пять скриптов:
1. Заголовок картинки в подпись (strong) — (жирный);
2. Заголовок картинки в подпись (emphasis) — (курсив);
3. Заголовок картинки в подпись (subtitle) — (подзаголовок);
4. Заголовок картинки в подпись (subtitle, strong) — (подзаголовок, жирный);
5. Заголовок картинки в подпись (subtitle, emphasis) — (подзаголовок, курсив);
Слова в скобках описывают, какими тегами будут выделены новосозданные подписи.
По завершении работы скрипт отображает статистику: сколько всего встретилось картинок, сколько заголовков было заменено на подпись.
Управляемое исправление разрывов абзацев
Иногда в исходнике книги, который приходится использовать для создания fb2, встречаются разрывы абзацев, запятые вместо точек в конце абзацев (при этом абзац кончается на маленькую букву) и прочие неправильности. Данный скрипт призван решить данную проблему (хотя бы частично). Он просматривает весь документ, анализирует пары абзацев текста, расположенные рядом друг с другом, и проверяет конечные символы первого (считая от начала документа) абзаца и начальные символы второго абзаца каждой такой пары на то, допустимая ли это комбинация.
На первом этапе после запуска скрипта нужно задать настройки, согласно которым будет происходить отлов различных комбинаций конца одного абзаца и начала другого. Настройка «Ручной выбор», если она установлена, предписывает скрипту запоминать пару абзацев с указанной разновидностью комбинации конечных и начальных символов для последующего ручного выбора варианта обработки. В этом случае выбранный в окне предварительных настроек вариант обработки станет вариантом по умолчанию в окне ручной обработки. Если же опция «Ручной выбор» не установлена, для данной комбинации будет происходить автоматическая обработка согласно выбранному варианту.
Нажатие «ОК» запускает второй (неинтерактивный) этап – автоматическую обработку и поиск спорных случаев для ручной обработки. Это может потребовать заметного времени, зависит от размера документа, количества абзацев, количества найденных для ручной обработки случаев и, может, от чего-то еще.
На третьем этапе возникает окно с собранными непонятными случаями. В этом окне отображаются пары абзацев (порой с окружающим их текстом впридачу), и подсвечены символы, из-за которых данная пара абзацев направлена на ручную обработку. И можно, выбрав радиокнопку (круглую кнопку), выбрать вариант исправления данной пары абзацев. Если ваша мышь имеет колесико прокрутки, то крутить колесико и кликать по радиокнопкам достаточно комфортное занятие.
Как разложить файлы скрипта по папкам.
1. js-файл следует разместить в папке скриптов, выбранной в настройках FBE.
2. htm-файлы в подпапке HTML папки редактора, чей exe-файл будете запускать. Создайте эту подпапку, если ее нет.
3. css-файлы в поддиректории CSS каталога редактора, чей exe-файл будете запускать. Под именем «удаление разрывов_main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «удаление разрывов_add.css», редактируя строку ac {background-color: red; color: white;}.
Можно настроить стиль подсветки (во время третьего этапа) символов, из-за которых пара абзацев направлена на ручную обработку.
Подробнее см. ниже раздел Чистка.
Разметка подзаголовков, чистка пустых строк v3.2
Скрипт превращает код вида
‹p›***‹/p›
‹p›* * *‹/p›
‹subtitle›***‹/subtitle›
‹title›‹p›***‹/p›‹/title›
‹title›‹p›* * *‹/p›‹/title›
в
‹subtitle›* * *‹/subtitle›
Вместо трех звездочек в перечисленных случаях может быть и несколько другой текст. Вопрос, стоит ли исходя из вида строки делать ее сабтайтлом, решается с помощью такого регэкспа:
^(|)**((|)*(*))?((|)*(*))?(|)*$
Если объяснять словами, строка может содержать от одной до трех звездочек с любым количеством простых или неразрывных пробелов до, между и после них. Анализируется строка без учета тэгов, т. е. форматирование не влияет.
Пустые строки (далее – ПС) непосредственно перед и непосредственно после подзаголовков (всех) удаляются. В случае с ‹title› разрыв секции перед этим тэгом ликвидируется. По информации от jurgenntа преобразование title – › subtitle может быть опасно для файлов, где используется заголовок (не стиха, а простой) из трех звездочек, чтобы «одноименное» стихотворение попало в оглавление.
Также удаляются тэги ‹empty-line/› в начале и конце секции («в начале» в данном случае значит не только сразу после ‹section›, но и после ‹title›, ‹epigraph› и пр.).
Удаляются ПС перед и после тэгов ‹cite› и ‹poem›.
Последовательности из нескольких ПС заменяются на одну ПС.
Удаляются ПС внутри ‹poem›, т. к. они препятствуют валидности документа. ПС внутри тегов ‹title› также удаляются.
ПС, нужные для того, чтобы секция была валидной, не удаляются при описанных выше действиях скрипта.
За ПС во всех указанных случаях считаются: абзацы, которые из чисто текстового содержимого (не считая тэгов) либо не имеют вообще ничего, либо представляют комбинацию произвольного количества пробелов и неразрывных пробелов; тэги ‹empty-line/›.
Некоторые подверсии скрипта умеют удалять жирность и курсив в заголовках.
Всего подверсий скрипта в архиве – четыре:
1. Разметка подзаголовков, чистка пустых строк;
2. Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках;
3. Разметка подзаголовков, чистка пустых строк; удаление жирности в заголовках по запросу;
4. Разметка подзаголовков, чистка пустых строк, удаление жирности и курсива в заголовках.
Слова «…по запросу» в названии третьего скрипта означают то, что при запуске скрипта выскакивает окошко, в котором можно выбрать, удалять жирность в заголовках или нет.
Пустые строки вокруг картинок v1.4
Скрипт позволяет либо удалить пустые строки рядом с картинками, либо сделать по одной пустой строке с каждой стороны от картинок. Выбор, что делать, производится с помощью диалогового окна. Где не надо (в начале секции, в конце секции, перед и после cite и poem и т. п.) пустые строки рядом с картинками не добавляются, если только такое добавление не требуется для валидности.
Удаление неиспользуемых вложений v1.0
Скрипт удаляет вложения, на которые ни ссылается ни одна картинка. Зачем это может быть нужно – предлагаю вам самим придумать.;-)
Ссылочные переходы v1.6
Этот набор скриптов представляет собой замену встроенной в FBE функции перехода по ссылке и обратно.
В наборе три скрипта:
1. Переход по ссылке;
2. Возврат на ссылку;
3. Переход по ссылке или возврат на ссылку.
Первый скрипт переходит по ссылке, которая находится под или рядом с курсором. Второй переходит к первой от начала документа ссылке, указывающей на секцию, находящуюся под курсором. Третий скрипт переходит по ссылке, если она есть под или рядом с курсором, в противном случае пытается совершить возврат на ссылку, которая ссылается на секцию, в которой находится курсор.
Скрипты универсальны в том плане, что не заточены только под ссылку «сноски» или только под ссылку «комментария», а работают (теоретически) для всех вариантов локальных ссылок.
Кроме того, в отличие от встроенного в FBE перехода, мой скрипт переходит по ссылке, если курсор стоит слева или справа от нее, что дает возможность совершать переход даже если текст ссылки состоит из одного символа.
Таблица символов v1.2
Этот скрипт – заготовка, которую перед использованием нужно настроить под себя. Если это сделать, скрипт будет при запуске выводить таблицу символов, клик по которым делает так, что они вставляются в текст редактируемой книги.
Размер окна с таблицей символов настраивается в js-файле, поменять значения в этих строках:
var dialogWidth=»300px»; //ширина окна таблицы символов var dialogHeight=»300px»; //высота окна таблицы символов
Размер таблицы (измеряемый в клетках) настраивается в html, вот это место:
var tableX=3; //количество столбцов в таблице символов var tableY=3; //количество строк в таблице символов
Символы для таблицы задаются в приведенной ниже строке, указывать их можно как непосредственно, так и в форме html-сущностей (entities):
var charStr=»12345 amp;gt; amp;lt; amp;nbsp; amp;#160;»;
Чтобы задать символ ударения, нужно написать два символа: «amp;#160; amp;#769;», в скрипте на этот случай предусмотрен специальный код. Если понадобится, чтобы в таблице был знак меньше «‹» или больше «›», то записать их следует как amp;lt; и amp;gt; соответственно. Неразрывный пробел можно записать как amp;#160; либо amp;nbsp;. Других именованных сущностей, кроме названных, скрипт не понимает, поэтому прочие символы можно кодировать только сущностями с Unicode-кодом символа.
Всплывающие подсказки настраиваются изменением этой строки:
var titleStr=»Единица|Двойка|Тройка|Четверка|Пятерка|Больше|Меньше|Неразрывный пробел|Неразрывный пробел»;
Можно использовать другой (но тоже односимвольный) разделитель вместо pipe – «|» – изменив вот эту строку:
var dividerChar=»|»;
Шрифт ячеек таблицы задается в этой строке:
td {font-family: Tahoma; font-size:16px;}
Скрипт работает в немодальном окне, то есть окно скрипта после запуска висит параллельно окну редактора, не мешая (если не заслонять:-) работе в последнем.
Для успешного старта скрипта html-файл из архива следует положить в папку Cmd или Scripts (какая есть) той версии редактора, исполняемый файл которого запускаете. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Унификация вложений и картинок v1.2
Скрипт переименовывает вложения соответственно порядку следования ссылок на них в теле документа. Если на вложение ссылается несколько картинок, берется номер первой из них. Первое нумеруемое вложение получает номер 1. По умолчанию новое имя файла (без учета расширения) выглядит как «i_001» (можно настроить префикс имени, т. е. то, что будет вместо «i_», и количество цифр, до которого следует дополнять номер); расширение получается из поля content-type бинарника:.jpg для image/jpeg и. png для image.png.
Вложения, на которые нет ссылок, переименовываются по другому алгоритму. К их имени дописывается префикс (конкретный вид его можно настроить) «unused_». Если вложение уже имеет такой префикс, второй раз он не добавляется. Случается иногда ситуация, что уже есть вложение например unused_a.png, есть вложение a.png, и т. к. на последнее нет ссылок, оно тоже по идее должно стать unused_a.png. Получалось бы запрещенное дублирование id вложений, поэтому такая ситуация решена дописыванием постфикса вида «_0» (число меняется по необходимости) к имени вложения.
Вложению обложки дается имя cover, вложению обложки оригинального издания cover_src (настраиваемо путем редактирования параметра в файле скрипта). Расширение дается согласно content-type. Если в качестве обложки ничего не выбрано, и есть вложение с именем «cover.jpg» или «cover.png», это вложение делается обложкой. Аналогично для обложки ориг. издания, только искомое вложение должно называться «cover_src» + расширение.
Потом вложения сортируются в таком порядке: обложка; обложка оригинального издания; пронумерованные картинки; вложения, на которые нет ссылок.
Атрибут href у картинок изменяется с тем, чтобы картинки оставались связаны со своими вложениями несмотря на смену id.
По окончании обработки выводится статистика, в том числе перечни: картинок, для которых нет вложений; вложений, на которые нет ссылки; картинки с нелокальными ссылками; список вложений с content-type не image/jpg, не image/png. Т. е. попутно скрипт можно использовать как проверку картинок.
Есть пара известных проблем. Во-первых, после работы скрипта перестает появляться выпадающий список при редактировании атрибута href картинки. Во-вторых, в некоторых случаях не срабатывает встроенное обновление картинок, и выводится старая картинка вместо новой, хотя связь «картинка – › бинарник» соблюдена верно.
Обновление картинок и списков обложек v1.0
Бывает, удалишь несколько вложений, потом вставишь на их место новые с теми же названиями, а картинки в режиме «Дизайн» редактор не обновляет – остаются видны старые. Или меняешь руками id вложений в режиме редактирования описания (description’а) книги – тот же эффект. Выпадающие списки для выбора картинки обложки тоже не обновляются. В этом случае и пригодится данный скрипт. (Но все-таки, кажется, и со скриптом срабатывает не всегда.)
Удалить все вложения из книги v1.3
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Тест сносок v1.2
Скрипт проверяет порядок расположения ссылок-сносок и их правильность. Определяет, кажется, все возможные ошибки. Является аналогом скрипта «Проверить ссылки», который стандартно идет с FBW, но работает быстрее (сравните: N*N операций в случае скрипта FBW и N операций в случае «Теста сносок»). К тому же определяет больше ошибок.
Ограничение: поддерживается только стандартный формат оформления сносок (когда каждая сноска представлена секцией в ‹body name=»notes»› и ссылки сносок ссылаются именно на секции). Кроме того, скрипт понимает лишь одноуровневые сноски, т. е. в боди notes не должно быть секций второго уровня вложенности.
Изменения в версии 1.2:
• скрипт работал некорректно (выдавал сообщение «Отсутствует # в адресе ссылки.») в случае, если FBE показывал длинные ссылки в книге
(допустим,»file:///C:/FB2/FBE2.0%2004%20-%2028%20Jun%202009.dir/main.html#N1″ вместо «#N1»);
• при отсутствии body примечаний скрипт выдавал сообщение об этом, но потом вылетал с ошибкой;
• сообщение об ошибке «Нет секции примечания с id, указанным в ссылке.» исправлено на «В body примечаний нет секции примечания с id, указанным в ссылке.».
Регистр v1.1
Данный набор скриптов позволяет, выделив текст и запустив скрипт, перевести его в нижний либо в ВЕРХНИЙ регистр.
В архиве следующие скрипты, названия которых говорят сами за себя:
1. В верхний регистр;
2. В нижний регистр;
3. Предложение – Делает первую букву прописной остальные строчные, как в предложении. Удобно для изменения в заголовках, где все прописные;
4 Капитализация выделения — В выделенном фрагменте начинает все слова с заглавных;
5 Сжатие разрядки — сжимает разрядку. Осторожно — может слепить слова, если, текст форматирован по ширине;
6 Циклическое изменение регистра — меняет заглавные на прописные и наоборот.
Вставка ссылки на midi-файл v1.0
AlReader позволяет читать fb2-книги со ссылками на midi-файлы, которые (midi-файлы) можно прослушать прямо в читалке. Данный скрипт позволяет вставить такую ссылку. Для этого нужно выделить текст, который следует сделать ссылкой, запустить скрипт, выбрать музыкальный файл, и подтвердить создание ссылки. Чтобы читалка нашла файл с музыкой, нужно положить midi в zip-архив, в котором лежит и fb2.
Разбиение на секции v1.3
Данный скрипт позволяет, задав признак для поиска строк – будущих заголовков, произвести разбиение fb2-документа на секции с одновременной разметкой этих заголовков тегом title. После чего остается придать секциям правильную вложенность с помощью кнопок управления структурой документа, которые есть в окне «Структура книги» редактора. По сути, скрипт избавляет от ручной работы с комбинацией Shift-Enter.
После запуска скрипта появляется окно настроек. В нем можно задать регэксп для поиска строк-заголовков. Можно выбрать, учитывать ли регистр при поиске по заданному регэкспу. Еще можно настроить, сколько при разметке захватывать в заголовок строк до и после строки, найденной по регэкспу.
Второй этап работы скрипта запускается кнопкой «Обработать» или «Обработать и выйти». В процессе обработки создаются разрывы секций (‹/section›‹section›) перед найденными строками-заголовками, а сами заголовки (которые на тот момент еще не заголовки) размечаются тегом title.
Чтобы скрипт заработал, html-файл из архива следует положить в подпапку HTML папки той версии редактора, исполняемый файл которого запускаете. Создайте эту подпапку, если ее нет. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Изменение в версии 1.3:
поправлено то, что после выхода из скрипта освобождалась не вся занимаемая им память.
Обработка кавычек v2.7
В набор входят следующие скрипты:
1. Расстановка елочек и лапок;
2. Расстановка елочек и лапок (начиная с 1-го уровня);
3. Расстановка елочек и лапок (начиная со 2-го уровня);
4. Расстановка елочек и лапок (с позиции курсора);
5. Расстановка елочек и лапок (с позиции курсора, начиная с 1-го уровня);
6. Расстановка елочек и лапок (с позиции курсора, начиная со 2-го уровня);
7. Переход на след. елочки;
8. Переход на пред. елочки;
9. Переход на пред. лапки;
10. Переход на след. лапки;
11. Переход на пред. прямые кавычки;
12. Переход на след. прямые кавычки;
13. Переход на пред. прямые кавычки, елочки или лапки;
14. Переход на след. прямые кавычки, елочки или лапки;
15. Расстановка только елочек.
Скрипт под номером 1 проставляет елочки и лапки в документе, учитывая уровни их вложенности и работает корректно, даже в случае наличия сносок. Если в момент запуска скрипта выделения в документе нет, будет обработан весь текст. Если же есть выделение, будет обработана лишь выделенная область. Скрипт находит спорное место, сообщает Вам об этом и предлагает исправить вручную. Если число кавычек в уровне не совпадает – означает, что где-то есть непарная (открывающая/закрывающая) кавычка. Скрипт показывает какой не хватает.
Видно не хватает закрывающей елочки. Скрипт останавливается в конце непарной секции. Вернитесь (при помощи скрипта «Переход на предыдущие ёлочки/лапки») к последней «ёлочке/лапке»(что указано непарным) и просмотрите текст. Исправьте знак или проставьте недостающую кавычку (её вид не имеет значения, скрипт изменит на правильный). Запустите скрипт.
Означает, что отсутствует открывающая кавычка.
Нажмите «ОК», при этом курсор окажется возле закрывающей кавычки. Поставьте открывающую кавычку. Или уберите закрывающую, если не нужна.
Возможно также:
— отсутствие пробела перед открывающей кавычкой;
— пробел после открывающей кавычки;
— точка после открывающей кавычки (возможно надо многоточие);
— искажение знака кавычки
— мусор после распознавания.
Исправьте.
Означает, что вложение кавычек слишком сложное. Уровень вложения больше двух. Вернитесь к последней «ёлочке» и просмотрите текст. Бывает, что такое сложное вложение действительно правильное. Если выяснится, что все правильно — проставьте нужные кавычки. Скрипт такого сочетания кавычек не понимает, и будет постоянно останавливаться на нем. Скрипт может не понимать если открывающая и закрывающая кавычка находятся в разных абзацах. Поэтому, дальше запускайте скрипт — Расстановка ёлочек и лапок с позиции курсора.
Если расстановка кавычек неправильная — исправьте.
Возможно также:
class=’book’>- отсутствие пробела перед открывающей кавычкой;
— пробел после открывающей кавычки;
— точка после открывающей кавычки (возможно надо многоточие);
— мусор после распознавания.
После исправления ошибок, запускайте скрипт, пока не получите сообщение:
Скрипты 2 и 3 аналогичны скрипту 1, но начинают расстановку елочек и лапок не с нулевого уровня вложенности, а с первого или второго.
Скрипты 4, 5 и 6 при отсутствии выделения перед запуском скрипта проставляют елочки и лапки не от начала документа, а с позиции курсора.
Скрипты 7-14 позволяют перемещаться вперед или назад по документу к определенным символам кавычек, указанным в названиях скриптов.
Скрипт 15 заменяет все кавычки на елочки, левые и правые. Соответственно, все проверки на уровень вложенности кавычек отключены.
Поиск форматирования v1.0
Скрипты данного набора осуществляют переход вперед или назад от курсора к месту документа, где используется вид форматирования, обозначенный в названии скрипта. Содержит скрипты, позволяющие быстрее передвигаться по документу в поисках определённого форматирования.
Вот перечень скриптов этого набора:
1. Переход на предыдущий курсив;
2. Переход на следующий курсив;
3. Переход на предыдущий абзац с курсивом;
4. Переход на следующий абзац с курсивом;
5. Переход на предыдущую жирность;
6. Переход на следующую жирность;
7. Переход на предыдущий абзац с жирностью;
8. Переход на следующий абзац с жирностью;
9. Переход на предыдущий верхний индекс;
10. Переход на следующий верхний индекс;
11. Переход на предыдущий абзац с верхним индексом;
12. Переход на следующий абзац с верхним индексом;
13. Переход на предыдущий нижний индекс;
14. Переход на следующий нижний индекс;
15. Переход на предыдущий абзац с нижним индексом;
16. Переход на следующий абзац с нижним индексом;
17. Переход на предыдущее зачеркивание;
18. Переход на следующее зачеркивание;
19. Переход на предыдущий абзац, содержащий зачеркивание;
20. Переход на следующий абзац, содержащий зачеркивание;
21. Переход на предыдущий код;
22. Переход на следующий код;
23. Переход на предыдущий абзац, содержащий код;
24. Переход на следующий абзац, содержащий код.
Превращение внешних ссылок в текст v1.1
Суть скрипта ясна из названия. Поясню, что внешней ссылкой считается любая ссылка, которая не является локальной ссылкой. Локальной же ссылкой считается такая, у которой адрес начинается с «file://» либо со знака «#», также перед этими строковыми последовательностями могут быть пробелы.
Точка, тире, буква v1.3
Данный скрипт находит комбинации символов «точка, тире, маленькая буква», «запятая, тире, большая буква», «многоточие, тире, маленькая буква», причем между любыми двумя символами комбинации могут быть простые или неразрывные пробелы (а могут и не быть), а под тире в данном контексте понимаются дефис или короткое либо длинное тире.
Когда комбинация символов найдена, абзац с этой комбинацией выводится в диалоге, причем комбинация символов выделена особым стилем (по умолчанию – белым по красному). Также в диалоге имеются кнопки управления скриптом. Кнопка «Пропуск» пропускает текущий найденный случай и пытается найти следующий.
Кнопка «Заменить знак пунктуации» производит замену точки из найденной комбинации символов на запятую, либо наоборот – заменяет найденную запятую на точку; после чего происходит переход к следующей комбинации символов. Кнопка «Изменить регистр буквы» превращает большую букву из найденной комбинации в маленькую, либо наоборот, после чего, опять же, происходит переход на следующий подлежащий рассмотрению пользователем случай. Кнопка «Выход» ничего не делает, кроме того что закрывает скрипт.
Если перед нажатием одной из кнопок «Заменить знак пунктуации» и «Изменить регистр буквы» установлен флажок «После замены перейти к этому месту», то после того, как скрипт произведет полагающиеся изменения, произойдет выход из скрипта, и область видимости в основном окне FBE и курсор будут перемещены к рассматриваемой комбинации символов. Имеется также кнопка «Перейти без замены», которая осуществляет такое же перемещение области видимости и курсора, но при этом не совершается ни одно из предлагаемых на данный момент изменений документа.
Как разложить файлы скрипта:
1. js-файл положить где-нибудь внутри папки Scripts, выбранной в настройках редактора.
2. содержимое папки HTML положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
3. Подпапка CSS при этом должна быть внутри папки HTML. Под именем «Точка, тире, буква – main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «Точка, тире, буква – add.css», редактируя строку
SPAN.ddl_marked {background-color: red; color: white}
Можно настроить стиль, которым будет подсвечиваться рассматриваемая комбинация символов.
Строка
#fbw_body {font-family: Tahoma; font-size:15px;}
Назначает стиль, который будет применен ко всему отображаемому тексту. Это аналог настроек шрифта в настройках FBE.
В js-файле скрипта можно изменить значения размеров диалога (измеряются в пикселях) вот в этих строках:
var dialogWidth=»640px»; // ширина диалогового окна var dialogHeight=»480px»; // высота диалогового окна
Управление структурой секций v1.8.
Я полагаю, скрипт может быть удобен как для изменения структуры секций путем перетаскивания мышью, так и для массового ручного контроля/редактирования заголовков. Преимущество сравнительно со встроенным в FBE редактированием дерева – заголовки отображаются «как есть», с форматированием и многострочностью.
Недостатки.
• После окончания работы скрипта, если Вы вышли из него по нажатию кнопки «Сохранить», желательно проверить валидность книги, т. к. скрипт этого не делает.
• Не поддерживается выделение нескольких элементов дерева.
• Долговато выполняется сохранение, надо бы как-то оптимизировать, но пока нет идей.
Известные проблемы.
• Могут быть проблемы, связанные с необновлением скроллбара. Дело в том, что код для скроллбара пришлось написать самому, использовать системный было нельзя – тогда бы курсорные клавиши прокручивали документ когда не надо. Если заметите необновление размера скроллбара в какой-то ситуации – пожалуйста сообщайте (как и остальные баги).
• IE, на движке которого работает FBE, имеет багофичу (в отличие от других браузеров), из-за которой скрипты не могут обрабатывать второе нажатие (в отличие от отпускания) кнопки мыши при двойном щелчке. Поэтому если быстро нажать, отпустить, опять нажать и удерживать клавишу мыши, когда мышиный курсор находится на кнопке скроллбара, то автоскроллинг не запускается, хотя должен бы.
Кликать ссылку «HTML в буфер» внизу окна скрипта не надо – она нужна только для отладки.
Как правильно разложить файлы скрипта.
Файл «01_Управление структурой секций. js» положить в папку скриптов, заданную в настройках FBE. Содержимое папки HTML (включая подпапки) положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
Настроить размер по умолчанию для окна скрипта можно в файле «01_Управление структурой секций. js», изменив числа в таких строках:
var dialogWidth=»640px»; // ширина диалогового окна var dialogHeight=»480px»; // высота диалогового окна
Перенос примечаний в скобки v1.1.
Скрипт переносит примечания и комментарии из body «notes» и «comments» в текст, обрамляя их скобками. Примечания («notes») обрамляются квадратными скобками, а комментарии («comments») – фигурными. Если примечание содержит несколько абзацев, его абзацы будут слиты в один абзац и разделены строковой последовательностью «//». Блочные элементы (cite, epigraph, poem) при переносе примечаний в скобки теряются, инлайновые – сохраняются.
В набор входят два скрипта, один из которых отличается тем, что перенеся примечание в скобки, вставляет перед открывающей скобкой пробел.
Содержит скрипты, позволяющие перенести примечания (все сразу или по одному) к слову: бывает нужно в случаях, когда примечание было создано ошибочно или Вы хотите заменить примечание комментарием (или наоборот) и т. п.
Режим чтения v1.0.
Скрипт переводит FBE в режим чтения, в котором клавиши «Вверх» и «Вниз» прокручивают текст на одну строку в соответствующих направлениях, а клавиши «Влево» и «Вправо» прокручивают на три строки вверх и вниз соответственно. Чтобы выйти из режима чтения, нужно кликнуть мышью в произвольное место текста, и курсор будет установлен в указанную позицию.
Работа скрипта проверена в IE6.
Снятие форматирования стихом, цитатой или эпиграфом v1.1
Суть скрипта понятна из названия. Для использования нужно поставить курсор внутрь стиха, цитаты или эпиграфа, запустить скрипт, и форматирование будет снято. Если курсор перед запуском вложен в несколько тегов, входящих в число тех, которые умеет убирать скрипт, то будет убран самый глубокий (максимально вложенный) тег.
Изменение в версии 1.1:
• Теперь, если, например, снимается форматирование цитатой, тег text-author, относящийся к этой цитате, превращается в p. Аналогично для эпиграфов и стихов.
Мелочи редактирования
Скрипты:
«Удаление пробелов» – нужен, когда в исходнике есть текст разрядкой;
«Снятие форматирования стихом, цитатой или эпиграфом» – позволяет снять ошибочное форматирование, не переходя в режим Source;
«Открыть текстовый файл» – можете хранить любую информацию, которая вам кажется важной при работе с файлом fb2 – Вы всегда сможете вызвать этот текст, добавить нужное и сохранить.
Обработка форматирования
Скрипт «Обзор и превращение элементов» раздел Обработка форматирования – позволяет менять subtitle на title (и наоборот), превращать subtitle и title в обычный текст, создавать списки по различным видам форматирования и преобразовать (списком или в одиночку) элементы, придавая им другое форматирование или убирая его.
Можно преобразовать:
— titles-заголовок в subtitles и text;
— subtitles-подзаголовок в titles и text;
— emphasis-курсив в strong, sup, sub и text;
— strong-жирный в emphasis, sup, sub, strikethrough и text;
— sup-надстрочный(верхний индекс) в emphasis, sub, strikethrough и text;
— sub-подстрочный(нижний индекс) в emphasis, sup, strikethrough и text;
— strikethrough-перечеркнутый в strong, sup, sub и text;
Для этого в верхнем окне Отобразить — выбрать необходимое форматирование и щелкнуть Выполнить. Выделить требуемые элементы. В нижнем окне Переформатировать выбранные элементы как — выбрать необходимое форматирование и щелкнуть Выполнить.
Можно посмотреть и убирать (превращать в текст) ненужное форматирование: жирным, курсивом зачеркиванием и т. д.
Можно изменять регистр заголовков или подзаголовков. Щелкнуть правой кнопкой мышки.
Иллюстрации
Содержит следующие скрипты:
Проверка иллюстраций;
Унификация вложений и иллюстраций;
Обновление иллюстраций;
Сохранить вложения на диск – Сохраняет все картинки на диск в том же каталоге, что файл fb2.
Удалить все вложения;
Пустые строки возле иллюстраций – удаляет/вставляет пустые строки;
Удаление неиспользуемых вложений; (Осторожно – скрипт удаляет рисунки вставленные в текст!).
Разметка подписей к иллюстрациям — при запуске появляется окно:
Форматирует подписи к картинкам: жирный, курсив, верхний/нижний индекс, подзаголовок. Поставить галочку(и) в в нужном окне(ах).
Подпись к картинке должна идти следующей строкой за картинкой. Пустые строки возле картинок надо удалить скриптом Пустые строки возле иллюстраций.
Можно запустить, чтоб-бы искал и менял сам нажав ВСЕ, или вручную. Если вручную, на секунду подсветит подпись и остановится. Спросит: Это подпись ?. Если, подпись нажать Это подпись, если нет нажать Искать дальше.
Осторожно — если есть картинки без подписи скрипт изменит строку(строки) за ней.
Удаление неиспользуемых картинок (Осторожно – скрипт удаляет рисунки вставленные в текст!).
Действие остальных скриптов понятно из названий, или разбирается в соответствующем месте.
Чистка
Содержит следующие скрипты:
Заголовки, подзаголовки;
Генеральная уборка; (Осторожно – скрипт может производить некорректные изменения!)
Латиница в Кириллице – заменяет латинские буквы в русских словах на кириллические (но не все – нужно продублировать регэспом); (Осторожно – скрипт может менять в иностранных словах латинские буквы на русские!)
Фамилия И. О – расставляет неразрывные пробелы в сочетаниях «Петров В. И.», «И. И. Иванов», «Иван III» и т. п.;
Слипшиеся слова – интерактивный, работает с места курсора и обучающийся.
При запуске спрашивает: Жмитете Да.
В сообщении указывается, что за ошибка обнаружена. Предлагает изменение – если оно Вас устраивает – жмите Да, или исправьте в окне скрипта и жмите Да. Скрипт обучаемый. Если Вы нажали ДА, во всех подобных случаях будет предлагать аналогичное исправление.
<Strong> и <EM> — означают появление посреди предложения жирности или курсива. Если необходимо — оставьте, если нет — уберите в окне скрипта . Уберите мусор.
Произведите изменения в окне скрипта и жмите Да. Если жмете Нет изменение не производится;
Управляемое исправление разрывов абзацев (см. ниже);
10.000.000.000 – расставляет неразрывные пробелы в числах типа 100 437 и меняет длинное тире на дефис в числовых диапазонах 1936-1972;
Дефис – Тире – останавливается и спрашивает оставить дефис или поменять на тире( и наоборот);
Орфография;
Точка – когда в тексте много пропущенных точек: интерактивный, с места курсора, изменения делаются в окне скрипта после проверки абзаца;
Удаление возвратов;
Разрыв предложения;
Точка, тире, буква – ищет неправильно расставленные знаки в прямой речи и необходим, если ФР постоянно путает точку с запятой. Скрипт выделяет спорное место красным цветом и предлагает на выбор три варианта: – пропуск – заменить знак пунктуации – изменить регистр буквы. Если ни один вариант не подходит, можно нажать на «Перейти без замены» и сделать необходимые исправления вручную. Внимание – при этом надо обращать на слово, первая буква которого выделена красным. Если это имя нарицательное, написанное с большой буквы, то стоящая запятая должна быть точкой;
Превращение внешних ссылок в текст – нужен, когда в тексте много интернет-ссылок или емэйл-адресов;
Символы win-1252 (буквы);
Символы win-1252 (слова);
Точка_Запятая;
Поиск прилипших предлогов.
Управляемое исправление разрывов абзацев:
Оставьте Ручной выбор и нажмите OK.
Скрипт находит все подозрительные места и предлагает следующие действия:
Не трогать;
Соединить через пробел;
Соединить без пробела;
Соединить через дефис/тире;
Соединить убрав дефис/тире;
Добавить точку;
Заменить запятую на точку.
Следует поставить галочку в требуемое окно и перейти к следующему подозрительному месту. Если непонятно щелкнуть Показать или Ok и перейти. В конце нажать Ok. Выбранные действия будут произведены.
Несколько субъективных заметок.
1 FBD (Fiction Book Designer) открывает DOC и TXT гораздо корректнее, чем Any to FB2.
2 В FBD удобнее редактировать тест по стилям, чем в FBE. Тем более, он сам расставляет стили. Надо только проверить и поправить.
3 В FBD удобнее расставлять заголовки по уровням, чем в FBE.
4 FBD позволяет масштабировать картинки при вставке и редактировании.
5 FBD не поддерживает прозрачность рисунков и вставку рисунков в текст. Их надо вставлять в FBE.
6 Если в Doc есть ссылки, то FBD их тоже найдет и сам вставит ссылки. Выделите все сноски (в конце книги): двойной клик на первой сноске, затем Shift+клик на последней. В меню Format щелкнуть Mark note block. Сноски окрасятся фиолетовый цвет. Сноски форматированы. Если, в Doc были картинки, они тоже вставятся.
7 Вставку ссылок и комментариев, если их не было в DOC, удобнее проводить в FBE.
8 Проверку регэспом и скриптами надо проводить в FBE. В FBD их попросту нет.
9 Окончательную доводку книги и заполнение «Дескриптора» надо проводить в FBE.
Эти заметки субъективны. Каждый сам определяет, как ему удобнее.
Примечания
1
Пример вставки «Примечания со вводом».
(обратно)
Оглавление
Валидатор «ругается».
Вставка рисунков и обложки
Вставка рисунка
Вставка обложки
Вставка рисунка в текст
Вставка таблиц и формул
Расстановка сносок из скобок
Расстановка сносок со вводом (с переходом)
Поиск по набору регэкспов
Добавление сносок (примечаний и комментариев) v2.6
Примечания и комментарии из скобок v2.2
Заголовки картинок в подписи v1.1
Управляемое исправление разрывов абзацев
Разметка подзаголовков, чистка пустых строк v3.2
Пустые строки вокруг картинок v1.4
Удаление неиспользуемых вложений v1.0
Ссылочные переходы v1.6
Таблица символов v1.2
Унификация вложений и картинок v1.2
Обновление картинок и списков обложек v1.0
Удалить все вложения из книги v1.3
Тест сносок v1.2
Регистр v1.1
Вставка ссылки на midi-файл v1.0
Разбиение на секции v1.3
Обработка кавычек v2.7
Поиск форматирования v1.0
Превращение внешних ссылок в текст v1.1
Точка, тире, буква v1.3
Управление структурой секций v1.8.
Перенос примечаний в скобки v1.1.
Режим чтения v1.0.
Снятие форматирования стихом, цитатой или эпиграфом v1.1
Мелочи редактирования
Обработка форматирования
Иллюстрации
Чистка
Несколько субъективных заметок.
Izekbis
FictionBook Editor V 2.6 Руководство
Описание функций FB Editor
После запуска программы появляется рабочее окно. Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски. Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG и в режиме исходника, когда видны все теги и настоящая структура файла. Слева от главного окна находится панель Структура документа(Document Tree), в котором отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги. И внизу – служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора и регэспа.
Пройдемся по пунктам меню. В меню Файл(File), кроме стандартных Создать(New), Открыть(Open), Сохранить(Save), есть команда Проверить(Validate) (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника, устанавливая курсор на 1-2 строки ниже «проблемной» строки. Пункт меню ФайлИмпорт по умолчанию имеет один подпункт: «No import plugins installed». Плагины для импорта книг из других форматов в комплект FBE не входят. Но если Вы установите пакеты Any2 FB2 и FB2 to Any, то FB Editor сам обнаружит их, и соответствующие иконки появятся в меню ФайлИмпорт и ФайлЭкспорт. Устанавливать Any2FB2 и FB2 to Any в одну папку с FBE не обязательно. Пункт меню ФайлЭкспорт позволяет экспортировать книгу в формат HTML. Структура книги полностью сохраняется.
Второй раздел меню – Правка(Edit) – кроме типовых Отменить ввод(Undo-Redo), Вырезать(Cut), Копировать(Copy), Найти(Find), Заменить(Replace), содержит блок работы с элементами книги: Клонировать(Сlone), Разрезать(Split), Склеить(Merge) container и – специально для вложенных секций – Убрать внешний(Remove outer container). Ниже идут три подменю вставки элементов. В подменю Стиль(Style) собраны команды вставки элементов в пределах одного абзаца: Обычный(Normal), Автор текста(Text текста(Text Author), Подзаголовок(Subtitle), Link, Footnote, Remove link. Подменю Вставка(Add) содержит команды вставки элементов, которые должны находиться строго в определенном месте: Тело(Body), Заголовок(Title), Эпиграф(Epigraph), Рисунок(Image) (вариант), Аннотация(Annotation), Цитата. В подменю Вставка(Insert) сгруппированы команды вставки элементов, которые, в принципе, могут находиться в произвольном месте книги: Рисунок(Image), Стихи(Poem), Cite. Последней идет команда Прикрепить(Add Binary object). Она позволяет присоединять к файлу книги картинки и бинарные файлы.
Следующий раздел меню – Вид(View). Сначала идут флажки отображения панелей – Панель инструментов(Toolbar), Панель скриптов(Link bar), Панель ссылок(Status bar), Панель таблиц, Строка состояния, Структура книги(Doсument Tree).
Чтобы все были видны должны стоять все «галочки». Под ними – выбор режима редактирования книги – Описание документа(Description), Дизайн(Body), Код(Source). И последний пункт – Ускоренный режим.
Раздел меню Сервис(Tools) содержит три пункта. Команда Слова(Words). К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис.
Команда Слова(Words). К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис.Те слова, у которых в тексте книги есть варианты без дефиса, помечаются восклицательным знаком. В поле Заменить(Replacement) можно вводить варианты замены. Внизу дополнительные опции.
Лучше убрать «галочку» из «Показать/скрыть исключения», если, они у Вас уже есть. Надо расставить «галочки» в квадратиках напротив тех слов, где дефис надо убрать, а потом нажать «ОК» в правой части внизу – «Обработка». Можно нажать на «Найти», курсор перемещается на слово в тексте (оно будет выделено), и нажать на кнопку «заменить» (она активируется после нахождения слова). Кнопка «найти» очень удобна для уточнения необходимости изменений. Вы можете выделить строки, которые хотите вставить в исключения и нажать «В исключения». В дальнейшем, строки с исключениями, будут выделяться красным.
В раздел Help (только FBE 2.6.6) входит небольшой Help и пункт О программе(About), где указаны номер версии и дата сборки.
В разделе Настройки:
Вид — можно менять цвет фона, шрифты, цвет текста, место хранения пользовательского словаря(для слов, которые Вы добавляете при проверке орфографии);
Другое — менять кодировку, выставить опцию «Восстанавливать позицию курсора», и тогда Вы при открытии файла окажетесь на том месте, где закончили его редактировать в прошлый раз;
Клавиши — присваивать/изменять горячие клавиши любым командам. Удобно присвоить символам отсутствующим в клавиатуре, например:
{Ctrl+2} « двойные левые кавычки ёлочкой;
{Ctrl+3} » двойные правые кавычки ёлочкой;
{Ctrl+=} — длинное (полиграфическое) тире;
{Ctrl+[} – ‘ – левая верхняя одинарная кавычка.
{Сtrl+]} – ’ – правая верхняя одинарная кавычка.
{Ctrl+›} – … – многоточие и т. д.
Выделяете требуемую команду; переводите курсор в окно Клавиши; жмете сочетание клавиш (появится в окне) и щелкаете Присвоить.
Появится:
Слова — хранятся слова, отмеченные как „исключения“ при запуске службы „Слова“. Там можно убрать/добавить слово и выставить, хотите ли Вы по умолчанию видеть исключения при запуске службы.
Раздел меню Вставка содержит команды для форматирования текста: Заголовок, Стихи, Цитата, Эпиграф, Аннотация. Вставки и прикрепления рисунков и создания таблиц.
Команда «Тело» вставляет дополнительную секцию body в конце документа со строкой заголовка над ней. Т. е. дополнительную часть/главу.
Команда «Рисунок секции» резервирует (на месте курсора) место для вставки рисунка .
Информационное окно
В левом нижнем углу экрана расположено Информационное окно. В нем отражаются все действия редактора:
— код строки на которой стоит курсор ;
— ошибки обнаруженные регэспом (см. ниже);
— результат выполнения команды .
Настройка Панели инстументов
В меню «Вид» отметить «Панель инструментов».
Щелкнуть два раза левой кнопкой мышки в панели инструментов. Или, там же один раз, правой кнопкой и потом щелкнуть по появившейся кнопке «Настройка панели».
В появившемся меню «Настройка панели инструментов» «Имеющиеся кнопки» установить курсор на требуемую иконку и нажать OK. Кнопка появится на панели инструментов. Кнопки между собой, для наглядности, можно разделять Разделителем. Кнопки можно перемещать по панели кнопками «Вверх» (т. е. влево) и «Вниз» (т. е. вправо), установив на них курсор в окне «Панель инструментов».
Особенности редактирования документов
Первое, что необходимо усвоить при работе с 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 эти теги просто исчезают или преобразуются в обычные абзацы, как, например, таблицы.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Делаем книгу
Делаем книгу
У вас есть рассказ или статья, или Вы сканировали и распознали книгу, и вы хотите, чтобы и другие смогли прочитать. Вычитайте, исправьте опечатки, а, так же, отформатируйте его по стилям: заголовки, подзаголовки, параграфы, абзацы, стихи и т. д.
В FBE вместо голубого «Введите сюда краткую аннотацию» добавьте краткое описание текста. Если вам добавить нечего, тогда просто удаляете голубой текст.
К красному «1.0 – создание файла» добавляете ваше сетевое имя, например: «OCR, V 1.0 – создание файла – Ник», если хотите проявить скромность – удалите красный текст, а лучше оставьте как есть: данный текст относится к «истории версий», и, если кто-нибудь впоследствии будет вносить изменения в данный документ, ему не потребуется заново создавать history.
Внутри секции помеченной зеленой вертикальной линией щелкнете правой кнопкой мыши, выберете Выделить body(select body). В меню Вставка выберете Заголовок. Появляется горизонтальная зеленая линия – место для заголовка ко всему тексту. Сюда вставьте автора и заголовок, скопированные из исходного документа (обратите внимание: если автор и заголовок были выделены курсивом или полужирным, то их, bold и italic, лучше убрать).
Теперь копируем оставшийся текст и заменяем им в редакторе выделенное «Чтобы изменить документ по умолчанию, отредактируйте файл „blank. fb2“ вручную»
Если у Вас стоит Any to FB2 в меню Файл/Импорт щелкните по вставке ANY›FB2 dy GribUser – откроется окно:
Укажите путь к Вашему файлу txtdochtml, сбросьте все настройки и щелкните Import. После того, как увидите на вкладке Log фразу Export finished , нажмите кнопку Done. Документ передается в FBE и видно, что получилось при импорте.
Иногда, если вставлялся файл txt, в тексте появляется много пустых строк (бывает через одну). Убрать все пустые строки можно так. Нажмите кнопку S т. е. перейдите к коду книги. В меню Правка>Заменить вставьте в окно Найти следующий текст: <empty-line/>, окно Заменить оставьте пустым.
И нажмите Заменить все (уберет все пустые строки), или Искать далее и убирать по одной только ненужные.
Второй способ
Можно вставить текстовой файл на место, где стоит «Чтобы изменить документ по умолчанию, отредактируйте файл blank.fb2 вручную». Файл должен быть чисто тестовым. Картинки, ссылки и т. п. вставятся при редактировании и форматировании. Предварительно лучше создать свой шаблон, как указано в разделе «Особенности редактирования документов».
И наконец, можно создать Fb2-файл в ABBYY FineReader 11, или FBD(Fiction Book Designer) и доводить в FBE. Файл из этих программ обычно получается не валидным, поэтому начните с кнопки F8 и смотрите раздел Валидатор «ругается».
Теперь надо форматировать файл, как будет указано ниже.
Мы сейчас находимся в B – body, в том, что будет видно на экранах читалок. Теперь переходим в D – description, вставим информацию о тексте, которая хранится fb2-файлах отдельно.
Щелкаем «D», в открывшемся окне заполняем окошки необходимой информацией, как было указано выше. Помните, что Жанр, Автор, Название и Язык должны быть заполнены обязательно. Вместо Your и Name в авторе документа вставьте свой Ник. Возвращаемся в «B».
Если у Вас в книге есть деление на части и главы – выделяем заголовок части. Нажимаем Shift+Enter. Заголовок части (Title) очутился внутри зеленой полосы. А вертикальная зеленая полоса слева означает секцию. В книге их может быть несколько. Выделяем так каждую часть и форматируем их стилем заголовок. Если есть главы, выделяйте их также и форматируйте заголовком и их, нажимая Shift+Enter. Потом, слева в окне структура документа, выделяете все главы Части 1 (курсор на первой, потом с нажатым Shift щелчок на последней) и голубой стрелочкой внизу сдвигаете их в право. Получите вложенную структуру оглавления. Проделайте эту операцию для всех частей и глав.
Можно делать и несколько уровней. Эти заголовки в читалках составят оглавление. Надо вложить сначала «Часть+Глава» в Раздел, а затем уже Главу в Часть. При этом важно: между предыдущей секцией и первой вложенной не может быть пустой строки; там может быть только эпиграф или картинка (при этом не должно быть пустых строк). Если ошиблись запустите скрипт «Сброс структуры разделов» в разделе Структура разделов. Изменить subtitle на title (и наоборот), превращать subtitle и title в обычный текст можно скриптом «Обзор и превращение элементов» раздел Обработка форматирования.
Можно сделать чтобы в FBE в «Структуре документа» и в читалках, над раскрывшимся Содержанием вместо «body» стояло «Содержание» или «Оглавление».
Термин «Содержание» употребляется в научной, технической, научно-популярной литературе, в сборниках нескольких авторов, или одного автора, если в книге несколько произведений. В книге, где одно произведение, одного автора употребляется термин «Оглавление».
Нажмите S и найдите:
</description>
<body>
и замените на:
</description>
<body name=«Содержание»>
или
</description>
<body name=«Оглавление»>
Подразделы (подзаголовки-subtitle) в тексте – обычно * * *, выделяем Alt+S или нажав кнопку
. Эти подзаголовки в оглавление не войдут.
Выделяем эпиграф книги и нажимаем Ctrl+N. Текст становится синим. Выделяем автора эпиграфа нажимаем Alt+A. Текст становится коричневым. Если есть эпиграфы в разделах надо это проделать в каждой секции.
Эти же операции можно производить кнопками на панели или через меню Вставка и Стиль.
Если Вы где-то ошиблись вернуть можно нажав кнопку «Обычный текст»
.
Если есть стихи и цитаты выделите и их через меню Вставка.
Пустые строки вокруг заголовков можно убрать скриптом Разметка подзаголовков, чистка пустых строк(Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках) раздел Подзаголовки, пустые строки.
Проверяем орфографию нажав кнопку
.
У вас есть возможность при проверке:
— пропустить слово (один раз);
— пропустить все (все так же написанные слова);
— заменить слово на предложенное (или выбрать предложенное из списка Варианты);
— добавить слово в словарь (к сожалению без морфологии);
— заменить на слово, предложенное во второй строке — нажать на «Заменить», или самому изменить найденное с опечаткой слово;
— заменить все (Осторожно — могут быть другие случаи, например: входить в другое слово).
Если текст сканирован и распознан в FR нужно проверить его скриптом Поиск по набору регэспов и другими скриптами (см. ниже). Желательно проверить следующими скриптами: Управляемое исправление разрывов абзацев, Проверка иллюстраций, Унификация вложений и иллюстраций, Разметка подписей к иллюстрациям, Расстановка елочек и лапок, Разметка подзаголовков, чистка пустых строк, Пустые строки вокруг картинок, Унификация сносок (с удалением неиспользуемых секций сносок), Унификация комментариев (с удалением неиспользуемых секций комментариев).
Но даже после проверок скриптами и спеллчекером в тексте могут быть ещё ошибки, которые спеллчекер не заметит. Например: «блок-блох», «равный-разный» и т.п. Поэтому текст лучше вычитать.
С текстом вроде бы всё.
Вставляем картинки, таблицы, формулы, ссылки(примечания и комментарии). См. ниже.
Жмем галочку в меню
(или: F8) — Проверить. И внизу экрана, слева в информационном окне — появляется: Ошибок не обнаружено.
Заполняем описание книги (Description). Обязательно — Автор(ы), Название, Жанр и Язык, иначе файл будет не валидным.
Теперь сохраняем его: указываем куда, называем, кодировку выбираем – utf-8 или 1251 (В utf-8 больше символов, в 1251 файл меньше, но некоторые символы (в частности греческий, принесенный из Word и т. д.) в читалках могут отобразится знаком ?). Отрываем новый файл читалкой. Все в порядке? Поздравляю, Вы сделали вашу первую fb2-книгу!
Читайте также
Как закончить книгу
Как закончить книгу
Когда можно сказать себе, что повесть закончена? Без сомнения, не тогда, когда будет написана первая версия, хотя удалось мне встретить писательницу, которая все свои повести пишет сразу на бело. Онемевший от удивления, я не спросил тогда, как она это
Они считают, что мы делаем это им назло — форум мужских криков души
Они считают, что мы делаем это им назло — форум мужских криков души
— А что такое квантовая механика?
— Не знаю, видимо, это женщина-механик, которая чинит какие-то кванты.
Выражение «быт убивает любовь» ты слышала не раз. И разъяренного, причем без всякой на то причины,
Зачем мы делаем татуировки?
Зачем мы делаем татуировки?
Татуировки делали еще древние египтяне около 4 тыс. лет назад. В различные периоды времени они были популярны в Китае, Индии, Японии, Новой Зеландии и т. д. К XVI в. татуировки распространились в Европе. Еще тридцать лет назад наколки делали себе
Делаем косметический ремонт
Делаем косметический ремонт
В зависимости от трудоемкости работ и поставленных целей, вы можете осуществить в своем жилище либо капитальный, либо косметический ремонт.Первый, как правило, необходим в тех случаях, когда квартира или дом не обновлялись в течение
Зато мы делаем ракеты
Зато мы делаем ракеты
Из песни «Рассказ технолога Петухова» (1964), написанной журналистом, актером и исполнителем собственных песен Юрием Иосифовичем Визбором (1934—1984) для эстрадного спектакля актера Евгения Весника:
Зато мы делаем ракеты,
Перекрываем Енисей,
А также в
Делаем только то, что действительно необходимо
Делаем только то, что действительно необходимо
Едет «Запорожец» на станцию технического обслуживания, при этом постоянно дергается и подпрыгивает. Когда приезжает, механик сразу говорит:
— Ваш двигатель, я вижу, работает нестабильно, поэтому и машина дергается.
— Да
Глава 8 Итог Делаем выводы и «назначаем козырь»
Глава 8
Итог
Делаем выводы и «назначаем козырь»
Мы подошли к концу теоретической части книги, но меня по-прежнему беспокоит один вопрос. Я несколько переживаю, что мне удалось настолько убедить вас, что ключевой фактор – это подводная часть гребка, что вы, начав ее
Делаем джин-Мартини
Делаем джин-Мартини
Идеальный коктейль «Мартини» делается так: наливаем джин в стакан, а затем машем им в направлении Италии.
Ноэл Кауард
Есть те, кто говорит, что «Мартини» следует делать только с джином, а «Мартини» на водке – это злобный самозванец. Мне лично нравятся
Делаем выводы
Делаем выводы
1. Для начала вам стоит определить путь, по которому вы будете идти. Если вам легко дается набор мышечной массы, то старайтесь сосредоточиваться именно на ней, не особо «разъедаясь»; если вы легко сбрасываете жир, то можете сосредоточиться на наборе общей
Favicon – делаем сайт более заметным для пользователей
Favicon – делаем сайт более заметным для пользователей
Favicon – это значок сайта, который отображается в различных местах:• в адресной строке браузера перед URL веб-страницы;• в качестве картинки рядом с закладкой страницы;• перед описанием страницы в результатах поиска.Хотя
FictionBook Editor V 2.6 Руководство
Описание функций FB Editor
После запуска программы появляется рабочее окно. Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски. Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG и в режиме исходника, когда видны все теги и настоящая структура файла. Слева от главного окна находится панель Document Tree, в котором отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги. И внизу – служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора.
Пройдемся по пунктам меню. В меню File, кроме стандартных Создать(New), Открыть(Open), Сохранить(Save), есть команда Проверить(Validate) (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника, устанавливая курсор на 1-2 строки ниже «проблемной» строки. Пункт меню FileImport по умолчанию имеет один подпункт: «No import plugins installed». Плагины для импорта книг из других форматов в комплект FB Tools не входят. Но если вы установите пакет Any2FB2, то FB Editor сам обнаружит его, и соответствующая иконка появится в меню FileImport. Устанавливать Any2FB2 в одну папку с FB Tools для этого вовсе не обязательно. Пункт меню FileExport позволяет экспортировать книгу в формат HTML. Структура книги полностью сохраняется. Если вы установили пакет FB2Any, здесь появятся плагины для экспорта книги в txt, Rocket Book, MS Reader, iSilo.
Второй раздел меню – Edit – кроме типовых Отменить ввод(Undo-Redo), Вырезать(Cut), Копировать(Copy), Найти(Find), Заменить(Replace), содержит блок работы с элементами книги: Клонировать(Сlone), Разрезать(Split), Склеить(Merge) container и – специально для вложенных секций – Remove outer container. Ниже идут три подменю вставки элементов. В подменю Style собраны команды вставки элементов в пределах одного абзаца: Обычный(Normal), Автор текста(Text Author), Подзаголовок(Subtitle), Link, Footnote, Remove link. Подменю (Add) содержит команды вставки элементов, которые должны находиться строго в определенном месте: Тело(Body), Заголовок(Title), Эпиграф(Epigraph), Рисунок(Image) (вариант), Аннотация(Annotation), Цитата. В подменю Вставка(Insert) сгруппированы команды вставки элементов, которые, в принципе, могут находиться в произвольном месте книги: Рисунок(Image), Стихи(Poem), Cite. Последней идет команда Прикрепить(Add Binary object). Она позволяет присоединять к файлу книги картинки и бинарные файлы.
Следующий раздел меню – Вид(View). Сначала идут флажки отображения панелей – Панель инструментов(Toolbar), Link bar, Status bar, Doсument Tree. Под ними – выбор режима редактирования книги – Description, Body, Source. И последний пункт – Options. Здесь можно выбрать цвет фона, а также цвет, тип и размер шрифта для окна редактирования.
Раздел меню Сервис(Tools) содержит три пункта. Команда Слова(Words). К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис. Те слова, у которых в тексте книги есть варианты без дефиса, помечаются восклицательным знаком. В поле Replacement можно вводить варианты замены. Но после нажатия кнопки ОК программа заменяет только те слова, в которых нет русских символов. Options – здесь можно настроить параметры режима редактирования исходника. Wrap lines (сворачивать строки), Syntax highlighting (подсветка синтаксиса), Show end of line marks (показывать символы конца строки). И подменю 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 эти теги просто исчезают или преобразуются в обычные абзацы, как, например, таблицы. При редактировании текстов FB Editor позволяет вводить некоторые символы, отсутствующие на клавиатуре.
{Сtrl-} – «-» – короткое тире, полиграфический «минус».
{Ctrl=} – «-» – длинное (полиграфическое) тире.
{Ctrl[} – «‘» – левая верхняя одинарная кавычка.
{Сtrl]} – «’» – правая нижняя одинарная кавычка.
{Ctrl;} – «“» – левая верхняя двойная кавычка.
{Ctrl‘} – «”» – правая нижняя двойная кавычка.
{Ctrl›} – «…» – многоточие.
Поиск (EditFind (Ctrl+F)) и замена (EditReplace (Сtrl+H)) в FB Editor имеют стандартные функции Match Whole Word (найти слово целиком), Match case (различать регистр), поиска вперед и назад по тексту. Последний флажок – Regular expression – позволяет использовать при поиске и замене регулярные выражения. Подробнее см. в разделе «Использование регулярных выражений». В режиме редактирования исходника нельзя вводить пустые элементы. При возврате в режим WYSIWYG они не будут отображаться, а как только вы начнете редактировать текст в режиме WYSIWYG, вообще исчезнут. Нужно вставлять внутрь хотя бы элемент «пустая строка» ‹empty-line/›. Например:
Неправильно:
‹section›‹/section›
‹cite›‹/cite›
Правильно:
‹section›
‹empty-line/›
‹/section›
‹cite›‹p›Какой-нибудь текст‹/p›‹/cite›
Заполнение описания книги (Description)
Перед тем, как приступить к набору или редактированию текста книги, необходимо заполнить описание книги – Description. Это описание нужно для корректной работы библиотечного софта, но может быть интересно и читателю. Режим редактирования описания вызывается из меню View/Description. Окно редактирования имеет следующие разделы: Title Info, Document Info, Publisher Info, Custom Info и Binary Objects. В каждом разделе есть несколько граф.
В правой части большинства граф есть служебные кнопки. Кнопка с пересекающимися прямоугольниками позволяет дублировать графу. Кнопка с крестиком, напротив, удаляет ненужные дубликаты. Если графа существует в единственном экземпляре, кнопка неактивна. В разделе Title Info содержится основная информация о книге. Первым пунктом идет жанр произведения (Genres). Он должен быть выбран из фиксированного списка. Щелкните по кнопке с треугольничком и выберите нужный жанр из соответствующей группы. В этой же строке правее находится поле Match. Оно обозначает соответствие произведения выбранному жанру (в процентах). Например, в списке поджанров нет весьма популярного нынче «городского фэнтези». Поэтому оформляем его двумя жанрами: фэнтези и боевик. Сначала выбираем жанр Science Fiction amp; FantasyFantasy. Потом добавляем еще одну строку Genre и выбираем жанр Science Fiction amp; FantasyAction. После Genres идет графа Authors – информация об авторе книги: First (имя) Middle (отчество), Last (фамилия), Nick (ник), Email (адрес электронной почты), Homepage (адрес сайта). Следом идет Book title (название книги), Keywords (ключевые слова), Date (дата написания (не выпуска!)) в произвольном формате (например, «2001-2005 г., Переделкино»). В поле Value тоже вводится дата (обычно окончания работы над книгой), но строго в компьютерном формате ГГГГ-ММ-ДД (например, 2006-07-22).
Coverpage. Картинка обложки. В поле Image вводится ссылка на картинку обложки. Сама картинка присоединяется к файлу командой EditAdd Binary object (скрепка на панели инструментов). Затем копируем имя файла из поля ID появившейся в разделе Binary Objects новой графы в буфер и вставляем в поле Image графы Coverpage. Перед именем нужно добавить символ «#». Не следует делать картинку обложки слишком большой. Обычно высота картинки должна быть 250-320 пикселей, ширина – пропорционально. Размер файла JPG не должен превышать 30 Kb. Language – язык книги. Для русского пишем «ru».
Следует знать, что в описании книги жизненно необходимыми являются два пункта: Genre и Language. Если они не заполнены или заполнены неправильно, то валидатор FB Editor ругается при попытке сохранить книгу. А что самое неприятное – если вам понадобилось отредактировать «исходник», то валидатор просто «не выпустит» из режима редактирования Source до тех пор, пока указанные поля не будут заполнены правильно. Поэтому первым делом необходимо заполнить эти элементы. С остальными можно разобраться и попозже.
Source language – исходный язык, если книга переводная. В противном случае оставляем пустой.
Translators – переводчик. Если книга не переводная, оставляем пустыми. Иначе заполняем таким же образом, как и графу Authors: фамилия, имя, отчество и т. д.
Sequence – если книга входит в серию, то в поле Name вводим название серии, а в поле Number – порядковый номер в серии. Обратите внимание, что в правой части строки перед кнопкой дублирования есть кнопка с треугольничком. Она позволяет создавать вложенные серии. К примеру, основная серия – «Звездные Войны», вложенная серия – трилогия «Адмирал Траун».
Раздел Document Info содержит информацию о самой книге.
В строку Authors вводим информацию о человеке, создавшем этот документ. Аналогично ранее заполнявшимся Authors и Translators.
Programs used – программное обеспечение, использованное при создании книги. Обычно FB Editor сам пишет там – FB Tools. Если вы использовали какие-нибудь дополнительные утилиты, можно упомянуть их там.
Заполнение полей Date и Value аналогично таким же полям в Book Info.
Source URLs – если исходный текст для создания книги был скачан с какого-нибудь сайта, здесь нужно указать ссылку на него.
Source OCR – если книга было отсканирована, то здесь указываем данные (обычно ник) сканериста, а также человека, производившего вычитку. Страна должна знать своих героев!
ID – уникальный номер документа. Обычно генерируется самим FB Editor’ом или программой конвертации.
Version – номер версии книги. Обычно это 1.0. В случае внесения изменений номер версии нужно изменять вручную.
Следующий раздел – Publisher Info. Здесь собрана информация о бумажном оригинале книги, если таковой существовал.
Book name. Обычно совпадает с названием произведения, но если оно было издано в составе сборника, то здесь следует указывать название сборника.
Publisher – название издательства.
City – город, в котором была выпущена книга.
Year – год выпуска.
ISBN – код ISBN.
Sequence – название печатной серии. «Библиотека приключений», например, или «Абсолютное оружие». Также допускает вложенные серии.
В раздел Custom Info может вноситься произвольная дополнительная информация. Копирайт, благодарности, реклама и т. д., и т. п. вплоть до мистических проклятий средневековых переписчиков: «Кто эту книгу украдет, у того руки отсохнут» (современный вариант – винчестер накроется).
Раздел Binary Objects заполняется автоматически по мере присоединения к книге бинарных объектов, обычно картинок. Щелкая по кнопке с крестиком и удаляя графы в этом разделе, вы одновременно удаляете присоединенные объекты.
* * *
В приведенном выше отрывке из статьи Юзича «Делаем книги в формате FictionBook» достаточно полно описываются возможности редактора FictionBook Editior из пакета FB Tools, но все сказанное применимо и к его клону от Pilgrim’а, и к FBE 2.0. Не упомянуто лишь немного из нововведений и улучшений: вставка таблиц (не совсем удобная, но хоть что-то); таки вправлены мозги фишке «Слова-слова» для поиска слов, написанных через дефис; редактирование структуры книги кнопками (внизу соответствующей левой боковой панели) или просто перетаскиванием (!!!); удобное группирование скриптов в меню; настройка комбинаций горячих клавиш и многое другое, не столь очевидное, но стабильность из-за этого на столько повысилась, что придётся изрядно попотеть, чтобы завалить редактор…
Посмотреть и изменить «Горячие клавиши» можно в «Настройки» – «Клавишии».
Делаем книгу
У вас есть рассказ или статья, которые вам понравились, и вы хотите, чтобы и другие смогли прочитать. Вы, конечно же, обнаружили в тексте опечатки и исправили их, а, так же, отформатировали его (как подготовить текст к переносу в fb-редактор?).
В FBE вместо голубого «Введите сюда краткую аннотацию» добавляете краткое описание текста. Если вам добавить нечего, тогда просто удаляете голубой текст.
К красному «1.0 – создание файла» добавляете ваше сетевое имя, н.п.: «1.0 – создание файла – Ja_esm», если хотите проявить сверхскромность – удалите красный текст, а лучше оставьте как есть: данный текст относится к «истории версий», и, если кто-нибудь впоследствии будет вносить изменения в данный документ, ему не потребуется заново создавать history.
Внутри секции помеченной зеленой вертикальной линией щелкнете правой кнопкой мыши, выберете select body. В меню / Вставка выберете Заголовок. Появляется горизонтальная зеленая линия – место для заголовка ко всему тексту. Сюда вставьте автора и заголовок, скопированные из исходного документа (обратите внимание: если автор и заголовок были выделены курсивом или полужирным, то их, bold и italic, лучше убрать).
Теперь копируем оставшийся текст и заменяем им в редакторе выделенное «Чтобы изменить документ по умолчанию, отредактируйте файл «blank.fb2» вручную»
Мы сейчас находимся в B – body, в том, что будет видно на экранах читалок. Теперь переходим в D – description, информацию о тексте, которая хранится fb2-файлах отдельно.
Щелкаем «D», в открывшемся окне заполняем окошки необходимой информацией, здесь, вроде бы, все интуитивно понятно. Помним, что Жанр, Название и Язык должны быть заполнены обязательно. Не забываем удалить Your и Name в авторе документа, автор документа вы, и вряд ли вас зовут Your Name. Возвращаемся в «B».
Хоть ваш исходный текст и простой, не содержит деления на части и главы, но, все же, одна часть текста отделена от другой прямой линией. Линия не лучший разделитель в fb2-документах, ее лучше заменить тремя звездочками. Создав новый разделитель, выделите его и щелкните *** в правой части меню (или: Alt+S). Вы создали subtitle, и хоть в этой версии редактора он остался приклеенным к левому краю экрана, помните, что в читалках он будет находится в центре строки. Если у Вас есть деление на главы. Выделяем заголовок главы. Нажимаем Shift+Enter. Заголовок главы (Title) очутился внутри зеленой полосы. А вертикальная зеленая полоса слева означает секцию. В книге их может быть несколько. Выделяем так каждую главу.
Параграфы (подзаголовки-subtitle) выделяем Alt+S или нажав кнопку
Выделяем эпиграф нажимаем Ctrl+N. Текст становится синим. Выделяем автора эпиграфа нажимаем Alt+A. Текст становится коричневым.
Эти же операции можно производить кнопками на панели или через меню.
Если Вы где-то ошиблись вернуть можно нажав кнопку «Обычный текст»
Проверяем орфографию нажав кнопку
С этим текстом вроде бы всё.
Вставка рисунков и обложки
Рисунки вставляют в форматах JPG или PNG. Минимальный размер рисунков 240 на 320, максимальный 400 на 600. Очень редко, если карты, можно применять 800 на 600. Размер маленьких рисунков надо подбирать индивидуально. Картинки очень увеличивают размер файла книги. Рисунки следует подготовить и разместить по порядку размещения в одном каталоге. При большом количестве иллюстраций, перед тем, как вставить картинки, можно убрать из JPG служебную информацию. Например программой, PureJPG. Цветные рисунки надо использовать не более 64 цветов, а иногда и 16.
Иногда полезно сделать некоторые участки рисунка прозрачными. Например углы у круглой картины.
Это можно сделать в Photoshop. Для того, чтобы сделать прозрачные области в рисунке, надо создать 2 слоя: нижний прозрачный фоновый слой и верхний видимый слой, на котором удалить ненужные участки изображения.
1. Открываем Photoshop. Открываем в нем, рисунок (File->Open).
2. Выделяем все изображение (Ctrl+A).
3. Копируем выделенную картинку (Ctrl+C).
4. Открываем в Фотошопе новый файл (File->New, или Ctrl+N). В появившемся окне в самом нижнем выпадающем списке выбираем значение Transparent – «прозрачность».
Нажимаем Enter и видим, что Photoshop создал новый файл с фоном, состоящим из бело-серых квадратиков. Такими квадратиками в Фотошопе обозначаются полностью прозрачные области.
5. Вставляем в новый файл с прозрачным фоном ранее скопированное изображение Ctrl+V. В результате в текущий, полностью пустой и прозрачный слой будет вставлено ранее скопированное изображение.
6. Выделить область, которую нужно удалить с помощью обычных инструментов выделения (М), или с помощью «волшебной» палочки (W):
Нажть клавишу Delete и вместо выделенных фрагментов появятся бело-серые квадратики – эта область будет прозрачной. Сохранить изображение в формате Png, поддерживающим прозрачность.
Вставка рисунка
Установить курсор на место вставки первого рисунка. В меню «Вставка» щелкнуть «Рисунок», или Ctrl+M. В открывшемся окне «Вставить пустой рисунок» — убрать «галочку» в окошке «Показывать это окно» (больше показываться не будет, а выйдет сразу в файловое меню) и щелкнуть «Нет». В открывшемся файловом меня найти первый рисунок, щелкнуть «OK». Первая картинка вставлена.
Вставка обложки
Для вставки обложки. В меню «Вставка» щелкнуть «Прикрепить». В открывшемся файловом меню найти рисунок обложки, щелкнуть «OK». Рисунок вставится в конце файла. Щелкнуть кнопку «D» и перейти в Дескриптор. Щелкнуть в окошке «Обложка Изображение» и в отрывшемся окне щелкнуть по файлу обложки. Обложка вставлена.
Вставка рисунка в текст
Иногда нужно вставить рисунок в текст. Так вставлены в этом руководстве кнопки и иконки. Установить курсор в тексте на место вставки рисунка. В меню «Вставка» щелкнуть «Рисунок в текс», или Alt+M. В открывшемся окне «Вставить пустой рисунок» — убрать «галочку» в окошке «Показывать это окно» (больше показываться не будет, а выйдет сразу в файловое меню) и щелкнуть «Нет». В открывшемся файловом меня найти рисунок, щелкнуть «OK».
Жмем галочку в меню (или: F8) – Проверить. И внизу экрана появляется: Ошибок не обнаружено. Теперь сохраняем его: указываем куда, называем, кодировку выбираем – utf-8. Отрываем новый файл читалкой – все в порядке? Поздравляю, вы сделали вашу первую fb2-книгу! (Ну и пусть это только рассказ или статья – в библиотеках любой файл называют книгой).
Работа со скриптами
Если скрипты в установленной версии отсутствуют или обновить версию скриптов можно отсюда:
http://scripts.fictionbook.org/
Вставка иконок скриптов в панель инструментов
Щелкнуть два раза мышкой в панели инструментов.
В появившемся меню «Настройка панели инструментов» «Имеющиеся кнопки» установить курсор на требуемую иконку и нажать OK. Кнопка появится на панели инструментов. Кнопки между собой ,для наглядности, можно разделять Разделителем. Кнопки лучше расположить группами по каталогу скриптов. Между группами расположить по два Разделителя.
Некоторые скрипты не имеют иконок, а некоторые имеющиеся иконки не выразительны. Иконки можно создать самому в графическом редакторе. Например начертить в Visio. Иконки чертить в квадрате 32х32 мм с сеткой 1-2 мм. Заливку квадрата сделать неярким цветом не мешающим рассмотреть рисунок иконки. Созданный рисунок сохранить в формате JPG. Затем в IrfanViev изменить размер до 32 на 32 пикселя и сохранить в формате ICO в каталоге, где расположен скрипт. . Название иконки должно точно соответствовать названию скрипта.
Вот некоторые из сделанных иконок:
03_Добавление сноски со вводом ;
04_Добавление комментария с переходом ;
04_Добавление сноски с переходом ;
06_Интерактивная ликвидация разрывов абзацев ;
525_Разметка подзаголовков, чистка пустых строк ;
Поиск по набору регэкспов ;
04_Предложение ;
Расстановка сносок из скобок
Номера сносок необходимо предварительно расставить в скобки. Например {1}, [1]. Скобки должны быть выбраны такие которые не встречаются в тексте книги. Щелкам мышкой по меню «Скрипты». Находим нужный скрипт «Примечание из {…} или […]. Жмем на нужный. Скрипт отрапортует, что все, что мог сделал – остальное вручную. Проверяем все ли сноски отмечены и не отметил ли чего ненужного. При необходимости исправляем и повторяем. В самом конце книги появятся пустые зеленые строки примечаний. Текст самих примечаний лучше предварительно собрать в конце книги. Аккуратно переносим текст каждого примечания в свою строку под зеленой строкой с номером примечания. Номер примечания в строке нужно убрать. После вставки последнего примечания убираем оставшийся мусор. В меню «Скрипты» – «добавление примечаний» – находим скрипт «Текст сносок». После нажатия он проверит сноски на ошибки. После проверки в меню «Скрипты» находим скрипт «Унификация сносок». Это последняя операция. Сноски добавлены. Сохраняем файл.
Расстановка примечаний со вводом
Примечания выделенные звездочкой типа: «На расстоянии в 200 парсеков …*
* Парсек расстояние проходимое ….»
Если примечаний не много можно использовать скрипт «Примечание со вводом». Вырезать текст сноски без звездочки. Курсор ставим на место будущей сноски. Т. е. на место первой звездочки. В меню «Скрипты» находим «Добавление примечания» – «Добавление соски со вводом» Щелкам мышкой. В появившемся окне добавляем скопированный текст. Жмем «OK». FBE сообщит, что сноска добавлена. Жмем «OK». Убираем оставшийся мусор. В результате появилась аккуратная ссылка – [1]. В конце документа появилось новое «Примечание» с текстом.
Добавление сносок и комментариев v2.6
Как известно, людям, готовящим книги, иногда бывает нужно добавить сноску среди уже существующих, при этом требуется ручная работа, т. к. регэкспы не могут выполнять требуемые арифметические действия.
Что делает скрипт.
1. Добавляет body примечаний, если его нет.
2. Добавляет заголовок body примечаний, если его нет. Если есть – оставляет без изменений.
3. Изменяет ID секций примечаний.
4. Изменяет заголовки секций примечаний.
5. Меняет адреса как сносок, так и простых ссылок, которые указывают на секции примечаний.
6. Меняет текст сносок (у простых ссылок остается как было).
7. Добавляет новую секцию примечаний.
8. Добавляет новую сноску с правильными адресом и текстом.
Как использовать скрипт? Нужно стать на позицию в тексте, где должна появиться ссылка на примечание, и запустить скрипт. Остальное делается автоматически.
Детали алгоритма. Номер вставляемого примечания определяется по номеру примечания, расположенного перед вставляемым. Остальные не анализируются. Т. е. если вставляем после сноски, связанной с третьей секцией боди примечаний, новая сноска получит номер четыре и будет связана с четвертой секцией в боди примечаний. Если вставлять новую сноску после сноски, которая не связана ни с какой секцией в теле примечаний, скрипт сообщит об ошибке.
Новые адреса и тексты ссылок генерируются не по порядку их размещения в тексте, а вычисляются по тому, с какими секциями связаны ссылки. Другими словами, связь ссылки и секции сохраняется независимо от порядка их расположения.
Секции примечаний нумеруются с единицы для первой секции.
Заголовки в секции примечаний добавляются независимо от исходного их наличия/отсутствия.
Ограничения. Скрипт не понимает вложенные (более одного уровня вложения) секции в боди примечаний. В случае, если встречаются секции второго или более уровня вложения, скрипт выдаст предупреждающее сообщение и прервет свою работу.
Настройки. В начале файла скрипта расположены определения констант, которые задают шаблоны для называния заголовков, для текста ссылок и пр. Соответственно при необходимости их можно поменять. Макрос %N задает номер секции примечания, остальное трактуется как просто текст.
В данный набор скриптов входят следующие подверсии:
1. Добавление сноски
2. Обработка сносок
3. Добавление сноски со вводом
4. Добавление сноски с переходом
5. Добавление последней сноски
6. Добавление последней сноски со вводом
7. Добавление последней сноски с переходом
8. Унификация комментария
9. Унификация комментариев
10. Добавление комментария со вводом
11. Добавление комментария с переходом
12. Добавление последнего комментария
13. Добавление последнего комментария со вводом
14. Добавление последнего комментария с переходом
15. Унификация сносок (с удалением неиспользуемых секций сносок)
16. Унификация комментариев (с удалением неиспользуемых секций комментариев)
Видно, что есть скрипты, которые работают с так называемыми «сносками», а есть которые с «комментариями». Что тут имеется в виду? А имеется тут в виду то, что можно работать одновременно с двумя потоками сносок, различающихся вот чем. Во-первых, «сноски» располагаются в ‹body name=»notes»›, а «комментарии» – в ‹body name=»comments»›. Во-вторых, текст ссылок-«комментариев» скрипт выделяет тегом ‹sup›, чего не происходит со «сносками». Это нужно для того, чтобы «комментарии» в тех читалках, где нет специальной их поддержки, отображались как верхний индекс. Третье – по умолчанию ссылка «сноски» имеет такой вид: [1], в то время как ссылки «комментариев» оформляются следующим образом: {1}. То есть для «комментариев» используются фигурные скобки, а не квадратные, таким образом можно зрительно различать тип сноски при чтении книги. Четвертое различие состоит в том, что по умолчанию id секций «сносок» имеют вид i_1, а «комментариев» – c_1. Соответственно этому различаются и адреса ссылок.
Скрипты 1 и 8 («Добавление сноски» и «Добавление комментария») добавляют простую сноску или комментарий, и больше ничего не делают – курсор оказывается в позиции сразу за добавленной ссылкой сноски.
Скрипты 2 и 9 («Обработка сносок/комментариев») отличаются тем, что не производят добавление сноски или комментария, но при этом производят перенумерацию и всяческую обработку уже имеющихся сносок/комментариев.
Скрипты 3, 6, 10 и 13 («…со вводом») позволяют после генерации пустой сноски в соответствующем бади ввести ее текст в появившемся окошке. Можно использовать различные теги, как fb2- (‹emphasis›, ‹strong› и пр.) так и теги html (‹b›, ‹i› и пр.). html-теги тоже будут преобразованы в fb2-теги, но их может быть удобнее использовать вследствие краткости, и, следовательно, большей быстроты их набора на клавиатуре. После того, как текст будет введен в окошке и сноска создана, курсор окажется в позиции сразу за свежесозданной ссылкой сноски.
Скрипты 4, 7, 11 и 14 («…с переходом») работают так, что совершаются все перенумерации, создается сноска с пустым телом, а потом в начало этого тела сноски (но после заголовка) перемещается курсор. Бывает удобно вставить текст сноски в буфер обмена, потом запустить скрипт «…с переходом» и сделать paste из буфера.
Скрипты 6, 7, 13 и 14 («Добавление *последней* сноски/комментария…») позволяют добавлять сноску только ниже по документу, чем расположена последняя сноска из уже имеющихся. Данные скрипты не производят перенумерацию ссылок и секций (т. к. при добавлении *последней* сноски в этом нет нужды), за счет чего происходит ускорение работы скрипта. Детали работы этого скрипта, я, честно говоря, сам восстанавливаю в памяти не без труда, если еще чего вспомню, то напишу.
Скрипты 15 и 16 («Унификация… с удалением неиспользуемых секций…») производят унификацию сносок либо комментариев, при этом секции сносок или комментариев, на которые нет ссылок, удаляются.
Примечания и комментарии из скобок v2.2
Бывает так, что в книге примечания сделаны прямо посреди основного текста книги, а не вынесены в отдельные секции в ‹body name=»notes»›. В таком случае может быть удобней не переносить примечания в ‹body name=»notes»› по одному, а пометить начало и конец каждого примечания (посреди текста книги) последовательностью определенных символов (такая последовательность в рамках письменного и устного общения насчет данного скрипта условно называется «скобкой»), а потом сгенерировать все (корректно оформленные) сноски сразу. Именно для такого случая и сделан данный набор скриптов.
В архиве имеются следующие скрипты:
1. Примечания из []
2. Примечания из {}
3. Примечания из [!!]
4. Примечания из [~ ~]
5. Примечания из скобок, заданных регэкспами
6. Примечания из скобок, заданных простым текстом
7. Комментарии из []
8. Комментарии из {}
9. Комментарии из [!!]
10. Комментарии из [~ ~]
11. Комментарии из скобок, заданных регэкспами
12. Комментарии из скобок, заданных простым текстом
Про разницу между «Примечаниями» и «Комментариями» можно прочитать в описнии скрипта «Добавление сносок и примечаний».
Скрипты 1-4 и 7-10 используют жестко заданные «скобки», какие именно – указано в названиях скриптов (сначала открывающая, а затем закрывающая).
Скрипты 5 и 11 («…из скобок заданных регэкспами») позволяют задать отдельно регэксп для открывающей и закрывающей «скобок», и по этим регэкспам скрипт ищет скобки и извлекает сноски.
Скрипты 6 и 12 («…из скобок, заданных простым текстом») позволяют ввести две строковые последовательности в одном окошке (через пробел), и эти последовательности скрипт при работе будет считать за открывающую и закрывающую скобки.
Начиная с определенной версии, в поисках примечаний скрипт обрабатывает все body, которые есть в книге, причем он просматривает их целиком, выделение текста перед запуском скрипта не учитывается.
Скрипты данного набора имеют такой недостаток, что если внутри многосимвольной «скобки» в тексте книги есть какой-то тег (например, используется скрипт «Примечания из [!!]» и открывающая скобка имеет в fb2 вид [‹emphasis›!), то такая скобка не будет обнаружена скриптом. По этой причине односимвольные «скобки» предпочтительнее многосимвольных. Если вам все же приходится использовать многосимвольные, то после обработки скриптом нужно сделать поиск «скобки» по тексту в режим «Дизайн» (в случае приведенного примера искать нужно [! и!]), подправить случаи, где тег оказался внутри «скобки», и запустить скрипт заново.
Приятной фичей является то, что скрипт умеет извлекать из «скобок» не только однострочные, но и многострочные примечания.
Заголовки картинок в подписи v1.1
Скрипты данного набора создает под всеми картинками документа подпись (не графикой, текстом) на основе текста из атрибута title картинки, после чего этот атрибут удаляется. Перед создаваемой подписью скрипт не вставляет пустую строку, после – вставляет.
В архиве пять скриптов:
1. Заголовок картинки в подпись (strong)
2. Заголовок картинки в подпись (emphasis)
3. Заголовок картинки в подпись (subtitle)
4. Заголовок картинки в подпись (subtitle, strong)
5. Заголовок картинки в подпись (subtitle, emphasis)
Слова в скобках описывают, какими тегами будут выделены новосозданные подписи.
По завершении работы скрипт отображает статистику: сколько всего встретилось картинок, сколько заголовков было заменено на подпись.
Интерактивная ликвидация разрывов абзацев v3.0
Иногда в исходнике книги, который приходится использовать для создания fb2, встречаются разрывы абзацев, запятые вместо точек в конце абзацев (при этом абзац кончается на маленькую букву) и прочие неправильности. Данный скрипт призван решить данную проблему (хотя бы частично). Он просматривает весь документ, анализирует пары абзацев текста, расположенные рядом друг с другом, и проверяет конечные символы первого (считая от начала документа) абзаца и начальные символы второго абзаца каждой такой пары на то, допустимая ли это комбинация.
На первом этапе после запуска скрипта нужно задать настройки, согласно которым будет происходить отлов различных комбинаций конца одного абзаца и начала другого. Настройка «Ручной выбор», если она установлена, предписывает скрипту запоминать пару абзацев с указанной разновидностью комбинации конечных и начальных символов для последующего ручного выбора варианта обработки. В этом случае выбранный в окне предварительных настроек вариант обработки станет вариантом по умолчанию в окне ручной обработки. Если же опция «Ручной выбор» не установлена, для данной комбинации будет происходить автоматическая обработка согласно выбранному варианту.
Нажатие «ОК» запускает второй (неинтерактивный) этап – автоматическую обработку и поиск спорных случаев для ручной обработки. Это может потребовать заметного времени, зависит от размера документа, количества абзацев, количества найденных для ручной обработки случаев и, может, от чего-то еще.
На третьем этапе возникает окно с собранными непонятными случаями. В этом окне отображаются пары абзацев (порой с окружающим их текстом впридачу), и подсвечены символы, из-за которых данная пара абзацев направлена на ручную обработку. И можно, выбрав радиокнопку (круглую кнопку), выбрать вариант исправления данной пары абзацев. Если ваша мышь имеет колесико прокрутки, то крутить колесико и кликать по радиокнопкам достаточно комфортное занятие.
Как разложить файлы скрипта по папкам.
1. js-файл следует разместить в папке скриптов, выбранной в настройках FBE.
2. htm-файлы в подпапке HTML папки редактора, чей exe-файл будете запускать. Создайте эту подпапку, если ее нет.
3. css-файлы в поддиректории CSS каталога редактора, чей exe-файл будете запускать. Под именем «удаление разрывов_main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «удаление разрывов_add.css», редактируя строку
ac {background-color: red; color: white;}
можно настроить стиль подсветки (во время третьего этапа) символов, из-за которых пара абзацев направлена на ручную обработку.
Разметка подзаголовков, чистка пустых строк v3.2
Скрипт превращает код вида
‹p›***‹/p›
‹p›* * *‹/p›
‹subtitle›***‹/subtitle›
‹title›‹p›***‹/p›‹/title›
‹title›‹p›* * *‹/p›‹/title›
в
‹subtitle›* * *‹/subtitle›
Вместо трех звездочек в перечисленных случаях может быть и несколько другой текст. Вопрос, стоит ли исходя из вида строки делать ее сабтайтлом, решается с помощью такого регэкспа:
^(|)**((|)*(*))?((|)*(*))?(|)*$
Если объяснять словами, строка может содержать от одной до трех звездочек с любым количеством простых или неразрывных пробелов до, между и после них. Анализируется строка без учета тэгов, т. е. форматирование не влияет.
Пустые строки (далее – ПС) непосредственно перед и непосредственно после подзаголовков (всех) удаляются. В случае с ‹title› разрыв секции перед этим тэгом ликвидируется. По информации от jurgennt’а преобразование title – › subtitle может быть опасно для файлов, где используется заголовок (не стиха, а простой) из трех звездочек, чтобы «одноименное» стихотворение попало в оглавление.
Также удаляются тэги ‹empty-line/› в начале и конце секции («в начале» в данном случае значит не только сразу после ‹section›, но и после ‹title›, ‹epigraph› и пр.).
Удаляются ПС перед и после тэгов ‹cite› и ‹poem›.
Последовательности из нескольких ПС заменяются на одну ПС.
Удаляются ПС внутри ‹poem›, т. к. они препятствуют валидности документа. ПС внутри тегов ‹title› также удаляются.
ПС, нужные для того, чтобы секция была валидной, не удаляются при описанных выше действиях скрипта.
За ПС во всех указанных случаях считаются: абзацы, которые из чисто текстового содержимого (не считая тэгов) либо не имеют вообще ничего, либо представляют комбинацию произвольного количества пробелов и неразрывных пробелов; тэги ‹empty-line/›.
Некоторые подверсии скрипта умеют удалять жирность и курсив в заголовках.
Всего подверсий скрипта в архиве – четыре:
1. Разметка подзаголовков, чистка пустых строк
2. Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках
3. Разметка подзаголовков, чистка пустых строк; удаление жирности в заголовках по запросу
4. Разметка подзаголовков, чистка пустых строк, удаление жирности и курсива в заголовках
Слова «…по запросу» в названии третьего скрипта означают то, что при запуске скрипта выскакивает окошко, в котором можно выбрать, удалять жирность в заголовках или нет.
Пустые строки вокруг картинок v1.4
Скрипт позволяет либо удалить пустые строки рядом с картинками, либо сделать по одной пустой строке с каждой стороны от картинок. Выбор, что делать, производится с помощью диалогового окна. Где не надо (в начале секции, в конце секции, перед и после cite и poem и т. п.) пустые строки рядом с картинками не добавляются, если только такое добавление не требуется для валидности.
Удаление неиспользуемых вложений v1.0
Скрипт удаляет вложения, на которые ни ссылается ни одна картинка. Зачем это может быть нужно – предлагаю вам самим придумать.;-)
Ссылочные переходы v1.6
Этот набор скриптов представляет собой замену встроенной в FBE функции перехода по ссылке и обратно.
В наборе три скрипта:
1. Переход по ссылке
2. Возрат на ссылку
3. Переход по ссылке или возврат на ссылку
Первый скрипт переходит по ссылке, которая находится под или рядом с курсором. Второй переходит к первой от начала документа ссылке, указывающей на секцию, находящуюся под курсором. Третий скрипт переходит по ссылке, если она есть под или рядом с курсором, в противном случае пытается совершить возрат на ссылку, которая ссылается на секцию, в которой находится курсор.
Скрипты универсальны в том плане, что не заточены только под ссылку «сноски» или только под ссылку «комментария», а работают (теоретически) для всех вариантов локальных ссылок.
Кроме того, в отличие от встроенного в FBE перехода, мой скрипт переходит по ссылке, если курсор стоит слева или справа от нее, что дает возможность совершать переход даже если текст ссылки состоит из одного символа.
Таблица символов v1.2
Этот скрипт – заготовка, которую перед использованием нужно настроить под себя. Если это сделать, скрипт будет при запуске выводить таблицу символов, клик по которым делает так, что они вставляются в текст редактируемой книги.
Размер окна с таблицей символов настраивается в js-файле, поменять значения в этих строках:
var dialogWidth=»300px»; //ширина окна таблицы символов
var dialogHeight=»300px»; //высота окна таблицы символов
Размер таблицы (измеряемый в клетках) настраивается в html, вот это место:
var tableX=3; //количество столбцов в таблице символов
var tableY=3; //количество строк в таблице символов
Символы для таблицы задаются в приведенной ниже строке, указывать их можно как непосредственно, так и в форме html-сущностей (entities):
var charStr=»12345 amp;gt; amp;lt; amp;nbsp; amp;#160;»;
Чтобы задать символ ударения, нужно написать два символа: «amp;#160; amp;#769;», в скрипте на этот случай предусмотрен специальный код. Если понадобится, чтобы в таблице был знак меньше «‹» или больше «›», то записать их следует как amp;lt; и amp;gt; соответственно. Неразрывный пробел можно записать как amp;#160; либо amp;nbsp;. Других именованных сущностей, кроме названных, скрипт не понимает, поэтому прочие символы можно кодировать только сущностями с Unicode-кодом символа.
Всплывающие подсказки настраиваются изменением этой строки:
var titleStr=»Единица|Двойка|Тройка|Четверка|Пятерка|Больше|Меньше|Неразрывный пробел|Неразрывный пробел»;
Можно использовать другой (но тоже односимвольный) разделитель вместо pipe – «|» – изменив вот эту строку:
var dividerChar=»|»;
Шрифт ячеек таблицы задается в этой строке:
td {font-family: Tahoma; font-size:16px;}
Скрипт работает в немодальном окне, то есть окно скрипта после запуска висит параллельно окну редактора, не мешая (если не заслонять:-) работе в последнем.
Для успешного старта скрипта html-файл из архива следует положить в папку Cmd или Scripts (какая есть) той версии редактора, исполняемый файл которого запускаете. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Унификация вложений и картинок v1.2
Скрипт
переименовывает вложения соответственно порядку следования ссылок на них в теле документа. Если на вложение ссылается несколько картинок, берется номер первой из них. Первое нумеруемое вложение получает номер 1. По умолчанию новое имя файла (без учета расширения) выглядит как «i_001» (можно настроить префикс имени, т. е. то, что будет вместо «i_», и количество цифр, до которого следует дополнять номер); расширение получается из поля content-type бинарника:.jpg для image/jpeg и. png для image.png.
Вложения, на которые нет ссылок, переименовываются по другому алгоритму. К их имени дописывается префикс (конкретный вид его можно настроить) «unused_». Если вложение уже имеет такой префикс, второй раз он не добавляется. Случается иногда ситуация, что уже есть вложение например unused_a.png, есть вложение a.png, и т. к. на последнее нет ссылок, оно тоже по идее должно стать unused_a.png. Получалось бы запрещенное дублирование id вложений, поэтому такая ситуация решена дописыванием постфикса вида «_0» (число меняется по необходимости) к имени вложения.
Вложению обложки дается имя cover, вложению обложки оригинального издания cover_src (настраиваемо путем редактирования параметра в файле скрипта). Расширение дается согласно content-type. Если в качестве обложки ничего не выбрано, и есть вложение с именем «cover.jpg» или «cover.png», это вложение делается обложкой. Аналогично для обложки ориг. издания, только искомое вложение должно называться «cover_src» + расширение.
Потом вложения сортируются в таком порядке: обложка; обложка оригинального издания; пронумерованные картинки; вложения, на которые нет ссылок.
Атрибут href у картинок изменяется с тем, чтобы картинки оставались связаны со своими вложениями несмотря на смену id.
По окончании обработки выводится статистика, в том числе перечни: картинок, для которых нет вложений; вложений, на которые нет ссылки; картинки с нелокальными ссылками; список вложений с content-type не image/jpg, не image/png. Т. е. попутно скрипт можно использовать как проверку картинок.
Есть пара известных проблем. Во-первых, после работы скрипта перестает появляться выпадающий список при редактировании атрибута href картинки. Во-вторых, в некоторых случаях не срабатывает встроенное обновление картинок, и выводится старая картинка вместо новой, хотя связь «картинка – › бинарник» соблюдена верно.
Обновление картинок и списков обложек v1.0
Бывает, удалишь несколько вложений, потом вставишь на их место новые с теми же названиями, а картинки в режиме «Дизайн» редактор не обновляет – остаются видны старые. Или меняешь руками id вложений в режиме редактирования описания (description’а) книги – тот же эффект. Выпадающие списки для выбора картинки обложки тоже не обновляются. В этом случае и пригодится данный скрипт. (Но все-таки, кажется, и со скриптом срабатывает не всегда.)
Удалить все вложения из книги v1.3
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Тест сносок v1.2
Скрипт проверяет порядок расположения ссылок-сносок и их правильность. Определяет, кажется, все возможные ошибки. Является аналогом скрипта «Проверить ссылки», который стандартно идет с FBW, но работает быстрее (сравните: N*N операций в случае скрипта FBW и N операций в случае «Теста сносок»). К тому же определяет больше ошибок.
Ограничение: поддерживается только стандартный формат оформления сносок (когда каждая сноска представлена секцией в ‹body name=»notes»› и ссылки сносок ссылаются именно на секции). Кроме того, скрипт понимает лишь одноуровневые сноски, т. е. в бади notes не должно быть секций второго уровня вложенности.
Изменения в версии 1.2:
• скрипт работал некорректно (выдавал сообщение «Отсутствует # в адресе ссылки.») в случае, если FBE показывал длинные ссылки в книге (допустим, «file:///C:/FB2/FBE2.0%2004%20-%2028%20Jun%202009.dir/main.html#N1» вместо «#N1»);
• при отсутствии body примечаний скрипт выдавал сообщение об этом, но потом вылетал с ошибкой;
• сообщение об ошибке «Нет секции примечания с id, указанным в ссылке.» исправлено на «В body примечаний нет секции примечания с id, указанным в ссылке.».
Смена регистра v1.1
Данный набор скриптов позволяет, выделив текст и запустив скрипт, перевести его в нижний либо в ВЕРХНИЙ регистр.
В архиве следующие два скрипта, названия которых говорят сами за себя:
1. В верхний регистр
2. В нижний регистр
3. Предложение — Делает первую букву прописной остальные строчные, как в предложении. Удобно для изменения в заголовках, где все прописные.
Вставка ссылки на midi-файл v1.0
AlReader позволяет читать fb2-книги со ссылками на midi-файлы, которые (midi-файлы) можно прослушать прямо в читалке. Данный скрипт позволяет вставить такую ссылку. Для этого нужно выделить текст, который следует сделать ссылкой, запустить скрипт, выбрать музыкальный файл, и подтвердить создание ссылки. Чтобы читалка нашла файл с музыкой, нужно положить midi в zip-архив, в котором лежит и fb2.
Разбиение на секции v1.3
Данный скрипт позволяет, задав признак для поиска строк – будущих заголовков, произвести разбиение fb2-документа на секции с одновременной разметкой этих заголовков тегом title. После чего остается придать секциям правильную вложенность с помощью кнопок управления структурой документа, которые есть в окне «Структура книги» редактора. По сути, скрипт избавляет от ручной работы с комбинацией Shift-Enter.
После запуска скрипта появляется окно настроек. В нем можно задать регэксп для поиска строк-заголовков. Можно выбрать, учитывать ли регистр при поиске по заданному регэкспу. Еще можно настроить, сколько при разметке захватывать в заголовок строк до и после строки, найденной по регэкспу.
Второй этап работы скрипта запускается кнопкой «Обработать» или «Обработать и выйти». В процессе обработки создаются разрывы секций (‹/section›‹section›) перед найденными строками-заголовками, а сами заголовки (которые на тот момент еще не заголовки) размечаются тегом title.
Чтобы скрипт заработал, html-файл из архива следует положить в подпапку HTML папки той версии редактора, исполняемый файл которого запускаете. Создайте эту подпапку, если ее нет. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Изменение в версии 1.2:
• окно скрипта теперь немодальное.
Изменение в версии 1.3:
• поправил то, что после выхода из скрипта освобождалась не вся занимаемая им память.
Обработка кавычек v2.7
В набор входят следующие скрипты:
1. Расстановка елочек и лапок
2. Расстановка елочек и лапок (начиная с 1-го уровня)
3. Расстановка елочек и лапок (начиная со 2-го уровня)
4. Расстановка елочек и лапок (с позиции курсора)
5. Расстановка елочек и лапок (с позиции курсора, начиная с 1-го уровня)
6. Расстановка елочек и лапок (с позиции курсора, начиная со 2-го уровня)
7. Переход на след. елочки
8. Переход на пред. елочки
9. Переход на пред. лапки
10. Переход на след. лапки
11. Переход на пред. прямые кавычки
12. Переход на след. прямые кавычки
13. Переход на пред. прямые кавычки, елочки или лапки
14. Переход на след. прямые кавычки, елочки или лапки
15. Расстановка только елочек
Скрипт под номером 1 проставляет елочки и лапки в документе, учитывая уровни их вложенности и работая корректно в случае наличия сносок. Если в момент запуска скрипта выделения в документе нет, будет обработан весь текст. Если же есть выделение, будет обработана лишь выделенная область.
Скрипты 2 и 3 аналогичны скрипту 1, но начинают расстановку елочек и лапок не с нулевого уровня вложенности, а с первого или второго.
Скрипты 4, 5 и 6 при отсутствии выделения перед запуском скрипта проставляют елочки и лапки не от начала документа, а с позиции курсора.
Скрипты 7-14 позволяют перемещаться вперед или назад по документу к определенным символам кавычек, указанным в названиях скриптов.
Скрипт 15 заменяет все кавычки на елочки, левые и правые. Соответственно, все проверки на уровень вложенности кавычек отключены.
Поиск форматирования v1.0
Скрипты данного набора осуществляют переход вперед или назад от курсора к месту документа, где используется вид форматирования, обозначенный в названии скрипта.
Вот перечень скриптов этого набора:
1. Переход на предыдущий курсив
2. Переход на следующий курсив
3. Переход на предыдущий абзац с курсивом
4. Переход на следующий абзац с курсивом
5. Переход на предыдущую жирность
6. Переход на следующую жирность
7. Переход на предыдущий абзац с жирностью
8. Переход на следующий абзац с жирностью
9. Переход на предыдущий верхний индекс
10. Переход на следующий верхний индекс
11. Переход на предыдущий абзац с верхним индексом
12. Переход на следующий абзац с верхним индексом
13. Переход на предыдующий нижний индекс
14. Переход на следующий нижний индекс
15. Переход на предыдущий абзац с нижним индексом
16. Переход на следующий абзац с нижним индексом
17. Переход на предыдущее зачеркивание
18. Переход на следующее зачеркивание
19. Переход на предыдущий абзац, содержащий зачеркивание
20. Переход на следующий абзац, содержащий зачеркивание
21. Переход на предыдущий код
22. Переход на следующий код
23. Переход на предыдущий абзац, содержащий код
24. Переход на следующий абзац, содержащий код
Превращение внешних ссылок в текст v1.1
Суть скрипта ясна из названия. Поясню, что внешней ссылкой считается любая ссылка, которая не является локальной ссылкой. Локальной же ссылкой считается такая, у которой адрес начинается с «file://» либо со знака «#», также перед этими строковыми последовательностями могут быть пробелы.
Точка, тире, буква v1.3
Данный скрипт находит комбинации символов «точка, тире, маленькая буква», «запятая, тире, большая буква», «многоточие, тире, маленькая буква», причем между любыми двумя символами комбинации могут быть простые или неразрывные пробелы (а могут и не быть), а под тире в данном контексте понимаются дефис или короткое либо длинное тире.
Когда комбинация символов найдена, абзац с этой комбинацией выводится в диалоге, причем комбинация символов выделена особым стилем (по умолчанию – белым по красному). Также в диалоге имеются кнопки управления скриптом. Кнопка «Пропуск» пропускает текущий найденный случай и пытается найти следующий.
Кнопка «Заменить знак пунктуации» производит замену точки из найденной комбинации символов на запятую, либо наоборот – заменяет найденную запятую на точку; после чего происходит переход к следующей комбинации символов. Кнопка «Изменить регистр буквы» превращает большую букву из найденной комбинации в маленькую, либо наоборот, после чего, опять же, происходит переход на следующий подлежающий рассмотрению пользователем случай. Кнопка «Выход» ничего не делает, кроме того что закрывает скрипт.
Если перед нажатием одной из кнопок «Заменить знак пунктуации» и «Изменить регистр буквы» установлен флажок «После замены перейти к этому месту», то после того, как скрипт произведет полагающиеся изменения, произойдет выход из скрипта, и область видимости в основном окне FBE и курсор будут перемещены к рассматриваемой комбинации символов. Имеется также кнопка «Перейти без замены», которая осуществляет такое же перемещение области видимости и курсора, но при этом не совершается ни одно из предлагаемых на данный момент изменений документа.
Как разложить файлы скрипта:
1. js-файл положить где-нибудь внутри папки Scripts, выбранной в настройках редактора.
2. содержимое папки HTML положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
3. Подпапка CSS при этом должна быть внутри папки HTML. Под именем «Точка, тире, буква – main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «Точка, тире, буква – add.css», редактируя строку
SPAN.ddl_marked {background-color: red; color: white}
Можно настроить стиль, которым будет подсвечиваться рассматриваемая комбинация символов.
Строка
#fbw_body {font-family: Tahoma; font-size:15px;}
Назначает стиль, который будет применен ко всему отображаемому тексту. Это аналог настроек шрифта в настройках FBE.
В js-файле скрипта можно изменить значения размеров диалога (измеряются в пикселях) вот в этих строках:
var dialogWidth=»640px»; // ширина диалогового окна
var dialogHeight=»480px»; // высота диалогового окна
Управление структурой секций v1.8.
Я полагаю, скрипт может быть удобен как для изменения структуры секций путем перетаскивания мышью, так и для массового ручного контроля/редактирования заголовков. Преимущество сравнительно со встроенным в FBE редактированием дерева – заголовки отображаются «как есть», с форматированием и многострочностью.
Недостатки.
• После окончания работы скрипта, если вы вышли из него по нажатию кнопки «Сохранить», желательно проверить валидность книги, т. к. скрипт этого не делает.
• Не поддерживается выделение нескольких элементов дерева.
• Долговато выполняется сохранение, надо бы как-то оптимизировать, но пока нет идей.
Известные проблемы.
• Могут быть проблемы, связанные с необновлением скроллбара. Дело в том, что код для скроллбара пришлось написать самому, использовать системный было нельзя – тогда бы курсорные клавиши прокручивали документ когда не надо. Если заметите необновление размера скроллбара в какой-то ситуации – пожалуйста сообщайте (как и остальные баги).
• IE, на движке которого работает FBE, имеет багофичу (в отличие от других браузеров), из-за которой скрипты не могут обрабатывать второе нажатие (в отличие от отпускания) кнопки мыши при двойном щелчке. Поэтому если быстро нажать, отпустить, опять нажать и удерживать клавишу мыши, когда мышиный курсор находится на кнопке скроллбара, то автоскроллинг не запускается, хотя должен бы.
Кликать ссылку «HTML в буфер» внизу окна скрипта не надо – она нужна только для отладки.
Как правильно разложить файлы скрипта.
Файл «01_Управление структурой секций. js» положить в папку скриптов, заданную в настройках FBE. Содержимое папки HTML (включая подпапки) положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
Настроить размер по умолчанию для окна скрипта можно в файле «01_Управление структурой секций. js», изменив числа в таких строках:
var dialogWidth=»640px»; // ширина диалогового окна
var dialogHeight=»480px»; // высота диалогового окна
Изменения в версии 1.1.
• Исправил баг с пропадающим при перетягивании секции эпиграфом.
• Поправил некоторые мелкие, но визуально неприятные недочеты в работе дерева.
• Сделал управление с клавиатуры. Работают клавиши «Стрелка вверх», «Стрелка вниз» (эти курсорные клавиши переходят на предыдущий и следующий элемент дерева соответственно, если при их нажатии какой-то элемент уже активен), «Стрелка влево» (закрыть элемент, если же он уже закрыт – перейти на уровень вверх), «Стрелка вправо» (раскрыть элемент, если он уже раскрыт – перейти на первый вложенный в него элемент), «Home», «End», «Page up», «Page down», «Серый плюс» (раскрыть активный элемент), «Серый минус» (закрыть активный элемент), F2 (редактирование заголовка). В режиме редактирования заголовка Enter вставляет пустую строку в заголовке и переходит на нее. Закончить редактирование можно клавишей Esc. При редактировании заголовка включать/выключать жирность можно хоткеем Ctrl-B, а курсив – хоткеем Ctrl-I.
Изменения в версии 1.2:
• При клике и удержании кнопки мыши на тексте элемента (а не на иконке, изображающей лист бумаги) элемент, перешедший в состояние перетаскивания, первоначально появлялся в неправильной позиции (если потом подвигать мышью, он принимал правильное положение: чуть правее и ниже курсора мыши).
• При клике по меню внизу окна фокус клавиатуры уходил с дерева и горячие клавиши переставали работать.
• Нельзя было разместить элемент вслед за элементом ‹text›, перетащив его на иконку, изображающую лист бумаги.
• Если перейти в режим редактирования заголовка, выделить его весь или частично, потом нажать Esc, выделение оставалось видно.
• Была какая-то ошибка, связанная с попыткой то ли редактирования по F2 элементов типа ‹text›, то ли с выходом из него. В общем, я редактирование такого рода программно запретил, поскольку оно все равно не имеет смысла.
Изменения в версии 1.3:
• атрибут name у body терялся при нажатии «Сохранить» в окне скрипта.
• теперь клик по ссылке в заголовке не производит переход.
• теперь адреса ссылок-сносок после нажатия «Сохранить» более корректные («file://…/main.html#n_1», а не «file://…/control_structure_frame_1.htm#n_1»).
Изменение в версии 1.4:
• скрипт теперь работает в IE8.
Изменения в версии 1.5:
• раньше скрипт глючил на некоторых невалидных книгах. Проблема проявлялась, если в книге была секция, в которую непосредственно были вложены элементы текстово-графического содержания (‹p›, ‹image›, ‹cite› и т. д.) и подсекции. (Это запрещено схемой, но такой файл можно открыть редактором.) В таком случае иногда происходило размножение фрагментов текста. Проблема возникла из-за того, что я поначалу ориентировался на обработку скриптом только валидных файлов. Но поскольку на практике возможность работать с невалидными файлами оказалась полезной, исправил ошибку.
• новая фича – в контекстном меню по правой кнопке мыши на элементе дерева: «Обрамить section-ом». Создает вокруг этого самого элемента дерева новый элемент ‹section›. Полезно для исправления документов, невалидных описанным выше образом.
• раньше при перетягивании элемента на новое место иногда не появлялась или не исчезала иконка плюса/минуса, которая индицирует, есть ли у элемента вложенные подэлементы.
• раньше скрипт выдавал ошибку, если запустить его, открыв файл с пустым тегом section (‹section›‹/section›) или с пустым body (аналогично).
• раньше, если удалить элемент дерева, а потом нажать курсорную клавишу (перемещение по дереву), выскакивала ошибка.
• теперь есть защита от переноса элемента body внутрь элемента section.
Изменение в версии 1.6:
• поправлен баг, из-за которого при использовании скрипта пропадали все, кроме первого, эпиграфы элементов body.
Изменение в версии 1.7:
• поправлен баг, из-за которого в книге, обработанной скриптом, пропадали все пустые строки после сохранения на диск.
Изменения в версии 1.8:
• в прошлой версии нажатие Delete при редактировании заголовка приводило к выдаче запроса на удаление элемента.
• теперь завершить редактирование заголовка можно и нажатием Ctrl-Enter (Escape работает тоже).
Перенос примечаний в скобки v1.1.
Скрипт переносит примечания и комментарии из body «notes» и «comments» в текст, обрамляя их скобками. Примечания («notes») обрамляются квадратными скобками, а комментарии («comments») – фигурными. Если примечание содержит несколько абзацев, его абзацы будут слиты в один абзац и разделены строковой последовательностью «//». Блочные элементы (cite, epigraph, poem) при переносе примечаний в скобки теряются, инлайновые – сохраняются.
В набор входят два скрипта, один из которых отличается тем, что перенеся примечание в скобки, вставляет перед открывающей скобкой пробел.
Изменение в версии 1.1:
Исправил то, что в подверсии скрипта с названием «пробел перед открывающей скобкой» в начале файла были лишние символы, из-за которых скрипт вызывал ошибку при загрузке FBE.
Режим чтения v1.0.
Скрипт переводит FBE в режим чтения, в котором клавиши «Вверх» и «Вниз» прокручивают текст на одну строку в соответствующих направлениях, а клавиши «Влево» и «Вправо» прокручивают на три строки вверх и вниз соответственно. Чтобы выйти из режима чтения, нужно кликнуть мышью в произвольное место текста, и курсор будет установлен в указанную позицию.
Работа скрипта проверена в IE6. Если у вас он не работает, сообщите на имэйл, написанный в начале страницы.
Снятие форматирования стихом, цитатой или эпиграфом v1.1
Суть скрипта понятна из названия. Для использования нужно поставить курсор внутрь стиха, цитаты или эпиграфа, запустить скрипт, и форматирование будет снято. Если курсор перед запуском вложен в несколько тегов, входящих в число тех, которые умеет убирать скрипт, то будет убран самый глубокий (максимально вложенный) тег.
Изменение в версии 1.1:
• Теперь, если, например, снимается форматирование цитатой, тег text-author, относящийся к этой цитате, превращается в p. Аналогично для эпиграфов и стихов.
Оглавление
Материал из FictionBook.
Содержание
- 1 Конвертация текстов в формат FictionBook
- 2 Краткое описание формата FictionBook
- 3 Работа с программой FB Editor
- 3.1 1. Установка FB Tools
- 3.2 2. Описание функций FB Editor
- 3.3 3. Особенности редактирования документов
- 3.4 4. Заполнение описания книги (Description)
Выбор программного обеспечения, предназначенного для создания и редактирования книг в формате FictionBook, весьма невелик. Фактически он представлен двумя программами: BookDesigner 4.0 В. Войцеховича (он же FictionBook Designer в усеченном специализированном варианте) и FB Tools Михаила Мацнева. Программа BookDesigner была разработана как средство для конвертации книг из любого формата в любой же формат. И она полностью отвечает своему назначению. Если требуется сконвертировать книгу в экзотический формат или, наоборот, извлечь из оного, то здесь альтернативы Book Designer просто нет. Проблема в том, что BookDesigner не рассчитан на серьезное редактирование книг. Открыть файл, быстро разметить его и сохранить в новом формате — с этим он справляется великолепно. И функция Book Cleaner (пакетный запуск регулярных выражений) просто изумительна. Но когда приходится долго и вдумчиво редактировать книги, то возникают проблемы. Нет выделения цитат. Не совсем корректно работает функция Undo. То, что отображается на экране, не всегда соответствует реальному содержимому файла. Даже сохранение работает не так, как мы привыкли. На язык так и просятся слова незабвенного товарища Огурцова: «Все молодцы, работа проделана большая, но так дело не пойдет!» Правда, в обозримом будущем ожидается версия 5.0. Будем надеяться, большинство недостатков там будет исправлено. Таким образом, у нас остается пакет FB Tools и его основная часть — редактор FB Editor. В этой публикации мы рассмотрим именно FB Editor как основное средство создания и редактирования книг в формате FictionBook.
Конвертация текстов в формат FictionBook
При всех своих достоинствах FB Editor не умеет сам конвертировать книги в формат FB2. Для этого приходится использовать отдельные программные средства. Если вы планируете набирать книги FictionBook «с нуля» или редактировать уже готовые, этот раздел можно пропустить. Чтобы сконвертировать книгу из другого формата, есть специально предназначенный для этого пакет Any2FB2. Он уверенно конвертирует тексты, файлы HTML, не перегруженные фреймами и сложными таблицами, и даже RTF (DOC). При этом он пытается самостоятельно распознать структуру входного текста и даже выделить элементы. К сожалению, «ишкуштвенный интилект» программы справляется с этим не слишком хорошо. Поэтому большую часть возможностей распознавания элементов приходится запрещать. Кроме того, при конвертации обычного текста обнаруживается такой подводный камень. Если текст неформатированный — «одна строка — один абзац», все пройдет нормально. Но если он разбит на абзацы с
выравниванием, то Any2FB2 почему-то считает новым абзацем строку, начинающуюся со знака «тире», независимо от того, есть перед ней отступ или нет. Поэтому, если у вас именно такой текст, то перед тем, как скормить его Any2FB2, обработайте его программкой TXT2MB. Она переформатирует текст так, чтобы один абзац занимал одну строку. Чтобы программа отработала правильно, необходимо, чтобы первая строка каждого абзаца имела отступ хотя бы в один пробел. Также для преобразования форматированного текста можно воспользоваться программой Дмитрия Грибова ClearTXT. Чтобы в ней разобраться, понадобится время, но оно того стоит. Для конвертации документов в формате RTF или DOC лучше всего использовать макрос ExportXML.dot. Если у вас установлен Office 2003, можно воспользоваться hta-приложением Doc2FB. И, наконец, не стоит забывать и такой метод, как Copy-Paste. Копируем нужный текст в окне браузера или редактора и вставляем в книгу. При этом разметка текста обычно сохраняется. Именно так я всего за полчаса преобразовал свежескачанный с www.wisesoft.ru номер “Хакера-спец” из набора НTML’ок во вполне приличную FB2- книжку. Еще 20 минут ушло на структурирование книги. После чего «продукт» был полностью готов к употреблению. Особо отмечу, что после конвертации любую книгу нужно открывать в FB Editor и доводить до ума вручную.
Использование только автоматической конвертации оправдано только в том случае, если текст конвертируется исключительно для того, чтобы закачать на КПК, прочесть и удалить. Но если вы планируете выкладывать книгу в Сеть или распространять еще каким-то образом, то изготавливать ее «одним кликом» совершенно недопустимо. Не забывайте, что в этом случае вы фактически являетесь ИЗДАТЕЛЕМ книги. Проявите уважение к автору и читателям:))).
Краткое описание формата FictionBook
Электронную книгу в формате FictionBook можно условно разделить на три части:
Первая — описание книги (description). Автор, название, кто сделал FB2, выходные данные бумажного оригинала и т.д.
Вторая — непосредственно текст книги, разбитый на логические части согласно бумажному изданию или авторскому замыслу, если произведение не было издано.
Третья, необязательная — картинки и двоичные объекты в кодировке base64.
Ознакомиться со схемой (schema) FictionBook можно на сайте www.fictionbook.org в разделе «Документы».
Вот пример книги в формате FB2:
<FictionBook xmlns=" сайт xmlns:l=" сайт <description> <title-info> <genre>reference</genre> <author> <first-name>Имя автора</first-name> <last-name>Фамилия автора</last-name> <nickname>Юзич</nickname> </author> <book-title>Пример книги в формате FictionBook 2.1</book-title> <annotation> <p>Это пример книги в формате FictiionBook</p> </annotation> <date value="2006-04-14">14 апреля 2006 г.</date> <lang>ru</lang> </title-info> <document-info> <author> <nickname>Юзич</nickname> </author> <program-used>FB Tools</program-used> <date value="2006-04-14">2006-04-14</date> <id>1E693E16-8A80-4391-9800-C1A91A5E29A7</id> <version>1.0</version> <history> <p>v 1.0 — создание книги (Юзич)</p> </history> </document-info> </description> <body> <title> <p>Юзич</p> <p>ПРИМЕР КНИГИ В ФОРМАТЕ FictionBook 2.1</p> </title> <epigraph> <p>Это эпиграф</p> <text-author>Автор эпиграфа</text-author> </epigraph> <section> <title> <p>Первая секция</p> </title> <p>Секции обычно содержат текст.</p> <empty-line/> <p>Текст может разделяться пустыми строками.</p> <subtitle>Подзаголовок</subtitle> <p>Или подзаголовками.</p> </section> <section> <title> <p>Вторая секция</p> </title> <section> <title> <p>Первая вложенная секция</p> </title> <p>Текст может быть <strong>полужирным</strong> или <emphasis>курсивным</emphasis>.</p> <p>Содержать <a l:href="#Sect3">линки</a> и <a l:href="#note01" type="note">[сноски]</a>.</p> <p>В тексте могут быть картинки.</p> <image l:href="#sampl.png"/> <empty-line/> </section> <section> <title> <p>Вторая вложенная секция</p> </title> <cite> <p>Это цитата.</p> <text-author>Автор цитаты.</text-author> </cite> <p>Снова текст.</p> </section> </section> <section id="Sect3"> <title> <p>Третья секция</p> </title> <p>Стихи:</p> <poem> <title> <p>Парус</p> </title> <stanza> <v>А у дельфина взрезано брюхо винтом.</v> <v>Выстрела в спину не ожидает никто.</v> <v>На батарее нету снарядов уже.</v> <v>Надо быстрее на вираже.</v> </stanza> <stanza> <v>Но парус! Порвали парус!</v> <v>Каюсь! Каюсь! Каюсь!</v> </stanza> <text-author>Владимир Высоцкий</text-author> </poem> <p>Снова обычный текст.</p> </section> </body> <body name="notes"> <title> <p>Примечания</p> </title> <section id="note01"> <title> <p>1</p> </title> <p>Текст сноски.</p> </section> </body> <binary id="sampl.png" content-type="image/png"> iVBORw0KGgoAAAANSUhEUgAAAAkAAAAICAMAAAAcEyWHAAAABGdBTUEAAK/INwWK6QAAABl0 RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAGUExURQEBAf///+tZAq0AAAAY SURBVHjaYmBAAEZGRjDGzsKvDgYAAgwABR4AH2mwMFgAAAAASUVORK5CYII=</binary> </FictionBook>
Как видим, файл имеет легко читаемую структуру.
Основные теги:
<FictionBook></FictionBook> Эти теги обрамляют всю книгу.
<description></description> Внутри используется довольно большой набор тегов, приводить который из-за ограниченности объема газетной публикации не будем.
<body></body> — тело книги. Обычно существует в единственном экземпляре. Иногда добавляется дополнительное body — для сносок.
<section></section> — секция.
<title></title> — заголовок.
<subtitle></subtitle> — заголовок.
<p></p> — абзац.
</emptyline> — пустая строка.
<strong></strong> — полужирный шрифт.*
<emphasis></emphasis> — наклонный шрифт (курсив).*
<a></a> — сноска или линк.
<image/> — картинка.
А это последние нововведения версии 2.1. Правда, из-за недостаточной поддержки софтом они практически не используются…
<table></table>** — таблицы! Внутри, соответственно, располагаются:
<tr></tr>** — строки. А внутри строк:
<td></td>** — ячейки.
<sup></sup> — subscript, нижний индекс.
<sub></sub> — superscript, верхний индекс.
<code></code> — преформатированный текст. Этот тег позволяет выделить, например, программный код.
Примечание редактора:
* — частный случай. В общем случае это два типа выделения, конкретное отображение настраивается в ридере. Это может быть и цветовое выделение и комбинация полужирного и наклонного.
** — введено в версии 2.0.
—FBAdmin 12:37, 31 января 2007 (MSK)
Работа с программой FB Editor
1. Установка FB Tools
Автор FB Editor не стал утруждать себя написанием help’а, не без основания считая, что разобраться, как работать с программой, можно и без него. Однако, судя по количеству вопросов на форумах fictionbook.org и прочих, описание программы все-таки требуется. Поэтому в данной публикации я постараюсь восполнить этот недостаток.
Скачать пакет FB Tools, в состав которого входит FB Editor, можно отсюда.
Также понадобится MSXML 4.0 SP2 и Internet Explorer версии не ниже 5.5.
Скачать MSXML 4.0 SP2 можно с сайта компании Microsoft.
При скачивании MSXML проверка Windows на легальность не производится:).
Для работы FB Tools требуется операционная система семейства Windows NT — лучше всего Windows 2000 или Windows XP.
После установки FB Tools нужно обновить файлы схемы FictionBook. Схема версии 2.1 находится здесь. Скачав этот маленький архив, распакуйте его в директорию, где установлены FB Tools, так, чтобы старые файлы были перезаписаны.
Наконец, все нужные компоненты закачаны, программа установлена. Можно приступать к работе.
2. Описание функций FB Editor
После запуска программы появляется рабочее окно. Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски. Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG и в режиме исходника, когда видны все теги и настоящая структура файла. Слева от главного окна находится панель Document Tree, в котором отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги. И внизу — служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора.
Пройдемся по пунктам меню. В меню File, кроме стандартных New, Open, Save, есть команда Validate (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника, устанавливая курсор на 1-2 строки ниже «проблемной» строки. Пункт меню FileImport по умолчанию имеет один подпункт: «No import plugins installed». Плагины для импорта книг из других форматов в комплект FB Tools не входят. Но если вы установите пакет Any2FB2, то FB Editor сам обнаружит его, и соответствующая иконка появится в меню FileImport. Устанавливать Any2FB2 в одну папку с FB Tools для этого вовсе не обязательно. Пункт меню FileExport позволяет экспортировать книгу в формат HTML. Структура книги полностью сохраняется. Если вы установили пакет FB2Any, здесь появятся плагины для экспорта книги в txt, Rocket Book, MS Reader, iSilo.
Второй раздел меню — Edit — кроме типовых Undo-Redo, Cut, Copy, Find, Replace, содержит блок работы с элементами книги: Сlone, Split, Merge container и — специально для вложенных секций — 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. И последний пункт — Options. Здесь можно выбрать цвет фона, а также цвет, тип и размер шрифта для окна редактирования.
Раздел меню Tools содержит три пункта. Команда Words. К сожалению, она до конца не проработана. В своем нынешнем состоянии она выдает список слов, входящих в текст книги, в которых есть дефис. Те слова, у которых в тексте книги есть варианты без дефиса, помечаются восклицательным знаком. В поле Replacement можно вводить варианты замены. Но после нажатия кнопки ОК программа заменяет только те слова, в которых нет русских символов. Options — здесь можно настроить параметры режима редактирования исходника. Wrap lines (сворачивать строки), Syntax highlighting (подсветка синтаксиса), Show end of line marks (показывать символы конца строки). И подменю JavaScripts, позволяющее вызывать пользовательские скрипты.
В раздел Help входит только пункт About, где указаны номер версии и дата сборки.
3. Особенности редактирования документов
Первое, что необходимо усвоить при работе 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 эти теги просто исчезают или преобразуются в обычные абзацы, как, например, таблицы. При редактировании текстов FB Editor позволяет вводить некоторые символы, отсутствующие на клавиатуре.
{Сtrl-} — «–» — короткое тире, полиграфический «минус».
{Ctrl=} — «—» — длинное (полиграфическое) тире.
{Ctrl[} — «‘» — левая верхняя одинарная кавычка.
{Сtrl]} — «’» — правая нижняя одинарная кавычка.
{Ctrl;} — «“» — левая верхняя двойная кавычка.
{Ctrl‘} — «”» — правая нижняя двойная кавычка.
{Ctrl>} — «…» — многоточие.
Поиск (EditFind (Ctrl+F)) и замена (EditReplace (Сtrl+H)) в FB Editor имеют стандартные функции Match Whole Word (найти слово целиком), Match case (различать регистр), поиска вперед и назад по тексту. Последний флажок — Regular expression — позволяет использовать при поиске и замене регулярные выражения. Подробнее см. в разделе «Использование регулярных выражений». В режиме редактирования исходника нельзя вводить пустые элементы. При возврате в режим WYSIWYG они не будут отображаться, а как только вы начнете редактировать текст в режиме WYSIWYG, вообще исчезнут. Нужно вставлять внутрь хотя бы элемент «пустая строка» <empty-line/>. Например:
Неправильно:
<section></section>
<cite></cite>
Правильно:
<section>
<empty-line/>
</section>
<cite><p>Какой-нибудь текст</p></cite>
4. Заполнение описания книги (Description)
Перед тем, как приступить к набору или редактированию текста книги, необходимо заполнить описание книги — Description. Это описание нужно для корректной работы библиотечного софта, но может быть интересно и читателю. Режим редактирования описания вызывается из меню View/Description. Окно редактирования имеет следующие разделы: Title Info, Document Info, Publisher Info, Custom Info и Binary Objects. В каждом разделе есть несколько граф. В правой части большинства граф есть служебные кнопки. Кнопка с пересекающимися прямоугольниками позволяет дублировать графу. Кнопка с крестиком, напротив, удаляет ненужные дубликаты. Если графа существует в единственном экземпляре, кнопка неактивна. В разделе Title Info содержится основная информация о книге. Первым пунктом идет жанр произведения (Genres). Он должен быть выбран из фиксированного списка. Щелкните по кнопке с треугольничком и выберите нужный жанр из соответствующей группы. В этой же строке правее находится поле Match. Оно обозначает соответствие произведения выбранному жанру (в процентах). Например, в списке поджанров нет весьма популярного нынче «городского фэнтези». Поэтому оформляем его двумя жанрами: фэнтези и боевик. Сначала выбираем жанр Science Fiction & FantasyFantasy. Потом добавляем еще одну строку Genre и выбираем жанр Science Fiction & FantasyAction. После Genres идет графа Authors — информация об авторе книги: First (имя) Middle (отчество), Last (фамилия), Nick (ник), Email (адрес электронной почты), Homepage (адрес сайта). Следом идет Book title (название книги), Keywords (ключевые слова), Date (дата написания (не выпуска!)) в произвольном формате (например, «2001-2005 г., Переделкино»). В поле Value тоже вводится дата (обычно окончания работы над книгой), но строго в компьютерном формате ГГГГ-ММ-ДД (например, 2006-07-22).
Coverpage. Картинка обложки. В поле Image вводится ссылка на картинку обложки. Сама картинка присоединяется к файлу командой EditAdd Binary object (скрепка на панели инструментов). Затем копируем имя файла из поля ID появившейся в разделе Binary Objects новой графы в буфер и вставляем в поле Image графы Coverpage. Перед именем нужно добавить символ «#». Не следует делать картинку обложки слишком большой. Обычно высота картинки должна быть 250-320 пикселей, ширина — пропорционально. Размер файла JPG не должен превышать 30 Kb. Language — язык книги. Для русского пишем «ru».
Следует знать, что в описании книги жизненно необходимыми являются два пункта: Genre и Language. Если они не заполнены или заполнены неправильно, то валидатор FB Editor ругается при попытке сохранить книгу. А что самое неприятное — если вам понадобилось отредактировать «исходник», то валидатор просто «не выпустит» из режима редактирования Source до тех пор, пока указанные поля не будут заполнены правильно. Поэтому первым делом необходимо заполнить эти элементы. С остальными можно разобраться и попозже.
Source language — исходный язык, если книга переводная. В противном случае оставляем пустой.
Translators — переводчик. Если книга не переводная, оставляем пустыми. Иначе заполняем таким же образом, как и графу Authors: фамилия, имя, отчество и т.д.
Sequence — если книга входит в серию, то в поле Name вводим название серии, а в поле Number — порядковый номер в серии. Обратите внимание, что в правой части строки перед кнопкой дублирования есть кнопка с треугольничком. Она позволяет создавать вложенные серии. К примеру, основная серия — «Звездные Войны», вложенная серия — трилогия «Адмирал Траун».
Раздел Document Info содержит информацию о самой книге.
В строку Authors вводим информацию о человеке, создавшем этот документ. Аналогично ранее заполнявшимся Authors и Translators.
Programs used — программное обеспечение, использованное при создании книги. Обычно FB Editor сам пишет там — FB Tools. Если вы использовали какие-нибудь дополнительные утилиты, можно упомянуть их там.
Заполнение полей Date и Value аналогично таким же полям в Book Info.
Source URLs — если исходный текст для создания книги был скачан с какого-нибудь сайта, здесь нужно указать ссылку на него.
Source OCR — если книга было отсканирована, то здесь указываем данные (обычно ник) сканериста, а также человека, производившего вычитку. Страна должна знать своих героев!
ID — уникальный номер документа. Обычно генерируется самим FB Editor’ом или программой конвертации.
Version — номер версии книги. Обычно это 1.0. В случае внесения изменений номер версии нужно изменять вручную.
Следующий раздел — Publisher Info. Здесь собрана информация о бумажном оригинале книги, если таковой существовал.
Book name. Обычно совпадает с названием произведения, но если оно было издано в составе сборника, то здесь следует указывать название сборника.
Publisher — название издательства.
City — город, в котором была выпущена книга.
Year — год выпуска.
ISBN — код ISBN.
Sequence — название ПЕЧАТНОЙ серии. «Библиотека приключений», например, или «Абсолютное оружие». Также допускает вложенные серии.
В раздел Custom Info может вноситься произвольная дополнительная информация. Копирайт, благодарности, реклама и т.д., и т.п. вплоть до мистических проклятий средневековых переписчиков: «Кто эту книгу украдет, у того руки отсохнут» (современный вариант — винчестер накроется):-).
Раздел Binary Objects заполняется автоматически по мере присоединения к книге бинарных объектов, обычно картинок. Щелкая по кнопке с крестиком и удаляя графы в этом разделе, вы одновременно удаляете присоединенные объекты.
Юзич, miksoft77@mail.ru
© компьютерная газета