[ID CC-CC2021] Задать строчке стиль

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 071
Реакции
265
Коллеги, приветствую!
Такая задача встала:
нежно присвоить определенный стиль первой строке стихотворения.
В арсенале есть скрипт nextStyleApplier, но проблема в том, что стихи центрованы
по самой широкой строке. Можно ли как-то сделать, чтобы первые строчки остались
с тем же отступом который был? Ровнять заново как-то грустно.
 

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 071
Реакции
265
Да. каждая строчка — абзац.
пред стихом звездочки со своим стилем.
Первой надо задать отличный от основного стиля стиль
для оглавления потом.
По недомыслию, вначале все поцентровал,
а теперь вот...


Не по теме:
Да, смешная опечатка)) Еще смешнее как-то раз было
увидеть опечатку прямо на титуле книжки в слове «Лениздат» )))

 
Последнее редактирование:

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 071
Реакции
265
Уж копал, но видно не с моим умом))
Может как-то макросом можно задать отступ
такой же как у последующей строки?
 

KDbled

Участник
Сообщения
142
Реакции
38

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 071
Реакции
265
Untitled-1.jpg
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Назначением character style можно обойтись?
 

Андрей Викторов

Топикстартер
15 лет на форуме
Сообщения
1 071
Реакции
265

KDbled

Участник
Сообщения
142
Реакции
38
Добавьте в начале последней строки символ shift+TAB и строка автоматом уйдет вправо, даже если всё по центру.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
В арсенале есть скрипт nextStyleApplier
Доработанный ниже, запоминает отступ слева и абзацный отступ перед назначением стиля, а после назначения возвращает эти параметры.
Работоспособность не проверял, т.к. не на чем. Проверяйте на копии материала.
JavaScript:
myStory = app.selection[0].parentStory;

myParagraphs = myStory.paragraphs;
myEnd=0;
var abz, lft;

while (myEnd<(myParagraphs.length - 1))
{
if (myParagraphs.item(myEnd).appliedParagraphStyle.nextStyle != myParagraphs.item(myEnd).appliedParagraphStyle) {
    
    abz = myParagraphs.item(myEnd+1).firstLineIndent;
    lft = myParagraphs.item(myEnd+1).leftIndent;
    
    myParagraphs.item(myEnd+1).applyParagraphStyle(myParagraphs.item(myEnd).appliedParagraphStyle.nextStyle, true);
    
    myParagraphs.item(myEnd+1).firstLineIndent = abz;
    myParagraphs.item(myEnd+1).leftIndent = lft;
    
    }
myEnd++;
}

alert("Alles!");