Skip to content

ruediger/bibeltex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

BibTeX for org-mode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published