FictionBook Editor V 2.66 Руководство - Izekbis
Шрифт:
Интервал:
Закладка:
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) — (подзаголовок, курсив);
Слова в скобках описывают, какими тегами будут выделены новосозданные подписи.