Hi, Richard Lawrence <richard.lawre...@berkeley.edu> writes:
> Hi Rasmus and all, > > Rasmus <ras...@gmx.us> writes: > >> Richard Lawrence <richard.lawre...@berkeley.edu> writes: > >>> Within a citation, each reference to an individual work needs to be >>> capable of containing: >>> 1) a database key that references the cited work >>> 2) prefix / pre-text >>> 3) suffix / post-text >>> 4) references to page/chapter/section/whatever numbers and ranges. >>> This is likely part of the prefix or suffix, but might be worth >>> parsing separately for localization or link-following behavior. >>> 5) a way of indicating backend-agnostic formatting properties. >>> Examples of some properties users might want to specify are: >> >>> - displaying only some fields (or suppressing some fields) from a >>> reference record (e.g., journal, date, author) >> >> Would this not be properties of the bibliography and not the citation? > > No, I mean things that can vary from one citation to the next -- like > what you'd write in LaTeX as > > \citet{Doe99} once thought foo, but in his \citeyear{Doe2014}, he > revises his position to bar. Okay, I misunderstood you then.q I though you wanted something like \AtEveryBibitem (of biblatex) which literally alters fields, e.g.: \AtEveryBibitem{\clearfield{month}}. >>> Citations as a whole also need: >>> 6) [@6] a way of indicating formatting properties for specific export >>> backends. >> I think the idea would be /not/ to have to consider specific backends. If >> you want special properties (say bold) for HTML could it not be solved by >> a macro or a filter? Probably I'm misunderstanding. > [...] > use a particular citation command for this citation, or the HTML backend > to use/add a particular CSS class. Maybe this could be done with macros > or filters, but I think that would prove complicated for all but the > simplest cases, since citations have argument structure that filters > might not necessarily `see'. I see. It's possible via macros. I don't have strong opinions on this. >>> 8) a reference to a citation style or style file >> >> How does this work outside of LaTeX? > > Well, Pandoc for example processes citations using the citeproc-hs It seems to use pandoc-citeproc which is based on citeproc-hs. > implementation of the Citation Style Language, which is an XML format > that allows describing how citations and bibliographies should be > formatted. Thus, for example, you could tell Pandoc to process your > citations in APA style, or any of the other styles in this repo: > > https://www.zotero.org/styles > > CSL is an XML format, and I shudder to think about implementing it in > Elisp, but that's how its done. In fact, Pandoc uses this even for > LaTeX output, rather than trying to map citations to the various \cite > commands. I wonder if Zotero can be used to format such citations. It can do something for rtf at least: https://www.zotero.org/support/rtf_scan —Rasmus -- A page of history is worth a volume of logic