Спасибо за проделанную работу над новым полезным и нужным скриптом. Я так понимаю, что он теперь может
заменить собой скрипты "Создать сноски или комментарии из абзацев, помеченных знаками решетки/каретки/звездочки".
Эти скрипты теперь становятся лишними. Поэтому позволю себе процитировать некоторые соображения
из моего же поста из смежной темы по скрипту со звездочками.
В бумажных книгах бывает так, что если текст сноски внизу страницы длинный, то его переносят на
следующую полосу. При распознавании или при переносе копипастой и прочими конвертациями уже в
редактируемом документе fb2 получаем примерно такую картину:
Страница 1Какой-то текст*, ещё текст**, и ещё текст***.
* Текст примечания с одной звездочкой со стр. 1.
** Текст примечания с двумя звездочками со стр. 1.
~~Второй абзац примечания с двумя звездочками со стр. 1.
*** Первая часть текста примечания с тремя звездочками со стр. 1 (продолжение следует)Страница 2 Какой-то текст со сноской* или без.
~~!!!Продолжение текста сноски с тремя звездочками со стр. 1.
* Текст примечания с одной звездочкой со стр. 2.В этом примере я пометил для наглядности такой добавочный абзац кроме двух тильд ещё и красным цветом,
в отличии от простого добавочного абзаца, помеченного только двумя тильдами "~~".
Скрипт всё-таки корректно работает со сносками с переносом на следующую полосу, кроме таких моментов как наличие
между последним текстом сноски (верней частью текста сноски) и его продолжением :
1. Пустой строки. (В моём примере это как раз пустая строка перед строкой с текстом "Страница 2".
2. Строки из одних пробелов.
3. Строки из одних зведочек.
4. Строки из смеси звездочек и пробелов.
Причем, не важно, находится ли такая строка непосредственно перед перенесённой частью текста сноски, или между ними
находится ещё какой-то текст. Такая фича, как мне представляется осталась от скрипта "Создать сноски или комментарии
из абзацев, помеченных звездочками". Там это было нужно, что бы отделить звездочки-сноски от звездочек-сабтайлов, и
ещё по каким-то соображениям в связи с пробелами и пустыми строками.
Тогда я высказывал идею-пожелание решить это новым скриптом с примерным именем "Объединить разорванные тексты сносок", который
бы переносил бы такие части-абзацы, расположенные не следующими друг за другом, к ближайшим текстам сносок лежащим
выше, ну, т. е. туда, где им самое место. Или с условным названием "Перенос текстов сносок в конец книги", где скрипт
бы переместил по очереди все тексты сносок вместе с добавочными абзацами в конец документа для дальнейшей обработки его
скриптом "Создать сноски из выделенных абзацев". Но, так как выбран путь объединения скриптов и удаления лишних,
пришла такая идея: пометить строки перечисленные мною в четырех пунктах выше, удалив эти метки после расстановки сносок.
Автоматически, естественно. Тогда все дополнения текстов сносок корректно станут на свои места. Типа:
Перед созданием примечаний
найти:
^([ *]*)$
заменить:
%%%$1
После создания примечаний
найти:
^%%%([ *]*)$
заменить:
$1
Это у меня такие регулярки для замены в обычном окне Поиск. В этом примере я использовал метку в виде трех символов процента (%%%).
Так как, перенос текста сноски встречается не так что бы часто, хотелось бы видеть это опционно с проставлением галочки
"Учитывать переносы текста сносок на следующую полосу" (по умолчанию выключена). Можно также добавить окошко для ввода
символов собственной метки. Вдруг в специфичной книге окажется, что такие символы уже есть и немало и в самых неожиданных местах.
Вот такое пожелание.
Хотя, может быть найдется и более простое решение этой проблемы и я зря здесь распинаюсь.
четверг, 23 июня 2022 г. в 21:28:22 UTC+3, Sclex: