предупреждающее сообщение и прервет свою работу.
Настройки. В начале файла скрипта расположены определения констант, которые задают шаблоны для называния заголовков, для текста ссылок и пр. Соответственно при необходимости их можно поменять. Макрос %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›!), то такая скобка не будет обнаружена скриптом. По этой причине односимвольные 'скобки' предпочтительнее многосимвольных. Если вам все же приходится использовать многосимвольные, то после обработки скриптом нужно сделать поиск 'скобки' по тексту в режим 'Дизайн' (в случае приведенного примера искать нужно [! и!]), подправить случаи, где тег оказался внутри 'скобки', и запустить скрипт заново.
Приятной особенностью является то, что скрипт умеет извлекать из 'скобок' не только однострочные,