Following the recent trend on the list, although this is not a question
about BibTeX as such, nor about the syntax to use for references within
the text, but rather about how to integrate references in an Org file to
be easily exportable. For now, a central database is not part of the
question, copy-and-paste is ok. The target would be mainly HTML and TeX
export. Here is a sketch:

For HTML: \cite{ABC09} would be mapped to a link to the bibliography,
something like <a href="#ABC09">[ABC09]</a> (regardless of whether there
is such a reference). The bibliography itself would be part of the HTML
page, typically like footnotes right at the end, with some structure
kept (but styling would be done by ad-hoc CSS so nothing much needed

For TeX: AMSRefs sounds good because it makes the .tex file
self-contained. \cite{ABC09} kept as it is, and the bibliography would
be a \begin{bibdiv}/\end{bibdiv} generated from the .org file.

The main question is: what would be a convenient way to store the
references in the .org file, to allow for easy editing and exporting ?

Idea 1: A new block type #+begin_biblio containing the data in whatever
form (but amsrefs makes sense, easily parsable for html export and
nothing to be done for tex export). While we're at it, maybe also
#+begin_bibentry if it helps cross-backend support.

Idea 2: #+begin_src amsrefs, and leverage babel for the output. But I'm
not sure if babel can act differently according to the export backend
being used?

Idea 3: A heading with tag :biblio:, which would be treated as a special
case at some point in the export, and containing one sub-heading per bib
entry, with properties storing the database like in org-bibtex (and
possibly unexported contents for notes). This gives access to structure
manipulation, refile, column view ... which would be awesome, but I'm
not sure how it would fit the export framework.

Which one would be best? Which one would be easiest to implement?

I'm willing to try a bit of coding, but the first step is the hardest



Vincent Beffara

Reply via email to