Skip to content
BibTeX for org-mode
Emacs Lisp TeX
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
README.org
bibeltex.el

README.org

BibELTeX README

BibELTeX

BibELTeX is a BibTeX-like tool for GNU Emacs’ org-mode. Instead of generating TeX instructions BibELTeX generates org-mode data.

This is intended as a replacement for ox-bibtex.el from org-mode’s contrib. Which is similar but only works for LaTeX and HTML export by using bibtex2html.

This is in a very early development stage and currently does not produce any fancy or beautiful output.

Installation

Put bibeltex.el somewhere in your load-path and require it. To deactivate it, simply call unload-feature for bibeltex.

Use \cite{key} to add a citation and add a line

#+BIBLIOGRAPHY file style

to generate the bibliography. With file being the name of a BibTeX-file. Currently style is being ignored.

Style

To add a new style define a new elisp variable and add it to bibeltex-style-alist. A style is a list containing either format strings or lisp expressions. Lisp expressions are evaluated and should return format strings. Lisp expressions are evaluated with the entry fields bound to entry-FIELDNAME. E.g., for the :author field it would be entry-author.

The format specifications are the following: %ENTRY% or %ENTRY:OPTIONA:OPTIONB:...%. ENTRY should be the name of a field without the leading :. E.g., %key-num% to get the :key-num field. The option fields look like func(arg0,arg1,...). With func being a function from the bibeltex--style-option-functions map. The functions are called with the field value as first argument and the arguments from the option call following. E.g., %key-num:foo(1)% would result in foo((bibeltex--get-field :key-num entry), "1"). The return value replaces the field value in the format and for the next option call. To cancel the insertion of a format string the symbol cancel can be returned.

There are two predefined functions:

names
which handles BibTeX name lists and takes an optional numeric argument for the number of names to be added.
orcancel
cancels the format string insertion if the field is emptry.

A style should always add a properties entry with a custom-id equal to the :key field to an entry to turn the entry into a link target.

Sorting and quote style are currently not included in the style itself but handled separately by bibeltex-format-cite-entry, bibeltex-format-cite-sep, bibeltex-format-cite, bibeltex-use-num-keys, bibeltex-sort-function. This will however be definable by the style in the future.

To Do

More styles

Add more styles (similar to bibtex styles).

Local customization

Maybe: Support for ox-bibtex.el options Properties? Keywords?

Handle (La)TeX instructions

E.g., umlauts with \"{o}. Some things are handled by org-mode’s entity support. But sadly not everything.

Try to use org-mode internal functions to handle \cite/#+BIBLIOGRAPHY

Currenty \cite/#+BIBLIOGRAPHY are expanded in any case.

You can’t perform that action at this time.