Висячие предлоги и союзы
Автоматически расставляет неразрывные пробелы после предлогов и союзов во всём документе — включая мастер-страницы, сноски и скрытые слои.
Что такое висячие предлоги
Висячий предлог — это короткий предлог, союз или частица («в», «на», «и», «а», «но»), которая оказывается последней на строке, а слово, к которому она относится, переносится на следующую. Формально ошибки нет: текст читается, смысл не теряется. Но у этой детали есть накопительный эффект.
Правило избегать однобуквенных и двухбуквенных «хвостов» в конце строки — не личное предпочтение, а давняя редакционная норма русской типографики. Оно зафиксировано у А. Э. Мильчина («Справочник издателя и автора») и много десятилетий было обязательным требованием для книжных и журнальных издательств.
Почему это важно на практике:
Ритм чтения. Глаз воспринимает текстовый блок по силуэту строк. Предлог, оторванный от своего слова, создаёт микро-паузу — читатель на долю секунды спотыкается, даже не осознавая почему.
Восприятие качества. Клиент или редактор часто не может сформулировать, что именно не так с вёрсткой, но ощущение «немного неряшливо» считывается подсознательно.
Масштаб. В одном абзаце — незаметно. В каталоге или годовом отчёте на десятки полос — накапливается в заметный шум.
Стоимость правки. Если проверка не встроена в процесс, она превращается в отдельный этап ручной вычитки перед сдачей — самый нудный и самый ошибкоёмкий.
Чем это решается
Ручная вычитка
Построчный просмотр текста с фокусом на правый край каждой строки. Работает для одного абзаца. На объёме от нескольких полос — количество строк растёт линейно, а внимание к концу документа падает нелинейно. Любая последующая правка текста меняет разбивку на строки, и проверку приходится повторять заново.
Find/Change (текстовый поиск)
Стандартный текстовый поиск (Edit → Find/Change, вкладка Text) ищет буквальные последовательности символов. Можно искать конкретное слово, но нельзя одним запросом описать «любой предлог из списка перед пробелом» — пришлось бы прогонять 10–20 предлогов по очереди, вручную.
GREP Find/Change
GREP (вкладка того же диалога) — полноценный поиск по регулярным выражениям. Здесь можно описать сразу целый класс совпадений одним паттерном.
Например, чтобы найти все однобуквенные предлоги перед пробелом:
(?<=\s)[всуоя]\s
Или чтобы найти все двухбуквенные предлоги и союзы в конце строки:
(?<=\s)(на|по|из|за|от|до|об|ни|но|да|же|ли)\b$
Но сохранённый пресет не закрывает всё:
- Change All нужно запускать в каждом документе отдельно
- Список предлогов приходится обновлять руками в тексте паттерна
- Мастер-страницы, сноски, скрытые и залоченные слои — набор чекбоксов, который нужно перепроверять каждый раз
- Диалог сообщает только «Done», без цифр — сколько заменено, узнать нельзя
- Сокращения вроде «г. Москва» требуют второго отдельного запроса
GREP-стили — частая путаница
GREP Style (вкладка в настройках абзацного стиля) — это принципиально другой инструмент. Он применяет к найденному фрагменту символьное форматирование (шрифт, цвет, кернинг), но не меняет сам текст и не может вставить символ неразрывного пробела. Для замены символов нужен Find/Change или скрипт.
Как работает скрипт
Скрипт делает всё автоматически:
- Берёт полный список предлогов (45 штук) и союзов (18 штук)
- Запускает GREP find/change по всему документу одним вызовом
- Обходит мастер-страницы, сноски, скрытые и залоченные слои
- Отдельно обрабатывает сокращения «г.» и «гор.» перед заглавными буквами (lookahead)
- Показывает точную статистику: сколько предлогов и сколько сокращений заменено
Всё в одном Undo. Один двойной клик — и задача решена.
До / после
До: 40-страничный навигационный буклет. Заголовки на мастер-страницах, подписи к схемам, списки помещений. Предлоги «в», «на», «с» регулярно повисают в конце строк. Перед сдачей — час ручной вычитки.
После: пару секунд. Все висячие предлоги заменены, сокращения городов обработаны. Форматирование сохранено.
Примеры GREP для мелких задач
Скрипт решает всё разом, но иногда нужно точечно поправить одну проблему через GREP Find/Change. Вот два полезных паттерна:
Заменить двойные пробелы на одинарные:
Find: \s{2,}
Change: (один пробел)
Находит два и более пробелов подряд, заменяет на один. Работает в Find/Change на вкладке GREP.
Убрать пробелы перед запятой и точкой:
Find: \s(?=[,.])
Change: (пусто)
Находит пробел, который стоит перед запятой или точкой, и удаляет его. Частая проблема при импорте текста из Word.
Что входит
- Скрипт NonBreakingSpaceAfterPrepositions.jsx
- 45 предлогов и 18 союзов в одном паттерне
- Обработка географических сокращений (г., гор.)
- Работает на мастер-страницах, сносках, скрытых и залоченных слоях
- Сохраняет форматирование
- Всё в одной операции Undo
- Статистика замен
- Инструкция по установке (PDF)
199 ₽ 149 ₽ — Забрать по подписке →