michel-kraemer / citeproc-java

📘 A Citation Style Language (CSL) processor for Java.
Apache License 2.0
89 stars 17 forks source link

makeCitation with citationsPre and citationsPost arguments in v.3 #105

Open StefanHagel opened 3 years ago

StefanHagel commented 3 years ago

Citations in document context used to be created by

List<Citation> makeCitation(CSLCitation citation, List<CitationIDIndexPair> citationsPre, List<CitationIDIndexPair> citationsPost)

Will this be included in v.3 or am I misunderstanding something essential about how it now works?

Thanks and all best, S.

michel-kraemer commented 3 years ago

Are you talking about the makeCitation method itself or only about the variant that accepts citationPre and citationPost? There will be a makeCitation method in v3, but I have to admit that I didn't fully understand the purpose of citationPre and citationPost and don't know how to correctly implement them in the new pure Java processor. That's the reason why I deprecated these parameters for the time being.

I would be very happy if you could send me an example where these parameters are used, so I can understand them and correctly implement them. Thanks!

StefanHagel commented 3 years ago

I'm talking about the variant with citationPre and citationPost. These are indispensable for correctly formatting the references in the context of a document. E.g., some styles (I guess mainly in the Humanities) use backward references such as 'op. cit.' and therefore each reference needs to know which references came before (and often in which footnote, information the software might have to supply). I think this is done in CSL (mainly?) with the position attribute within the clauses in a choose element. That' also where near-note-distance comes into play. Does this help?

Here's how CSL developers noticed this would be required: https://discourse.citationstyles.org/t/op-cit/456