GREP-стили – очень удобная вещь, они дают возможность задать в стиле абзаца (Paragraph Styles) стили символа (Charater Styles), которые автоматом будут применяться к тому или иному тексту. Например, с помощью GREP-стилей можно убрать висячие предлоги или применить определенное форматирование ко всем датам.
Добавляют GREP стили в одноименной вкладке у Paragraph Style:
К любому Paragraph Style можно добавлять сколько угодно GREP-стилей. Подробнее о том, что такое GREP-стили и как их писать, можно прочитать в справке по InDesign, ниже будут приведены примеры часто встречающихся в верстке GREP-стилей.
Многие GREP-стили связаны с расстановкой неразрывных пробелов. Чтобы сделать неразрывный пробел, нужно создать стиль, единственным содержимым которого будет галка в чекбоксе No Break, назовем его NoBreak:
Этот стиль понадобится далее.
Как убрать висячие предлоги
Применяем стиль NoBreak
К тексту:
(?<= )((в|во|без|до|из|к|ко|на|по|о|от|перед|при|через|с|у|не|за|над|для|об|под|про|и|а|но|да|или|ли|бы|то|что|как|я|он|мы|они|ни)( |\. |, ))+
И для предлогов в начале предложения:
((?<= )|(?<=^))((В|Во|Без|До|Из|К|Ко|На|По|О|От|Перед|При|Через|С|У|Нет|За|Над|Для|Об|Под|Про|И|А|Но|Да|Или|Ли|Бы|То|Что|Как|Я|Он|Мы|Они|Ни) )+
Как сделать неразрывный пробел в цифрах
Применяем стиль NoBreak
К тексту:
(?<=\d)(.)
Как сделать неразрывный пробел перед тире
Применяем стиль NoBreak
К тексту:
(?<=) (~=)
Как поднять верхний индекс в м2, км2, см3 и т.д.
Нужно создать стиль символа (Character Style), который будет применяться к верхнему индексу.
Например, он будет называться Index-verh.
В GREP пишем применить Index-verh
К тексту:
(?<=м)\d(?=\>)
Как добавить стиль ко всем адресам email автоматом
Применить ‘название стиля’
К тексту:
[\l\u\d.]+@[\l\u\d.]+
Добавить стиль ко всем фамилиям с инициалами
Для поиска фамилий формата Иванов В.П. в начале предложения используем выражение:
^(\u[- \w]+ \u\l?\. ?(\u\l?\.)?(, )?)+
Для поиска всех Ивановых В.П. по тексту пишем:
(\u[- \w]+ \u\l?\. ?(\u\l?\.)?(, )?)+
Ну а если инициалы идут перед фамилией, будет такая строчка:
(\u\l?\. ?(\u\l?\.) ?\u\l+ )+
Добавить стиль ко всем датам
Будем искать даты вида 20 января 1994 г.
GREP-выражение будет таким:
(\d|\d\d) (января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря) (\d\d\d\d) (г.)
как сделать стиль в котором вместо символа | вставляется перенос строки
В тексте, который фоном, — «шестЕдЯсятые годы». Это ж надо умудриться.
Добрый день.
После включения галочки «No Break» весть текст уходит за границу блока (если его ширина больше блока) и фильтры не применяются, в чем может быть проблема. Indesign CC 2017 Ru
Спасибо.
Текст исчезает в том случае, когда строчка не помещается в колонку, то есть если у вас конструкция типа *слово-неразрвный пробел-слово*, и в этих словах по каким-то причинам не работают переносы. В таком случае нужно настраивать переносы вручную. Попробуйте перелить этот текст куда-нибудь на поля в более широкую колонку и поставить где-нибудь плавающий перенос.
А как поднять индекс у двух последних символов? Верстаю каталог и в ценах копейки пишем индексом, это можно каким-то грепом автоматизировать?
Оо в 2020 я с этим столкнулся, и нужно создать НОВЫЙ СТИЛЬ «No Break» я ковырялся долго и нашел причину.