到现在为止,我已经设法将尾注作为crossref来源,但是我很难与交叉引用
当我使用footnote.storyOffset作为目的地时,它会在文本中搞砸脚注的编号。 例如,第一个脚注刚从文本中消失,然后有1,3,3,4,5,7 ......等等。为什么会这样?我只是使用这个插入点作为目的地,突然间它搞砸了所有东西。
将脚注编号手动放入文本也足够了,但我不知道如何删除文本中的加扰数字。 我也可以使用下一个或前一个字符作为insertionPoint,但我怎么去那里?
我对那些不确定的脚本的东西很新。希望有人能帮助我。
这是来源的关键部分:
stories[j].insertionPoints[-1].contents = SpecialCharacters.PAGE_BREAK; // add new page for notes
stories[j].insertionPoints[-1].contents = 'Notes';// title
footn = stories[j].footnotes;
for (var i = 0; i < footn.length; i++)
{
stories[j].insertionPoints[-1].contents = '\r';
endnote = footn[i].texts[0].move (LocationOptions.after, stories[j].insertionPoints[-1]);
endnote.applyParagraphStyle (note_styles.first, false);
if (i === 0)
{
endnote.numberingContinue = false;
endnote.numberingStartAt = 1;
}
if (endnote.paragraphs.length > 1)
{
endnote.paragraphs.itemByRange (1,-1).applyParagraphStyle (note_styles.next, false);
}
//var stoff = footn[i].storyOffset;
//stoff.contents = ''+(i+1);
//stoff.applyCharacterStyle(note_styles.char_style_in_text);
//stoff.appliedCharacterStyle.position= Position.superscript;
backlink_destination = doc.paragraphDestinations.add (footn[i].storyOffset); // position of footnote in text
endnote_destination = doc.paragraphDestinations.add (endnote.insertionPoints[0]);
try
{
crb = app.activeDocument.crossReferenceFormats.add({name:'backlink'+i});
crb.appliedCharacterStyle = note_styles.char_style_endnote;
crb.buildingBlocks.add (BuildingBlockTypes.customStringBuildingBlock);
crb.buildingBlocks.anyItem().customText = endnote.contents;
}
catch(_)
{
crb = app.activeDocument.crossReferenceFormats.item ('backlink'+i);
};
backlink_source = doc.crossReferenceSources.add (endnote, crb); // position of note at end of story
endnote_source = doc.crossReferenceSources.add (footn[i].storyOffset, note_styles.cr_format);
doc.hyperlinks.add(backlink_source, backlink_destination, {visible: false}); //add link from notes to text
doc.hyperlinks.add(endnote_source, endnote_destination, {visible: false});
} // for
答案 0 :(得分:0)
修正了它:
我只是翻转了制作交叉点的顺序。
我翻了以下几行
backlink_destination = doc.paragraphDestinations.add (footn[i].storyOffset);
endnote_destination = doc.paragraphDestinations.add (endnote.insertionPoints[0]);
到
endnote_destination = doc.paragraphDestinations.add (endnote.insertionPoints[0]);
backlink_destination = doc.paragraphDestinations.add (footn[i].storyOffset);
和
backlink_source = doc.crossReferenceSources.add (endnote, crb);
endnote_source = doc.crossReferenceSources.add (footn[i].storyOffset, note_styles.cr_format);
要
endnote_source = doc.crossReferenceSources.add (footn[i].storyOffset, note_styles.cr_format);
backlink_source = doc.crossReferenceSources.add (endnote, crb);
和
doc.hyperlinks.add(backlink_source, backlink_destination, {visible: false});
doc.hyperlinks.add(endnote_source, endnote_destination, {visible: false});
到
doc.hyperlinks.add(endnote_source, endnote_destination, {visible: false});
doc.hyperlinks.add(backlink_source, backlink_destination, {visible: false});
我不知道为什么,但是当它按此顺序排列时它会起作用...这并不能证明好的软件...
我怎么能期望这个价格好的软件?