I initially envisaged Citeproc interacting with Writer each time a user added a citation. That is - A user adds a new reference, Writer requests Citeproc to return the Initial Citation String for that reference. The user adds a second citation tothe document and Write requests Citeproc to return the Subsequent Citation String for that reference. etc.
However Citeproc's interaction with Writer can greatly simplified if Citeproc is only called when a new reference is added to the document, the Bibliography is generated or the style is changed. Each reference will have its data stored in the biblio-data.xml file in the save package. I propose that when a reference is added, Citeproc be called to generate the full range of formatted Citation text strings, in the selected style, for that reference, ie - * In-text citation * Footnote initial citation * Footnote subsequent citation * Endnote initial citation * Endnote subsequent citation * Ibid or 'op cite' text And that these are then saved in the biblio-data.xml file in with each reference item. When a user adds a citations one of these stored references Writer only needs to pick the appropriate Citation text from the file. When the user changes the document style, Citeproc would be called to regenerate all the citation strings in one pass, then the standard update fields function would update the citation text strings in the document by picking them up again from the biblio-data.xml file. The repeated citation to the same reference, needing the 'Ibid or 'op cite' ' text would be detected by Writer. Bibliography / reference table generation would be be done by passing the list of citation IDs to Citeproc and returning the generated text. This approach depends upon there being any a small range of pre-defined citation types. Does this sound feasible ? David -- ------------------- David N. Wilson Co-Project Lead for the Bibliographic OpenOffice Project http://bibliographic.openoffice.org --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
