Scripting 脚本Indesign:交替段落样式

Scripting 脚本Indesign:交替段落样式,scripting,styles,adobe-indesign,paragraph,alternate,Scripting,Styles,Adobe Indesign,Paragraph,Alternate,我如何做到这一点: 我有一个文档,有两种交替的段落样式,s1和s2。s1后面跟着s2,反之亦然。这与用户界面配合得很好。但是它如何与脚本一起工作呢 在下面的代码示例中,所有文本都被格式化为段落样式s1,而不是交替样式。使用用户界面添加段落时,段落格式会根据需要进行更改 var myDocument = app.documents.add(true); var s1 = myDocument.paragraphStyles.add({name:'one'}); var s2 = myDocumen

我如何做到这一点:

我有一个文档,有两种交替的段落样式,s1和s2。s1后面跟着s2,反之亦然。这与用户界面配合得很好。但是它如何与脚本一起工作呢

在下面的代码示例中,所有文本都被格式化为段落样式s1,而不是交替样式。使用用户界面添加段落时,段落格式会根据需要进行更改

var myDocument = app.documents.add(true);
var s1 = myDocument.paragraphStyles.add({name:'one'});
var s2 = myDocument.paragraphStyles.add({name:'two'});
with (s1) {nextStyle = s2;}
with (s2) {nextStyle = s1;}

var myTextFrame =  myDocument.spreads.lastItem().pages.lastItem().textFrames.add();
myTextFrame.geometricBounds = ["20mm","20mm","100mm","100mm"];
myTextFrame.parentStory.insertionPoints.item(0).appliedParagraphStyle = s1;
myTextFrame.contents = "abc\rdef\rghi\rklm\r";

您可以通过在末尾应用objectStyle(键属性==>applyNextParagraphStyle:true)来达到目标

比如:

var
myDocument=app.documents.add(true),
s1=myDocument.paragraphStyles.add({name:'one'}),
s2=myDocument.paragraphStyles.add({name:'two'}),
objSt=myDocument.objectStyles.add({
名称:'AlternateParas',
enableParagraphStyle:正确,
appliedParagraphStyle:s1,
applyNextParagraphStyle:true
}),
myTextFrame=myDocument.pages.lastItem().textFrames.add({
内容:“abc\rdef\rghi\rklm\r”,
});
与(s1){nextStyle=s2;}
与(s2){nextStyle=s1;}

myTextFrame.appliedObjectStyle=objSt除非您使用
for
循环来迭代地将交替样式应用于每个段落,否则在脚本编写时它似乎不会这样工作。至少我在Javascript引用中找不到假定的“ApplyNextStyle”函数。你可能是对的。但在我第一次天真地尝试这个主题时,它奏效了(或者我相信是这样)!但只有一次。不管怎样,我都无法重现这种行为。如果当前段落设置了任何值,我会认为下一段落样式是由Indesign设置的,但事实似乎并非如此最后,我按照你的建议做了,并在循环中显式地设置了角色样式。