Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: >> I ask because in that kind of context, I think it is generally going to >> be more useful to deal with citation objects as a whole. I am not sure >> we will want to treat citation-references as individual objects which >> are themselves exported; instead, I think we will want to handle >> exporting the citation-references in a citation all at once. > > I don't know. In any case, they need to be treated as regular object > (e.g., they are expected to have a filter associated to them).
Hmm. I can see that making sense if the filter manipulates the citation-reference object itself, but I can't see it making sense if the idea is that the exporter transcodes citation-references individually, and the filter manipulates the transcoded string. For example, suppose LaTeX export works by mapping a citation object to a biblatex command, and consider this citation: [cite: See @Doe99 ch. 1; @Doe2000 p. 10] This should be transcoded in the final output to something like: \textcite[See][ch. 1]{Doe99}[][p. 10]{Doe2000} in which case the transcoded string corresponding to the first citation-reference object is "[See][ch. 1]{Doe99}". It's hard for me to see how you could do anything useful with just this string, and it might even be dangerous to manipulate it, since it is only part of a complete command, which you might mess up by modifying the string. In other backends, there might not even be a syntactically-identifiable chunk of the output citation which corresponds to a given citation-reference. (I'm having trouble thinking of a good example at the moment, but I'm thinking of cases where e.g. CSL processing turns a reference into "Ibid.", or some other output that only has meaning relative to its place in the document and doesn't correspond in a context-free way to the citation-reference object.) But like I said, it makes more sense if the filter can manipulate the citation-reference object itself, e.g. by setting additional properties or modifying the prefix and suffix strings *before* the object is transcoded as part of a citation. > If some back-end doesn't need to export directly citation references, it > just needs to skip the relative translator. Sure. I guess I'm just having a hard time seeing why a backend would ever need/want to translate citation-references individually, rather than generating a complete citation all at once. That seems to be the way to do it in both the LaTeX and CSL worlds, anyway. Best, Richard