emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Standardize #+BIBLIOGRAPHY line


From: Nicolas Goaziou
Subject: Re: [O] Standardize #+BIBLIOGRAPHY line
Date: Mon, 22 Jul 2013 11:03:55 +0200

Hello,

Jambunathan K <address@hidden> writes:

[...]

> I am finalizing JabRef support for ODT.  At *some* future point in time,
> I will include ox-jabref.el (and all other patches) in official Emacs
> distribution.

Thanks for you work. 

However, I think it ought to be merged in ox-bibtex.el instead.
"ox-bibtex" name is misleading as it is not directly related to "bibtex"
program. At its core, it merely introduces a BIBLIOGRAPHY keyword and
[[cite:...]] links. It also provides accessors and predicates wrt them:

 - org-bibtex-get-file
 - org-bibtex-get-style
 - org-bibtex-get-arguments
 - org-bibtex-citation-p
 - org-bibtex-get-citation-key

So, if you use them, you don't have to bother about BIBLIOGRAPHY keyword
syntax (at least for now).

Also, if we ever use ox-bibtex.el as a basis to implement bibliography
handling in Org core, it will be easier to have most major back-ends
already behaving uniformly.

> You may also want to review the #+TOC settings, more for consistency
> than anything else.
>
> Instead of
>         #+toc: headlines 4
>
> we can have
>         #+toc: headlines :levels 4
>
> or
>         #+toc: :type headlines :levels 4

Initially, as its name suggests, `org-export-read-attribute' was meant
to make attributes keywords more consistent across back-ends. As it is
a bit heavy, I'm not convinced that it would be a good generic syntax
for all keywords.

Also, the problematic is slightly different. "attr_backend" is generic,
so it makes sense if its value starts with some :keyword. But what
about:

  #+BEAMER_THEME: Madrid

It would be redundant to use #+BEAMER_THEME: :theme Madrid (or :name
Madrid).

On the other hand, I admit that, currently,

  #+BEAMER_THEME: Rochester [height=20pt]

is not great either.

Maybe all of this calls for a generalization of the reader function.
Something like "stuff everything before the first keyword as the value
of a generic keyword". IOW,

  #+keyword: :a val :b val2    =>    (:a "val" :b "val2")
  #+keyword: text :a val       =>    (:head "text" :a "val")
  #+keyword: text :head other  =>    not good


Regards,

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]