<indesign/>

Висячие предлоги и союзы

Автоматически расставляет неразрывные пробелы после предлогов и союзов во всём документе — включая мастер-страницы, сноски и скрытые слои.

Что такое висячие предлоги

Висячий предлог — это короткий предлог, союз или частица («в», «на», «и», «а», «но»), которая оказывается последней на строке, а слово, к которому она относится, переносится на следующую. Формально ошибки нет: текст читается, смысл не теряется. Но у этой детали есть накопительный эффект.

Правило избегать однобуквенных и двухбуквенных «хвостов» в конце строки — не личное предпочтение, а давняя редакционная норма русской типографики. Оно зафиксировано у А. Э. Мильчина («Справочник издателя и автора») и много десятилетий было обязательным требованием для книжных и журнальных издательств.

Почему это важно на практике:

Ритм чтения. Глаз воспринимает текстовый блок по силуэту строк. Предлог, оторванный от своего слова, создаёт микро-паузу — читатель на долю секунды спотыкается, даже не осознавая почему.

Восприятие качества. Клиент или редактор часто не может сформулировать, что именно не так с вёрсткой, но ощущение «немного неряшливо» считывается подсознательно.

Масштаб. В одном абзаце — незаметно. В каталоге или годовом отчёте на десятки полос — накапливается в заметный шум.

Стоимость правки. Если проверка не встроена в процесс, она превращается в отдельный этап ручной вычитки перед сдачей — самый нудный и самый ошибкоёмкий.

Чем это решается

Ручная вычитка

Построчный просмотр текста с фокусом на правый край каждой строки. Работает для одного абзаца. На объёме от нескольких полос — количество строк растёт линейно, а внимание к концу документа падает нелинейно. Любая последующая правка текста меняет разбивку на строки, и проверку приходится повторять заново.

Find/Change (текстовый поиск)

Стандартный текстовый поиск (Edit → Find/Change, вкладка Text) ищет буквальные последовательности символов. Можно искать конкретное слово, но нельзя одним запросом описать «любой предлог из списка перед пробелом» — пришлось бы прогонять 10–20 предлогов по очереди, вручную.

GREP Find/Change

GREP (вкладка того же диалога) — полноценный поиск по регулярным выражениям. Здесь можно описать сразу целый класс совпадений одним паттерном.

Например, чтобы найти все однобуквенные предлоги перед пробелом:

(?<=\s)[всуоя]\s

Или чтобы найти все двухбуквенные предлоги и союзы в конце строки:

(?<=\s)(на|по|из|за|от|до|об|ни|но|да|же|ли)\b$

Но сохранённый пресет не закрывает всё:

  • Change All нужно запускать в каждом документе отдельно
  • Список предлогов приходится обновлять руками в тексте паттерна
  • Мастер-страницы, сноски, скрытые и залоченные слои — набор чекбоксов, который нужно перепроверять каждый раз
  • Диалог сообщает только «Done», без цифр — сколько заменено, узнать нельзя
  • Сокращения вроде «г. Москва» требуют второго отдельного запроса

GREP-стили — частая путаница

GREP Style (вкладка в настройках абзацного стиля) — это принципиально другой инструмент. Он применяет к найденному фрагменту символьное форматирование (шрифт, цвет, кернинг), но не меняет сам текст и не может вставить символ неразрывного пробела. Для замены символов нужен Find/Change или скрипт.

Как работает скрипт

Скрипт делает всё автоматически:

  1. Берёт полный список предлогов (45 штук) и союзов (18 штук)
  2. Запускает GREP find/change по всему документу одним вызовом
  3. Обходит мастер-страницы, сноски, скрытые и залоченные слои
  4. Отдельно обрабатывает сокращения «г.» и «гор.» перед заглавными буквами (lookahead)
  5. Показывает точную статистику: сколько предлогов и сколько сокращений заменено

Всё в одном 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 ₽Забрать по подписке →


Вопросы