我正在编写一个脚本来处理一些布局,在创建脚注时我遇到了一些奇怪的行为。
每当我使用脚本创建脚注时,它们会在之前显示下一个段落,该段落与包含脚注的段落的样式不同。除非它到达故事的结尾,否则它们将显示在页面的底部。
我希望它的行为方式与通过菜单插入脚注时的行为方式相同。将脚注放在页面底部。
以下是之前和之后:
这是创建脚注的相关代码。 references
是一个数组,包含文本中的上标引用(作为character
或character
个对象的范围)。 footnotes
是一个数组,其中包含#FootnoteB
和#FootnoteE
标记之间的脚注作为paragraph
个对象。
for (var i = 0; i < references.length; i++) {
// Create footnote
newFootnote = textPara.parentStory.footnotes.add(LocationOptions.BEFORE, references[i].insertionPoints[0]);
// Move footnote text into the footnote
footnotes[i].move(LocationOptions.AFTER, newFootnote.insertionPoints[-1]);
// Remove \r at the end of the footnote
newFootnote.characters.item(-1).remove();
// Delete the leftover superscript reference
references[i].remove();
}
似乎没有区别 where 我添加了脚注,无论是将它们添加到段落,故事或文本框架中,结果都是一样的。
答案 0 :(得分:2)
我会检查它们的ParagraphStyle.spanColumnType值的脚注后面出现的段落样式。我不确定它是否是错误或功能,但如果您的段落跨越列,则脚注将显示在其上方(就像它是新列的开头一样)。
通过用户界面,您可以通过编辑段落样式并检查其“跨栏”选项卡来检查这一点。
ETA:为了避免您现在拥有的脚注位置,您需要的值是SpanColumnTypeOptions.SINGLE_COLUMN,或者通过UI,只需要单列。