Hello, "Bruce D'Arcus" <bdar...@gmail.com> writes:
> On Fri, May 28, 2021 at 4:31 PM András Simonyi <andras.simo...@gmail.com> > wrote: > >> Maybe instead of a full alist mapping backends to citation processors >> we could have only options to declare a separate processor for >> latex-based backends and another for non-latex ones? > > This would go a long way, and is probably all that's necessary. > > Really "latex" is the unique output mode here. But one may want to use a different processor for, say, beamer and regular latex. Both are "latex" based. Worse, all custom back-ends derived from "latex" are bound to use the same processor. Here's another proposal: `org-cite-export-processor' is now an alist, where keys are export back-ends or t, which is the default key. '((latex biblatex bibstyle citestyle) (beamer natbib nil nil) (my-latex natbib bibstyle) (t csl nil nil)) The selected processor is the one associated to the back-ends closest to the current one used for export, by `org-export-derived-backend-p' order. So if `my-other-latex' is derived from beamer, it will use (natbib nil nil). OTOH, I suggest to stick to a single "cite_export" keyword, which overrides any selected processor above. IOW #+cite_export: basic will use basic whatever the current export back-end is. In practice, I think it is sufficient. The only case where it may be limiting is if you need to export with two different back-ends with two processors different from those set in `org-cite-export-processor'. But in that situation, I think swapping the cite_export keyword is acceptable. So overall, I think it is a good compromise between simplicity and power. WDYT? Regards, -- Nicolas Goaziou