Difference between revisions of "Bibliographic/Citeproc Writer Interaction"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Proposal)
m (Proposal)
Line 24: Line 24:
  
 
Bibliography / reference table generation would be be done by passing the list of citation IDs to Citeproc and returning the pre-formatted reference table entry text strings.  
 
Bibliography / reference table generation would be be done by passing the list of citation IDs to Citeproc and returning the pre-formatted reference table entry text strings.  
 +
 +
===Diagram===
  
 
http://bibliographic.openoffice.org/wp-bib-functions3.png
 
http://bibliographic.openoffice.org/wp-bib-functions3.png

Revision as of 03:52, 12 February 2007


Proposal

Citeproc will interact with the new Writer API service BibliographicCitation each time a user adds a citation. When a citation is added, Citeproc will be called to generate the following formatted Citation text strings for a given style and language-

  • initial full citation (in-text or footnote depending upon the style selected)
  • subsequent shortened citation
  • Ibid text
  • Ibid & location text
  • author name
  • year

These will be stored in the constants group BibliographyDataField.

When a user moves, adds or deletes a citation, Writer only needs to pick the appropriate stored citation string (initial, subsequent or Ibid) from the constants group BibliographyDataField to display the appropriate ciation text, and not calling CiteProc again. When the user changes the document style, Citeproc would be called to regenerate all the BibliographyDataField citation strings in one pass.

Author name and year are included as part of the mechanism to implement the 'Exclude Author's Name' and 'Exclude Year' options in the Insert Citation dialogue. These options are needed when you have referred to the author's name in the text, as in

Gao Xingjian in his novel 'sole mountain' (1990) explores identity and myth in China.

and you do not want the author's name repeated in the citation field.


Bibliography / reference table generation would be be done by passing the list of citation IDs to Citeproc and returning the pre-formatted reference table entry text strings.

Diagram

wp-bib-functions3.png

Benefits

It would remove Citeproc from the basic processing flow of text rendering,so there would be saving in processing time and, hence screen update time after a change, but how significant this would be I do not know. The worst case would be a large document where you move a block of text from the back to front of the document and several hundred subsequent and initial references needed to be regenerated.

It would isolate the Writer text rendering from Citeproc which would make it easier and much safer to play with Citeproc prototyping and to plug in alternative formatting engines, as there would be a simpler interaction with Writer, as opposed to a dynamic situation of needing to call the formatting engine regenerate a citation in order complete page rendering. Under the proposed scheme Citeproc is called -

  • on the loading of a reference, probably on the insertion of the first citation to that reference.
  • when the style is changed.
  • to generate or update the Reference Table
Personal tools