Шрифт:
Интервал:
Закладка:
Символ, который идет перед кавычкой, нужно оставить в неприкосновенности. Поэтому в поле замены вводится обращение к выражению в строке поиска — $1.
Теперь закрывающая кавычка. После нее могут идти: пробел, запятая, точка, закрывающая скобка, вопросительный знак, восклицательный знак, дефис, символ «многоточие».
Конструкция поиска:
(S)"([s!.)-…,?:;])
Конструкция замены:
$1»$2
Здесь используется два выражения. Первое означает, что перед закрывающей кавычкой должен идти НЕ пробел. Второе выражение содержит перечисление символов, которые могут идти после нее. Соответственно, в конструкции замены идет обращение к двум выражениям.
Напоследлк должен заострить ваше внимание, что в режиме исходника FB Editor регулярные выражения функционирует несколько по-другому. В частности, не получается использовать метасимвол «|», некорректно обрабатываются перечни, содержащие кириллицу.
§ 4.6 Использование скриптов
Автор FB Editor предусмотрел расширение его возможностей при помощи Java Script.
Вызываются они из меню ToolsScripts[скрипт].
Первые девять скриптов можно вызывать клавишами Ctrl+1…9.
Документации, разумеется, не предусмотрено никакой. Во всем придется разбираться самостоятельно.
Поэтому, перед тем, как заняться написанием скриптов, необходимо проштудировать хороший справочник по функциям JavaScript с примерами.
Очень подробный справочник входит в состав MSDN Library. Много полезной информации можно найти также на W3SCHOOLS.
Из бумажных изданий могу посоветовать «JavaScript и DHTML: сборник рецептов» Дэнни Гудмана (доступна в Сети) и «Полный справочник по JavaScript» Фрица Шнайдера. Обе эти книги издавались на русском языке.
Если английский язык для вас не проблема, а средство общения, то на уже упоминавшемся www.flazx.com вы сможете бесплатно скачать множество руководств по JavaScript. Среди них хочу особо выделить JavaScript: The Definitive Guide. Книга выдаржала уже пять изданий.
В газетной публикации я приводил два простеньких скрипта собственного изготовления.
Здесь такой необходимости нет. Как пример, рекомендую посмотреть скрипты, написанные для FB Writer, моим земляком, известным на форуме FictionBook.org под ником Sclex.
Правда, тут есть одно маленькое, но очень вредное «но». Механически перенести наработки Sclex-а под FBE 1.0 не получится. Они жестко заточены под FB Writer и совместимый с ним FB Editor 2.0.
§ 4.7 Баги с нами!
Хотя FB Editor — довольно надежная и функциональная программа, он все-таки содержит несколько неприятных ошибок.
Вот, к примеру, символ по внешнему виду похожий на тире «—» (десятичный код 173) в режиме WYSIWYG не виден. Вернее виден, только если приходится на конец строки. Приходится переключаться в режим Source и вылавливать эти символы-паразиты.
Бывает так, что при попытке сохранить книгу выскакивает окошко со следующим сообщением:
Code: 8004005 [Unspecified error]
Source: msxml4.dll
Description: Unexpected NameSpace parameter
Это, скорее всего, где-то образовалась ошибочная конструкция наподобие section/EM/cite/EM.
Паниковать не надо. Внимательно пройдитесь по всей книге, обращая особое внимания на цитаты и стихи. Обнаружив цитату или стихи, разорванные на отдельные абзацы, аккуратно соберите их в один элемент.
Такое также случается, если вы копировали через буфер содержимое html, в котором содержались картинки. Найдите эти картинки и удалите.
Также небезопасно превращать абзац в subtitle и тут же отменять это действие. Есть риск, что программа «захлопнется». Разумеется, ничего при этом не сохранив.
При редактировании, если рядом оказыывается два и более подряд идущих пробелов FB Editor автоматически конвертирует второй и последующие пробелы в неразрывные. Вообще-то это никакой не баг, а особенность, связанная с тем, что FB Editor использует DHTML, но все равно очень раздражает.
§ 4.8 Дальнейшее развитие редактора
C начала 2007 года вокруг FB Editor наблюдается весьма активное шевеление. Не совсем, откровенно говоря, здоровое.
За модернизацию FB Editor взялись сразу два человека.
Автор, известный на форуме Fictionbook.org, как Pilgrim, доработал FB Editor, так, чтобы он поддерживал все новшества FictionBook 2.1. К сожалению, энтузиазма у него хватило ненадолго.
Алексей Савельев (Alex Saveliev), выпустивший свой продукт под названием FB Writer, напротив, сделал упор на функциональность программы. Обеспечена совместимость с IE 7.0, исправлено несколько особенно вредных ошибок, доработан интерфейс, появилось много новых «фич». Особого внимания и, чего кривить душой, восхищения, заслуживают написанные под FB Writer скрипты, значительно облегчающие и ускоряющие подготовку книги. Начиная с версии 2.0 была реализована даже проверка правописания.
Все было бы хорошо, но Алекс потребовал за свою работу деньги. Мало того, последние версии редактора требуют для запуска подключение к Internet, что автоматически вычеркнуло эту софтину из списка программ, которые я использую.
Кончилось все это печально, но закономерно. Какой-то доброхот взял, да и взломал FB Writer. После чего разобиженный автор закрыл проект.
К счастью, еще до этого грустного финала совершенствованием FB Editor-а занялся программист компании «ЛитРес». За основу были взяты исходники Pilgrim-a. На данный момент этот продукт является, хотя и весьма сырой, но самой многообещающей разработкой в этой области.
§ 4.9 Альтернативные средства редактирования
Говоря о редактировании FB2-книг, несправедливо было бы не упомянуть об разработках, существующих, так сказать, в параллельной плоскости.
Book Designer 4.0В первую очередь, это Book Designer В. Войцеховича и его специальная версия для FB2 — FB Designer.
Программа BookDesigner была разработана как средство для конвертации книг из любого формата в любой же формат. И она полностью отвечает своему назначению. Если требуется сконвертировать книгу в экзотический формат или, наоборот, извлечь из оного, то здесь альтернативы Book Designer просто нет.
Проблема, в том, что BookDesigner совершенно не рассчитан на серьезное редактирование книг. Открыть файл, быстро разметить его и сохранить в новом формате — с этим он справляется великолепно. И функция Book Cleaner (пакетный запуск регулярных выражений) также достойна всяческих похвал. Но когда приходится долго и вдумчиво редактировать книги, то выясняется, что BookDesigner в этом не силен.
Не совсем корректно работает функция Undo. Не поддерживается элемент cite. То, что отображается на экране, не всегда соответствует реальному содержимому файла. Даже сохранение работает совсем не так, как мы привыкли.
На язык так и просятся слова незабвенного товарища Огурцова: «Все молодцы, работа проделана большая, но так дело не пойдет!»
Часть V
Прочие вопросы создания книг в формате FictionBook
§ 5.1 Советы по оформлению книг
Совет номер один. Не стоит стремиться воспроизвести все полиграфические изыски печатного оригинала.
В понятие «изыски» входит, например, выделение заголовков жирным или курсивным шрифтом, отбитие фрагментов текста пустыми строками и т.д.
Но некоторые правила оформления бумажных книг полезны и даже обязательны для книг электронных.
Это касается, в частности, использования специальных символов.
Символ «тире» или «минус», который имеется на клавиатуре, вовсе не «тире», а дефис.
Для обозначения «тире» используется символ «длинное (оно же типографское) тире» (десятичный код 151). Как набирать символы через десятичные коды см.«§ 5.6 Символы, которых нет на клавиатуре».
Короткое тире — «–» (десятичный код 150) используется между числами, например: «1941 – 1945 г.» или в качестве математического минуса.
Кавычки также должны быть типографские, «елочкой» — „«»“. Возможно также использование кавычек «лапками», — «„“», особенно, если это кавычки вложенные. При загрузке книги в библиотеку Альдебарана, к примеру, управляющий скрипт автоматически заменяет вложенные кавычки «елочки» на «лапки». Использование компьютерных кавычек «""», а также английских (верхних) кавычек «“”» в русскоязычных книгах недопустимо.
Если понадобилось сделать р а з р я д к у, делайте ее с помощью неразрывных пробелов (десятичный код 160). Но, вообще-то, злоупотреблять разрядкой не следует.
Об использовании неразрывных пробелов. В FB2 ими отделяются: а) длинное тире в начале прямой речи от идущего следом слова; б) длинное тире в тексте от идущего впереди слова или знака препинания. Еще неразрывным пробелом можно «связать» идущий в начале предложения однобуквенный предлог со следующим словом.
Списки можно организовать, ставя в начале каждого абзаца символ «bullet» — «•», или «звездочку» — «*». Первый и последний абзац списка можно отделить от основного текста пустыми строками. Еще можно офомить список элементом cite.
- Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4) - Михаил Кондратович - Прочая околокомпюьтерная литература
- Создание электронных книг в формате FictionBook 2.1: практическое руководство (СИ) - Кондратович Михаил Иосифович "Юзич" - Прочая околокомпюьтерная литература
- Журнал PC Magazine/RE №11/2008 - PC Magazine/RE - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 183 - Коллектив Авторов - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 34 - Коллектив Авторов - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 25 - Коллектив Авторов - Прочая околокомпюьтерная литература
- Основы домашнего компьютера. Практическое руководство для больших и маленьких - Лев Крайнов - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 164 - Коллектив Авторов - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 200 - Коллектив Авторов - Прочая околокомпюьтерная литература
- Цифровой журнал «Компьютерра» № 28 - Коллектив Авторов - Прочая околокомпюьтерная литература