Entry tags:
Help по GREPу и готовая подсказка избавления от висячек
https://helpx.adobe.com/ru/indesign/using/find-change.html#WSa285fff53dea4f8617383751001ea8cb3f-6f59a -- Help по GREPу
http://solidcreature.livejournal.com/156466.html -- как автоатически избавиться от висячих предлогов (и поиметь головняк с переносами и плотностью строк)
Чтобы убрать висячие предлоги можно после каждого из них поставить неразрывный пробел (CTRL+ALT+SHIFT+X) это можно сделать автозаменой или, что лучше, применить к пробелу после каждого предлога свойство No Break, о том как это сделать автоматически, а не вручную и пойдет речь дальше.
Шаг 1: Создаем Character Style, в котором есть только одно свойство No Break (стиль я назвал также NO BREAK)
Шаг 2: Создаем Paragraph Style, где в настройках GREP задаем следующие параметры:

Настройки GREP для предлогов в середине предложения:
(?<= )((в|во|без|до|из|к|ко|на|по|о|от|перед|п ри|через|с|у|не|за|над|для|об|под|про|и|а|н о|да|или|ли|бы|то|что|как|я|он|мы|они|ни) ( |\. |, ))+
Настройки GREP для предлогов в начале предложения:
((?<= )|(?<=^))((В|Во|Без|До|Из|К|Ко|На|По|О|О т|Перед|При|Через|С|У|Нет|За|Над|Для|Об|П од|Про|И|А|Но|Да|Или|Ли|Бы|То|Что|Как|Я|О н|Мы|Они|Ни) )+
Так как это выглядит полнейшей абракадаброй, то дам небольшие пояснения:
(?<= ) — это условие, которое говорит, что применять стиль, только если перед предлогом стоит пробел
(?<=^) — это условие, которое говорит, что применять стиль, только если абзац начинается с предлога
(в|во|без|до| ... |ни) — список всех предлогов (а также союзов и местоимений), которых я не хочу видеть в конце строки
( |\. |, )) — те знаки, которые следуют после предлога: пробел, точка+пробел, запятая+пробел
+ — нужен для того, чтобы стиль применялся к нескольким подряд идущим предлогам (например: да и не стоило волноваться по этому поводу)
http://solidcreature.livejournal.com/156466.html -- как автоатически избавиться от висячих предлогов (и поиметь головняк с переносами и плотностью строк)
Чтобы убрать висячие предлоги можно после каждого из них поставить неразрывный пробел (CTRL+ALT+SHIFT+X) это можно сделать автозаменой или, что лучше, применить к пробелу после каждого предлога свойство No Break, о том как это сделать автоматически, а не вручную и пойдет речь дальше.
Шаг 1: Создаем Character Style, в котором есть только одно свойство No Break (стиль я назвал также NO BREAK)
Шаг 2: Создаем Paragraph Style, где в настройках GREP задаем следующие параметры:

Настройки GREP для предлогов в середине предложения:
(?<= )((в|во|без|до|из|к|ко|на|по|о|от|перед|п
Настройки GREP для предлогов в начале предложения:
((?<= )|(?<=^))((В|Во|Без|До|Из|К|Ко|На|По|О|О
Так как это выглядит полнейшей абракадаброй, то дам небольшие пояснения:
(?<= ) — это условие, которое говорит, что применять стиль, только если перед предлогом стоит пробел
(?<=^) — это условие, которое говорит, что применять стиль, только если абзац начинается с предлога
(в|во|без|до| ... |ни) — список всех предлогов (а также союзов и местоимений), которых я не хочу видеть в конце строки
( |\. |, )) — те знаки, которые следуют после предлога: пробел, точка+пробел, запятая+пробел
+ — нужен для того, чтобы стиль применялся к нескольким подряд идущим предлогам (например: да и не стоило волноваться по этому поводу)