Nicolas Goaziou <m...@nicolasgoaziou.fr> writes: > Alphanumeric suffix provides 62 combinations, which should hopefully > be enough for any citation back-end out there (I'm looking at you > biblatex). It's not terribly readable, tho, as you point out.
I second that. Some of the many BibLaTeX commands are due to compatibility with other (older) packages and to ease transitions. Another aspect: Maybe it would be a good idea to reserve some chars (e.g. the numeric ones) for user defined citation commands (a minimalistic reserved namespace). [Placing bibliography with "#+bibliography: here"] > It is smart, but I'm not sure I like using the same keyword for two > different things. OTOH, I don't have a better idea. I personally also dislike one keyword for completely different purposes. Therefore I suggest to take the idea from BibLaTeX and use a keyword like "printbibliography" the mark the place where the bibliography should be output. This command may also have parameters like filtering options (maybe depending on the backend processor; I only know BibLaTeX so I can't say if it would be easy to abstract away differences between different engines). In the case of BiBLaTeX the printbibliography command optionally accepts multiple key-value parameters. Some examples for the keys are "heading" for the chapter/section heading, "type" to output/print only entries of a certain type (like "book"; or type "online" and with the additional key "nottype" separate non-online and online sources), "keyword" to filter entries with the associated keyword etc. Another nice feature of BibLaTeX is the possibility to generate bibliography per chapter/section (e.g. setting conference proceedings). In the simplest case each chapter/section is marked, in the case of LaTeX/BibLaTeX it is wrapped with "\begin{refsection}" and "\end{refsection}" and the printbibliography command occurs inside this refsection block. In this case BibLaTeX defaults to output only references used inside the marked block. [Style selection] > I think this part is out of Org's scope. Since values between > various citation back-ends are probably not compatible, e.g., some > may require a file, others a style name, normalization is not useful > here. They can use whatever keyword they fancy. Yes, I second that. But it may be worth thinking a second about using one Org document to generate output with different backends (e.g. PDF via LaTeX and BibLaTeX, HTML, and ASCII). It would be nice, to have some way to configure each citation engine form the same document. Either use different keywords like "#+CSL_STYLE" and "#+BIBLATEX_STYLE" or we use your original suggestion of a ":style" parameter to the "#+BIBLIOGRAPHY" keyword and provide some means to translate its value individually for each engine - e.g. an alist or some function provided by the user. And if no translation is provided, just give the value verbatim to the engine, thus if a user only targets a single backend, he does not need to provide any extra configuration. Just my 2ยข. -- Until the next mail..., Stefan.