Как сохранить отступ слева в стихах без ровного левого выравнивания?

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

ChiPmld

Топикстартер
12 лет на форуме
Сообщения
94
Реакции
0
Суть проблемы:
Есть doc-файл со стихами, выравнивание слева которых не постоянно. В Индез всё импортируется нормально: все отступы с нужными значениями. Но как только начинаю применять стиди абзаца для стихов, Индез выравнивает все строки по левому краю с постоянным зачением отступа... Как сохранить разные значения отступа слева под одним стилем абзаца?

Может есть возможность "заполнить символами(пробелами)" пространство от левой границы страницы до первой буквы строчки?

Построчное применение не приемлемо, т.к. текста много, времени мало.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Как сохранить отступ слева в стихах без ровного левого выравнивания?

Попробуйте назначать стили таким скриптом:
Код:
#targetengine "apsWithDiffLeftIndent"
getWindow();
function getWindow(){    
    var myDoc = app.activeDocument;
    var myPS = myDoc.paragraphStyles;
    var myPSid = [];
    var myPSN = [];
    var myPSG = myDoc.paragraphStyleGroups;
    for (i=0;i<myPS.length;i++){myPSN[i]=myPS[i].name;myPSid[i]=myPS[i].id;}
    for (j=0;j<myPSG.length;j++){
        var myPSS = myPSG[j].paragraphStyles;
        for (k=0;k<myPSS.length;k++){
            myPSN[myPSN.length]=myPSS[k].name+" ("+myPSG[j].name+")";
            myPSid[myPSid.length]=myPSS[k].id;
            }
        }
    var w = new Window ("palette","Назначим стиль, сохранив отступ");
    w.orientation = "row";
    w.add("statictext",undefined,"Абзацный стиль:");
    var listPS = w.add("dropdownlist",undefined,myPSN);
    listPS.maximumSize.width = 100;
    listPS.selection = 0;
    var butOK =w.add("button",undefined,"Выполнить");
    butOK.onClick = function(){main(myDoc.paragraphStyles.itemByID(myPSid[listPS.selection.index]));}
    w.show();
    }
function main(mySelectedParStyle){
    try{
    var myDoc = app.activeDocument;
    var mySel = myDoc.selection[0].paragraphs;
    var myIndent, myFLineIndent;
    for (i=0;i<mySel.length;i++){
        myIndent = mySel[i].leftIndent;
        myFLineIndent = mySel[i].firstLineIndent;
        mySel[i].appliedParagraphStyle = mySelectedParStyle;
        mySel[i].leftIndent = myIndent;
        mySel[i].firstLineIndent = myFLineIndent;
        }}catch(e){alert(e.description);}
    }
 
Статус
Закрыто для дальнейших ответов.