[ID CS4-CS6] Вставка слова со следующей страницы-2

Статус
Закрыто для дальнейших ответов.

dega

Участник
Топикстартер
Сообщения
123
Реакции
19
Всем привет!
Подскажите, есть ли способ в CS6 автоматизировать расстановку кустод (первое слово последующей страницы)?
В 2010 году здесь уже поднималась эта тема:
Вставка слова со следующей страницы
были даже скрипты выложены (спасибо Eugenyus :). Все сделал по инструкции, но у меня почему-то не работает. Подскажите, пожалуйста, есть ли что-то подобное проверенное для indesign CS6? Или дело не в версии программы?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
но у меня почему-то не работает

Не по теме:
У меня почему-то идиосинкразия к подобным фразам.
Что значит - не работает? Как не работает? Что именно не работает?
Компьютер сгорел, пишу с холодильника или как? 'vottebe1'

 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Подправил под CS6. И условие
Скрипт ... работает при условии, что имеем один материал, который проходит по всей книге по всем страницам.
больше неактульно.
Код:
var GBLeft = [287,0,297,90];
var GBRight = [287,120,297,205];
var myGB = new Array();
var myTF = app.activeDocument.selection[0].parentStory.texts[0].parentTextFrames;
for (i=0;i<myTF.length-1;i++){
    var myText = String(myTF[i+1].texts[0].contents);
    var myWords = myText.split(" "); //Признак отдельного слова - обычный пробел
    try{
        myTF[i].parentPage.textFrames.item("NextPageFirstWord").contents = myWords[0];
        }
    catch (e){
                if (myTF[i].parentPage.side == PageSideOptions.RIGHT_HAND){myGB = GBRight;} else {myGB = GBLeft;}
        myTF[i].parentPage.textFrames.add({geometricBounds:myGB, appliedObjectStyle:app.activeDocument.objectStyles.item("NextPageFirstWord"), contents: myWords[0], name:"NextPageFirstWord"});
        }
   
    //Контроль неразрывных пробелов и слов за ними, и знаков припинания, попавших во фрейм
    app.findGrepPreferences = app.changeGrepPreferences = null;
   
    app.findGrepPreferences.findWhat = "\\s.+";
    myTF[i].parentPage.textFrames.item("NextPageFirstWord").changeGrep();
   
    app.findGrepPreferences.findWhat = "[[:punct:]]";
    myTF[i].parentPage.textFrames.item("NextPageFirstWord").changeGrep();
    }
 
  • Спасибо
Реакции: _MBK_, dega и LeonidB

dega

Участник
Топикстартер
Сообщения
123
Реакции
19
Работает! Спасибо!
 
Статус
Закрыто для дальнейших ответов.