Вычитка, редактура и создание fb2-файла с начала и до конца, с помощью FBD и не только — различия между версиями

Материал из FictionBook
Перейти к: навигация, поиск
(FBD - изготовление fb2-файла)
(FBD - изготовление fb2-файла)
Строка 69: Строка 69:
 
[[Image:Корректор.jpg]]
 
[[Image:Корректор.jpg]]
  
Сначала проверяем, правильно ли определился автор и название книги. Если нет - корректируем с помощью BookCorrector (выбрать соответственно book author и book title). Затем определяем аннотацию (если она есть) как аннотацию (BookCorrector annotation). Далее ищем все заголовки (BookCorrector title), эпиграфы (epigraph), стихи (verse) и цитаты. С цитатами (письмами и т.п.) сложнее всего! Дело в том, что они не поддерживаются BookDesigner как отдельная функция. В связи с чем, чтобы получить красивый и грамотно сделанный файл приходится поизвращаться. Лично я делаю так: в начале цитаты на отдельной строке ставлю набор букв xxxxx, а в конце цитаты, тоже отдельной строкой zzzzz. Далее я расскажу, как это преобразовать к нормальному виду.  
+
Сначала проверяем, правильно ли определился автор и название книги. Если нет - корректируем с помощью BookCorrector (выбрать соответственно book author и book title). Затем определяем аннотацию (если она есть) как аннотацию (BookCorrector annotation). Далее ищем все заголовки (BookCorrector title), эпиграфы (epigraph), стихи (verse) и цитаты. С цитатами (письмами и т.п.) сложнее всего! Дело в том, что они не поддерживаются BookDesigner как отдельная функция. В связи с чем, чтобы получить красивый и грамотно сделанный файл приходится поизвращаться. Лично я делаю так: в начале цитаты на отдельной строке ставлю набор букв xxxxx, а в конце цитаты, тоже отдельной строкой zzzzz. Далее я расскажу, как это преобразовать к нормальному виду. Или, как вариант, можно оформить их как эпиграфы. Преимущество второго способа в том, что в эпиграфе допускается автор текста, но при большом (очень большом!) количестве цитат это несколько неудобный способ, приводящий к увеличению ручного труда. О том, что делать дальше с цитатами-эпиграфами я тоже расскажу позже.
  
 
Кроме того, в эпиграфах, стихотворениях и цитатах может быть автор текста, которого следует оформить, как text author.
 
Кроме того, в эпиграфах, стихотворениях и цитатах может быть автор текста, которого следует оформить, как text author.
Строка 98: Строка 98:
 
После изготовления fb2 загрузить файл в FBI, затем в Find/Replace:  
 
После изготовления fb2 загрузить файл в FBI, затем в Find/Replace:  
  
''1.'' <nowiki>find what: uni(44)uni(45)uni(32) </nowiki>
+
''1.'' <nowiki>find what: uni(44)uni(45)uni(32)</nowiki>  
  
 
<nowiki>replace with: uni(44)uni(32)uni(151)uni(32) </nowiki>
 
<nowiki>replace with: uni(44)uni(32)uni(151)uni(32) </nowiki>

Версия 16:54, 1 ноября 2006

Зачем, или введение

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

Все основные правила создания fb2-книг описаны в статье Как сделать книгу, с которой советую ознакомиться.

В работе мною используется несколько программ:

  • Microsoft Word, или MW (любая версия) - для предварительной правки документа и оформления ссылок
  • FictionBookDesigner, или FBD - для красивого оформления книги, расстановки заголовков и вложенных частей и создания fb2-файла
  • FictionBookEditor, или FBE - для окончательной правки книги после вычитки и проверки ее валидности
  • BookDesigner, или BD для изготовления из fb2 файла в формате устройства для чтения. Последний апдейт
  • MassTextProcessor, или MTP - для корректировки некоторых неточностей, недопустимых в библиотеках, но допустимых в FBD

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

На вопрос - зачем я использую две программы одного типа (BD и FBD) ответ простой. Разница между BD и FBD есть и большая: FBD полностью юникодный, а BD - только частично. Т.е. если надо сделать книгу с языками, несовместимыми внутри одной локальной кодировки (например, русский и французский), то это только в FBD. Кроме того FBD сделан специально для изготовления fb2-файлов, а BD - всеяден. Он имеет множество форматов как на входе, так и на выходе.

Автор исходит из того, что вышеперечисленные программы у читателя имеются и установлены, кроме того, что у читателя есть минимальные навыки редактирования и сохранения текста.

Новичкам же настоятельно рекомендуется внимательно прочитать урок по редактированию в последнем апдейте BD: Help -> Self Teaching -> my first e-book.

Последовательность работы

MW, предварительная правка

Итак, файл, который приходит ко мне после сканирования и распознавания от сканщика находится в формате .rtf {RichTextFormat) который распознается и редактируется обычным MW. Посему, первым делом входим в Word. Главная задача этого этапа - оформить ссылки и исправить явный очень "кривой" текст.

Первым делом, чтобы не пропустить разрывы абзацев, выделяем весь текст и првой клавишей мышки вызываем меню. Проходим в пункт "Абзац" и выбираем "Отступ"->"Первая строка"->"Отступ".

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Снова вызываем меню "Шрифт"->выбираем размер и тип шрифта всего документа. Это делается потому, что при распознавании текста часто смена типа или размера шрифта попадает на середину слова. В этом случае, при закачке файла в FBD в этом месте будет пробел.

Далее, "Сервис"->"Параметры"->"Правописание" проверяем, что стоят галочки: автоматически проверять орфографию, всегда предлагать замену, пропускать слова из прописных букв, пропускать слова с цифрами, пропускать адреса Интернета и имена файлов, автоматически проверять грамматику, также проверять орфографию. Делаем "Повторную проверку".

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Есть несколько иной вариант работы с MW - подгрузка шаблона. Этот способ хорошо описан тут, и повторяться я не буду. Мое единственное возражение к указанному способу - такого объемного форматирования FBD все равно не понимает, так стоит ли огород городить. Но, может, кому-то это будет приятнее или удобнее.

Затем начинается самая нудная и противная работа - просматриваем внимательно весь файл, исправляя ошибки и формируя сноски. В исходном файле сноски бывают двух видов - обозначаемые звездочкой и обозначаемые надстрочными цифрами. Сначала заходим "Вставка"->"Ссылка"->"Сноска", и настраиваем. Сноски должны быть внизу текста, формат номера 1,2,3..., начать с 1, нумерация продолжить. Применяем сделанные изменения. Далее "Сервис"->"Настройка"->"Команды", в левом окошечке выбираем "Вставка" и из правого перетаскиваем мышкой команду "Сноска..." на панель инструментов.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения


При появлении сноски в тексте, устанавливаем курсор на место сноски и мышкой щелкаем по появившейся кнопке на панели инструментов. В возникшее внизу окошко перекидываем текст сноски.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения


Дойдя до конца файла проверяем дополнительно поиском, нет ли потерявшихся сносок.

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

Сохраняем файл и выходим из MW.


FBD - изготовление fb2-файла

В принципе, все здесь описанное - это просто последовательность действий, предпринимаемых лично мной. Для краткого ознакомления с возможностями программы рекомендую статью про изготовление книг BookDesigner 4.x - как быстро и правильно делать ebook.

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

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Вызов этого меню происходит с помощью кнопки
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

После проведения всех предварительных настроек рекомендуется перезагрузить файл, чтобы они были применены к нему. Дальше следует опять длительная и нудная работа - пролистывание всей книги и проверка заголовков. Часть ошибок определяется и правится на этой стадии работы. Сразу оговорюсь, для выделения куска текста надо дважды щелкнуть по нему мышкой. В этом случае выделяется абзац. Если надо выделить больше одного абзаца - сначала выделить первый двойным щелчком, а потом перейти к последнему и Shift+щелчок мышкой. Только в этом случае выделение текста будет 100% правильным. Все команды BookCorrector применяются только к выделенному тексту.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Сначала проверяем, правильно ли определился автор и название книги. Если нет - корректируем с помощью BookCorrector (выбрать соответственно book author и book title). Затем определяем аннотацию (если она есть) как аннотацию (BookCorrector annotation). Далее ищем все заголовки (BookCorrector title), эпиграфы (epigraph), стихи (verse) и цитаты. С цитатами (письмами и т.п.) сложнее всего! Дело в том, что они не поддерживаются BookDesigner как отдельная функция. В связи с чем, чтобы получить красивый и грамотно сделанный файл приходится поизвращаться. Лично я делаю так: в начале цитаты на отдельной строке ставлю набор букв xxxxx, а в конце цитаты, тоже отдельной строкой zzzzz. Далее я расскажу, как это преобразовать к нормальному виду. Или, как вариант, можно оформить их как эпиграфы. Преимущество второго способа в том, что в эпиграфе допускается автор текста, но при большом (очень большом!) количестве цитат это несколько неудобный способ, приводящий к увеличению ручного труда. О том, что делать дальше с цитатами-эпиграфами я тоже расскажу позже.

Кроме того, в эпиграфах, стихотворениях и цитатах может быть автор текста, которого следует оформить, как text author.

На этом этапе работы с FBD я еще провожу дополнительную корректировку картинок с целью оптимизации их размера. Для этого я выхожу из редактора полностью, (в настройках у меня обязательно стоит галочка load last book at startup и захожу в папочку LastFile основной директории программы. В ней хранится файл html0 и картинки к нему. Эти картинки я и оптимизирую с помощью IrfanView (впрочем, программа может быть любая, кому что нравится). После чего вызываю FBD снова или просто так, или с помошью открытия этого html0.

После выделения всех заголовков надо сформировать будущую структуру книги. На этом этапе очень удобен в использовании FictionBookSectionEditor. Он вызывается с помощью иконки

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
и выглядит так
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

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

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

После чего обязательно нажимаем кнопочку apply, чтобы записать текущее расположение секций. ВНИМАНИЕ! Если вы выйдете из редактора секций и снова войдете в него секции снова будут выглядеть неразмеченными! Ваши изменения в редакторе станут не видны! Поэтому, не выходите из редактора секций до получения желаемого результата!

Осталось сделать последнее перед собственно изготовлением fb2-файла - отформатировать сноски. Для этого выделите сноски и сделайте Format->selected notes.

Теперь можно вызвать меню создания FB2.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Если Вы все сделали правильно, то поля автора, названия книги и аннотации уже заполнены. Вам останется выбрать жанр из предлагаемого списка и вставить обложку, перетащив ее мышкой из окошка проводника Windows в окошко book cover picture. Проверьте настройки - обязательно должна быть включена опция book for library. Для грамотного определения тире/дефисов я в последнее время использую параметр dashes->long, но скриншот переделывать не стала. Нажимаем на кнопочку make book и ждем звукового сигнала, сигнализирующего о том, что книга готова.

В принципе теперь нужно провести валидацию получившегося файла. В случае возникновения ошибок автоматически включается очень удобный инструмент FictionBookInvestigator, в котором можно поправить неправильные куски кода. Он же вызывается в окне "Make Fiction Book File" кнопкой "load to FBI", которая активируется после создания fb2. FBI (Fiction Book Investigator) - это специализированный ручной редактор/валидатор fb2-файлов. По опциям - раз в несколько помощнее FBE по набору опций. Кроме того, в нем я делаю массовые замены для тире, не распознанных FBD как длинные и делаю цитаты, о которых говорила ранее.

После изготовления fb2 загрузить файл в FBI, затем в Find/Replace:

1. find what: uni(44)uni(45)uni(32)

replace with: uni(44)uni(32)uni(151)uni(32)

Нажать "replace all"

Это преобразует все конструкции вида "запятая дефис пробел" в "запятая пробел длинное тире пробел".


2. find what: uni(46)uni(45)uni(32)

replace with: uni(46)uni(32)uni(151)uni(32)

Нажать "replace all"

Это преобразует все конструкции вида "точка дефис пробел" в "точка пробел длинное тире пробел".

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения


3. find what: uni(33)uni(45)uni(32)

replace with: uni(33)uni(32)uni(151)uni(32)

Нажать "replace all"

Это преобразует все конструкции вида "восклицательный знак дефис пробел" в "восклицательный знак пробел длинное тире пробел".


4. find what: uni(63)uni(45)uni(32)

replace with: uni(63)uni(32)uni(151)uni(32)

Нажать "replace all"

Это преобразует все конструкции вида "знак вопроса дефис пробел" в "знак вопроса пробел длинное тире пробел".


5. find what: uni(32)uni(45)uni(32)

replace with: uni(32)uni(151)uni(32)

Нажать "replace all"

Это преобразует все дефисы вида "пробел дефис пробел" в "пробел длинное тире пробел".


6. find what: <p>xxxxx</p>

replace with: <cite>

Нажать "replace all"


7. find what: <p>zzzzz</p>

replace with: </cite>

Нажать "replace all"

Последние 2 пункта создают цитаты из заданных ранее конструкций xxxxx и zzzzz. После изготовления fb2-файла они преобразуются в параграфы, которые и надо заменить на нужные теги. Обязательно после этого необходимо провести валидацию! Проверьте не осталось ли где-то не измененных конструкций (иногда в параграф попадает мусор в виде пробела, табуляции и т.п.).

После того, как все цитаты сформированы, я ищу поиском конец каждой цитаты и, если нужно, выделяю в конце автора текста. F7 - tag-list, выделить нужный текст, предварительно удалив теги <p> и </p>, двойной щелчок на теге <text-author>.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Обычно, на этом этапе я завершаю работу с FBD и перехожу к редактору FBE.

FBE - доводка до ума

Редактор FBE удобен тем, что позволяет редактировать как внешний вид, так и исходный код документа и хорошо выявляет его структуру. При раскрытии "дерева" оглавления все огрехи и недоработки видны сразу и их легко поправить. Причем править можно как в текстовом режиме, так и в режиме тегов.

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

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Когда такой разбитый заголовок встречается в тексте это во-первых - некрасиво, а во-вторых неудобно, так как этот заголовок - название главы. Это - два заголовка одного уровня, поэтому можно смело объединить секции и избежать ненужного увеличения количества секций. Для этого, поставив курсор на верхнюю из объединяемых секций, надо нажать Alt+Del. После этого выделить заголовок, превратившийся в секцию, и перетащить его в заголовок. Убрать лишние пустые строки, или добавить их, если заголовок слишком длинный и получается некрасиво.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Есть несколько пунктов, которые я правлю в любом документе, сделанном в FBD. 1. Аннотация. FBD, кроме создания отдельного пункта в description под названием annotation дублирует ее в отдельную секцию сразу после автора и названия книги. Этот дубляж не очень удобен для последующего использования файла, поэтому эту секцию я удаляю целиком. Правая кнопка мыши Select->body/section, и правой же кнопкой Cut или Delete.

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

3. Правим цитаты. Как Вы помните, мы выделили цитаты как эпиграфы. Теперь надо сделать из них цитаты. Это удобнее делать в редакторе исходных кодов (View->Source). Находим поиском тег <epigraph> и смотрим чуть выше. Непосредственно перед ним идет разрыв секций, так как эпиграф может ставиться только в начале секции. А вот цитата может идти в любом месте секции, поэтому разрыв секций можно убрать, а вместо <epigraph>...</epigraph> вставить <cite>...</cite>

Было

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Стало

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

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

5. Это, собственно, не правка. И сделать это можно было и в FBD, но я делаю здесь, потому что форма, предлагаемая для заполнения в FBE мне нравится больше. Это - заполнение description файла! Как его заполнять и что куда писать - интуитивно понятно и хорошо описано в других статьях, поэтому останавливаться на этом я не стану.

MTP - чистка сносок

В принципе, как я уже говорила, без этой программы можно было вполне обойтись. Но я ее люблю, а потому и расскажу. Она очень удобна, когда надо сделать массовую замену в файле (или нескольких файлах) текстовых конструкций с переменным текстом внутри на другие конструкции с тем же текстом. В принципе с тем же успехом можно применять BookCleaner, входящий в состав FBD, написав к нему соответствующий скрипт, и так, наверное, будет даже быстрее, но я пользуюсь MTP.

В этом процессоре есть свой, очень простой, язык макросов, текст на котором я приведу полностью.

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

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

1. Ликвидация маркировки параграфов.

Итак, в окошко ИСХОДНЫЙ ТЕКСТ пишем такой блок

TEXT="<p id=\""
NAME=BLOCK1 MAXLENGTH=20
TEXT="\">"

а в окошко ЗАМЕНИТЬ НА - такой

 TEXT="<p>"

и запускаем процессор.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

2. Добавление в ссылки типа "сноска"

ИСХОДНЫЙ ТЕКСТ

TEXT="<a l:href=\""
NAME=BLOCK1 MAXLENGTH=20
TEXT="\">"

ЗАМЕНИТЬ НА

TEXT="<a l:href=\""
NAME=BLOCK1
TEXT="\" type="note\">"
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

3. Определение номера сноски, как заголовка.

ИСХОДНЫЙ ТЕКСТ

TEXT="<p>["
NAME=BLOCK1 MAXLENGTH=20
TEXT="]"

ЗАМЕНИТЬ НА

TEXT="   <title>\n    <p>"
NAME=BLOCK1
TEXT="</p>\n   </title>\n   <p>"
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

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

BD - для вычитки

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

Если Вы помните, BD и FBD не создают, не понимают и не отображают цитаты. В будущем это, скорее всего, изменится, но в настоящем - увы. А хотелось бы видеть в устройстве все форматирование fb2 - во-первых, во избежание возможных ошибок и некорректностей, а во-вторых красивую книгу просто приятно читать. Поэтому, чтобы в ридере иметь выделение цитат и был написан данный скрипт.

Пример для BD, должен быть установлен последний апдейт. В FBD тоже можно это делать, но там старый вариант Book Cleaner, скрипт тот же, но кнопки другие.

Tools -> Book Cleaner script -> new

find what:

<cite[^>]*>

replace by:

<SPAN id=cite><FONT color=red>

RegExp: поставить галку.

table -> add row

find what:

</cite>

replace by:

</FONT></SPAN>

script -> save as -> "fb2cite"

input file: before formatting -> выбрать "fb2cite.bcf" input file: after formatting -> none output file (fb2): -> none

Закрыть Book Cleaner. После загрузки fb2 все cite будут выделены красным. Если внутри cite есть text-author, то он будет выделяться своим цветом. При двойном клике на первую строку cite будет селектироваться весь элемент, а на 4-ой панели статуса появится его тип: cite

Пример приведен в авторской редакции. Под себя я его несколько изменила. Изменения коснулись цвета текста - красный для меня слишком ярок. Долгое время я пользовалась еще и преобразованием текста в курсив, пока не столкнулась с книгой, в тексте цитат которой курсив оказался значимым. Но для желающих могу сказать, что можно вставить теги и . Кроме того, для того, чтобы бы при вычитке были видны длинные тире, я воспользовалась советом автора программы, переименовав на стадии загрузки все длинные и средние тире в греческую букву ? [uni(181)], а потом преобразовав ее обратно в тире. На картинках хорошо видно, где надо использовать какой скрипт, хранящийся в файле, с расширением .bcf

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения
Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Внимание! После использования Book Cleaner в режиме теговых замен настоятельно рекомендуется проверить тэговое дерево Html Fragment Editor-ом, особенно неспециалистам в html.

Окончательный результат

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

Приятного чтения!

--Marina Ch 21:27, 4 октября 2006 (MSD)