355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Izekbis » FictionBook Editor V 2.66 Руководство » Текст книги (страница 3)
FictionBook Editor V 2.66 Руководство
  • Текст добавлен: 4 октября 2016, 22:43

Текст книги "FictionBook Editor V 2.66 Руководство"


Автор книги: Izekbis



сообщить о нарушении

Текущая страница: 3 (всего у книги 5 страниц)

Расстановка сносок со вводом (с переходом)

В версии 2.66 называется «Добавить сноску, введя ее текст в окошке».

Сноски, выделенные звездочкой или номером( 1), типа: «На расстоянии в 200 парсеков* …

* Парсек расстояние проходимое ….»

Если сносок не много можно использовать скрипт «Примечание(комментарий) со вводом». Вырезать текст сноски без звездочки(номера). Курсор ставим на место будущей сноски. То есть на место первой звездочки(номера). В меню «Скрипты» находим «Добавление примечания(комментария)» – «Добавление сноски(комментария) со вводом» Щелкаем мышкой. В появившемся окне добавляем скопированный текст.

Жмем «OK». FBE сообщит, что сноска добавлена.

Жмем «OK». Убираем оставшийся мусор. В результате появилась аккуратная ссылка – [1]1
  Пример вставки «Примечания со вводом».


[Закрыть]
. В конце документа появилось новое «Примечание» с текстом.

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

При вставке сносок, состоящих из нескольких абзацев, надо воспользоваться скриптом «Вставить примечание(комментарий) с переходом (В версии 2.66 – Добавить сноску(комментарий), перейти к ее разделу)».

Отличается тем, что после вставки номера – переходит в конец в раздел Примечания(Комментарии).Там можно вставить любое количество абзацев.

Поиск по набору регэкспов

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

В каждом случае Вам придется решать, ошибка это или нет. Исправления производятся вручную в тексте. После этого запустите скрипт дальше.

Если вы заметили повторяющуюся ошибку, вы сами можете добавить ее в регэксп. Для этого откройте скрипт в текстовом редакторе (например: Notepad. В начале файла увидите правила построения регэкспов) и добавьте свои строки по типу:

tagRegExp(«(?‹![а-яё])гак(?![а-яё])»,"i","Найдено: слово "гак" ("так" с опечаткой).");

tagRegExp("(?‹![а-яё])эго(?![а-яё])","i","Найдено: слово "эго" ("это" с опечаткой).");

addRegExp("[A-Za-zА-яЁё][—]","i","Найдено: прилипшее тире в конце и середине слова");

addRegExp("[—][A-Za-zА-яЁё]","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-файл должен лежать в папке скриптов, выбранной в настройках редактора.


    Ваша оценка произведения:

Популярные книги за неделю