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

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

ChiPmld

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

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

Построчное применение не приемлемо, т.к. текста много, времени мало.
 
Ответ: Как сохранить отступ слева в стихах без ровного левого выравнивания?

Попробуйте назначать стили таким скриптом:
Код:
#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);}
    }
 
Статус
Закрыто для дальнейших ответов.