-
1. Re: Table footnotes
frameexpert Jun 20, 2013 5:36 AM (in response to K.Daube)Hi Klaus, There is no special table footnote object in FrameMaker. There are two ways to get to table footnotes:
1) Loop through all of the document's Fn objects.
var doc = app.ActiveDoc; var fn = doc.FirstFnInDoc; while (fn.ObjectValid()) { // ... Do something here. fn = fn.NextFnInDoc; }This is the simplest method, but the internal list may not be in document order.
2) Process the paragraphs in document order, and for each paragraph, get a list of footnote anchor objects. I don't have time to code this in ExtendScript, but here is how it looks with FrameScript:
Set oPgf = TextSelection.Begin.Object; Get TextList InObject(oPgf) FnAnchor NewVar(tTextList); Loop While(i <= tTextList.Count) LoopVar(i) Init(1) Incr(1) Set oFn = tTextList[i].TextData; // Do something with the footnote here. EndLoop
-
2. Re: Table footnotes
K.Daube Jun 20, 2013 7:46 AM (in response to frameexpert)Rick,
The first method would be my favour (it is elegant), but it continues after the last table-footnote with the first normal footnote - thus creating a 'loop'.
I have not yet found a method to stop that loop. My first attempt fails:
function ProcessFootnote (doc) { // find citations in footnotes var fnText = ""; var fn = doc.FirstFnInDoc; while (fn.ObjectValid()) { fnText = (GetText(fn)); alert (fnText); // the text of the footnote
var citations = GetTempCitations (fnText); fn = fn.NextFnInDoc; if (fn == doc.FirstFnInDoc) { return; // ------- Does not stop the loop, === doesn't it either } } } //--------------------------------------------------------------------------PS will be absent for some days from this project.
Klaus
-
3. Re: Table footnotes
K.Daube Jul 2, 2013 9:20 AM (in response to K.Daube)This has been solved by Rick's answer to my post "Getting text from footnote".

