Пересчет дат

  • Автор темы Автор темы Cossack
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Cossack

Участник
Топикстартер
Сообщения
25
Реакции
0
Подскажите, пожалуйста, как можно реализовать следующую задачу.
Есть календарь с фразами типа "Январь 1" в отдельных фреймах. На каждой странице по одной дате. Теперь мне надо "пересчитать" календарь на следующий год. Условно, в феврале столько же дней как и предыдущем году. Для упрощения задачи достаточно сдвинуть числа на 1. Поменять "Январь 1" на "Январь 2". По идее это надо как-то сделать за один проход. Если я прогоняю замену "Январь 1" на "Январь 2", то у меня образуется "Январь 2" и на следующей странице "Январь 2". И следующая замена "Январь 2" на "Январь 3" уже не прокатывает.
Подскажите, хоть с какого конца ловить закономерности?

Спасибо.
 
Ответ: GREP в InDesign. Что и как

а вы стиль какой-нибудь символьный еще применяйте вместе с заменой, или атрибут (подчеркивание например). а в поиске укажите чтобы этого стиля или атрибута не было. а потом его отмените.

или надо копать поглубже - чтобы к найденному подвыражению прибавлять 1.

ну или макет надо смотреть, может там как-то через шаблоны и нумерацию проще было бы это сделать.
 
Ответ: GREP в InDesign. Что и как

Так. Уже теплее. Замена "Январь 1" на "Январь _2" и затем удаление "_" вполне годится. Но теперь усложняю задачку. Надо по всему году, без имени месяца. Есть элемент по которому можно искать. В верстке выглядит следующим образом. "Январь"+"!"(белым на белом фоне)+"1". Если искать по Тексту "!1" то находится, но находится и сразу "!11" и меняется на "!21". Если пытаюсь искать по GREP "!1$" просто в ID все находится, а вот ч-з скрипт FindChangeList с параметрами grep {findWhat:"!1$"} {changeTo:"!_2"} не находит. Наверняка не правильная запись с учетом исполнения в скрипте. Для обратных слэшей я правило понял, а здесь в чем разница?
 
Ответ: GREP в InDesign. Что и как

Нашел определенную закономерность. Если записать условие GREP в ID (которое пишется в XML файл), то там есть следующий параметр : <WidthSensitive value="0"> </WidthSensitive>. Вот если он стоит в "1" (true), то выражение срабатывает, если в "0", то не ловится. А как называется этот параметр в скрипте?
 
Ответ: GREP в InDesign. Что и как

Все решилось повторным изучением ветки. Два прохода.
Код:
{findWhat:"\!1$"} {changeTo:"!_2"}
потом
Код:
{findWhat:"_2$"} {changeTo:"2"}
Ну и все это в FindChangeList.
Осталось ручками подправить несколько последних дней месяцев. Но это уже мелочи.

Не по теме:
А то 10 таких версток по 400 полос, только прокручивать палец устает...
 
Статус
Закрыто для дальнейших ответов.