GREP-стили в InDesign – ускоряем верстку

GREP-стили – очень удобная вещь, они дают возможность задать в стиле абзаца (Paragraph Styles) стили символа (Charater Styles), которые автоматом будут применяться к тому или иному тексту. Например, с помощью GREP-стилей можно убрать висячие предлоги или применить определенное форматирование ко всем датам.


Добавляют GREP стили в одноименной вкладке у Paragraph Style:

GREP стили в InDesign как добавить

К любому Paragraph Style можно добавлять сколько угодно GREP-стилей. Подробнее о том, что такое GREP-стили и как их писать, можно прочитать в справке по InDesign, ниже будут приведены примеры часто встречающихся в верстке GREP-стилей.

Многие GREP-стили связаны с расстановкой неразрывных пробелов. Чтобы сделать неразрывный пробел, нужно создать стиль, единственным содержимым которого будет галка в чекбоксе No Break, назовем его NoBreak:

создание стиля неразрывного пробела NoBreak в InDedign

Этот стиль понадобится далее.

Как убрать висячие предлоги

Применяем стиль 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) (г.)

6 thoughts on “GREP-стили в InDesign – ускоряем верстку

  • 07.02.2017 в 18:54
    Permalink

    как сделать стиль в котором вместо символа | вставляется перенос строки

    Ответить
  • 16.03.2017 в 19:30
    Permalink

    В тексте, который фоном, — «шестЕдЯсятые годы». Это ж надо умудриться.

    Ответить
  • 17.01.2018 в 16:03
    Permalink

    Добрый день.
    После включения галочки «No Break» весть текст уходит за границу блока (если его ширина больше блока) и фильтры не применяются, в чем может быть проблема. Indesign CC 2017 Ru
    Спасибо.

    Ответить
    • 23.01.2018 в 19:38
      Permalink

      Текст исчезает в том случае, когда строчка не помещается в колонку, то есть если у вас конструкция типа *слово-неразрвный пробел-слово*, и в этих словах по каким-то причинам не работают переносы. В таком случае нужно настраивать переносы вручную. Попробуйте перелить этот текст куда-нибудь на поля в более широкую колонку и поставить где-нибудь плавающий перенос.

      Ответить
  • 20.02.2020 в 11:13
    Permalink

    А как поднять индекс у двух последних символов? Верстаю каталог и в ценах копейки пишем индексом, это можно каким-то грепом автоматизировать?

    Ответить
  • 06.05.2020 в 15:50
    Permalink

    Оо в 2020 я с этим столкнулся, и нужно создать НОВЫЙ СТИЛЬ «No Break» я ковырялся долго и нашел причину.

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *