Точка, запятая и знак сноски (дополнение к скрипту DoTextOK)
В тексте книги очерёдность знаков пунктуации и знака сноски в разных языках различается. В русском языке сначала знак сноски, потом точка. В английском знак сноски после точки.
Скрипт DoTextOK.jsx обрабатывает эти условия.
Но иногда бывают случаи, когда знак сноски должен быть после точки, а не перед ней. Например, если это короткая запись слов ‘век’, ‘веков’ — в., вв. Или сокращения т.д., т.п.
Вероятно, могут быть случаи с запятой, когда надо изменить её положение относительно знака сноски.
Это всё такие особые случаи, которые нет смысла добавлять в DoTextOK, а целесообразнее сделать отдельный скрипт. И он сделан, называется FootnoteSignAndPunctuation.jsx.
Именно скрипт, grep-заменой знак сноски и точку не переставить. И автоматическая замена по всему файлу, не глядя, тут даже навредит, а не поможет. Эта задача — тот случай, когда надо смотреть и принимать решение по каждому конкретному варианту взаимного размещения знаков сноски и пунктуации.
Скрипт находит все определенные условиями поиска сноски и знаки пунктуации. После этого по ним можно пройти кнопками [<] и [>] и там, где надо, переставить знаки. Обрабатывается весь документ, проверяется оформление обычных и концевых сносок.
DoTextOK ставит перед знаком сноски волосную шпацию. Эта шпация всегда есть в текстах, подготовленных к вёрстке скриптом DoTextOK, но может отсутствовать в текстах, готовившихся другими скриптами. И FootnoteSignAndPunctuation.jsx при обработке предполагает, что рядом со знаком сноски эта шпация есть.
Если сноска уже обработана (изменено положение знака пунктуации рядом с ней), то она повторно обработана не будет.
В этом случае на экране на 2 секунды будет сообщение “Эта сноска уже обработана”.
Всё, что не сказано тут, можно узнать, нажав кнопку [?].
Здесь, как и во всех других скриптах ресурса dotextok.ru, есть кнопка вывода на экран многостраничного PDF описания программы.
Обновление 13.05.2026
Совершенно неожиданно пришло в личные сообщения два вопроса. Первый был с просьбой уточнить, почему иногда после обработки скриптом DoTextOK в тексте нет упомянутой волосной шпации.
Да, в начале было сказано, что DoTextOK ставит волосную шпацию. Это так. Но только в случае, когда знак сноски стоит после буквы, чтобы визуально чуть отодвинуть знак сноски от слова. А если в DoTextOK на вкладке «Оформление текста» выбран вариант «...сначала точка или запятая, затем знак сноски», то волосная шпация не ставится. В этой паре знаков она не нужна.
Второй отклик на этот скрипт был с вопросом, можно ли его как-то изменить, чтобы переставлять знак сноски и знак пунктуации, когда между ними нет шпации.
Неожиданное попадание в проблему, решение которой, как оказалось, молча ищут многие верстальщики. Без скрипта только один вариант: идти по тексту grep-поиском, и потом руками обрабатывать каждый случай. Но с использованием скрипта мелких действий руками становится много меньше.
Скрипт доработан. Он проверяет, есть ли шпация перед знаком сноски, и если есть, то учитывает это. И в этом скрипте проверяется только факт наличия шпации, используемой в индизайне (исключая пробел, табуляцию и концевую шпацию). Какая это конкретно шпация, не уточняется.
Обновлённая версия доступна по той же ссылке.
