Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 205 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Работа в InDesign

GREP — это ж вам не алгебра

Добавлено на 10.03.2019 – 16:30Без комментариев | 1 364 views

В одной из работ, выполняемых мной, начальник распорядился раскрасить числа в таблицах таким образом: от 0 до 49 — красным цветом, от 50 до 59 — оранжевым, и т.д. до 100, мимоходом обронив, что такое легко сделать при помощи GREP. Я встал в ступор, мозги заклинило. Полнейший когнитивный диссонанс! «Какой нафиг GREP? GREP — это ж вам не алгебра!» Спрашивать у начальника решительно не хотелось. Спросить — это значит уронить в его глазах уровень своей квалификации. Вручную красить каждое число не хотелось тем более. Размышления и повтор возможностей GREP не помогли. Отчаявшись, совсем уж было собрался звонить Михаилу Иванюшину и заказывать скрипт, так как таблиц в моей работе не одна сотня, а Михаила знаю давно как сильнейшего мастера скриптов. Чего стоит только его знаменитейший скрипт DOTextOК! Ну да ладно, не о нем пост.

Воистину, не пропадет в жизни тот, кто умеет искать в интернете! Ни на что не надеясь, будучи уверенным на все сто, что подобная задача не для GREP, для очистки совести начал поиск и я. О, счастье, в группе фейбука «The Treasures of GREP» нашелся подобный пример, с помощью которого мне удалось выполнить полученное задание. GREP — это, конечно, не алгебра, но решать подобные задачи, оказывается, можно!

Если у вас при чтении условия этой задачи тоже возник когнитивный диссонанс, то читайте далее.

В составе абзацного стиля для чисел делается GREP-стиль, состоящий из нескольких Grep-выражений. Каждое Grep-выражение применяет нужный цвет при помощи символьного стиля. В каждом символьном стиле прописан только цвет символов. Вот пример параметров символьного стиля Red:

Итак, надо покрасить числа в таблице:

от 0 до 49 — красным цветом;
от 50 до 59 — оранжевым;
от 60 до 80 — голубым;
от 80 до 100 включительно — зеленым;
больше 100 — остаются черными.

Сделаем символьные стили на все цвета, кроме черного.

GREP-стиль, состоящий из нескольких grep-выражений, выглядит так:

 

Например, grep-выражение для выделения красным: \b(\d|[1-4]\d)\b — видим, что искомое число может быть или однозначным от 0 до 9 (задается первым \d), или двузначным — задается выражением в квадратных скобках и вторым \d (вертикальная палочка как разделитель между этими вариантами). В случае двузначного числа в разряде десятков должны быть цифры от 1 до 4, а в разряде единиц — любая цифра от 0 до 9  (\d). Таким образом в искомый диапазон попадают числа от 0 до 49. Выражение \b следует читать как «в пределах одного слова».

grep-выражение для поиска чисел от 50 до 59 выглядит так: \b(5\d)\b. Ищется такое двузначное число, у которого число десятков — 5. А число единиц — от нуля до 9 (задается выражением \d).

Думаю, теперь вам уже понятны оставшиеся два grep-выражения.

 

 

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.