From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: Re: Standardize #+BIBLIOGRAPHY line Date: Mon, 22 Jul 2013 18:46:21 +0530 Message-ID: <87ip02wx96.fsf@gmail.com> References: <87k3kjyr37.fsf@gmail.com> <87hafn55l0.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35384) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1G4J-0007EM-Ja for emacs-orgmode@gnu.org; Mon, 22 Jul 2013 09:22:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V1Fx2-0006jv-F6 for emacs-orgmode@gnu.org; Mon, 22 Jul 2013 09:15:07 -0400 Received: from mail-pd0-x22d.google.com ([2607:f8b0:400e:c02::22d]:50278) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V1Fx2-0006jo-5g for emacs-orgmode@gnu.org; Mon, 22 Jul 2013 09:14:56 -0400 Received: by mail-pd0-f173.google.com with SMTP id v14so6808283pde.32 for ; Mon, 22 Jul 2013 06:14:55 -0700 (PDT) In-Reply-To: <87hafn55l0.fsf@gmail.com> (Nicolas Goaziou's message of "Mon, 22 Jul 2013 11:03:55 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nicolas Goaziou Cc: emacs-orgmode@gnu.org Nicolas Getting Citation right to cater to general needs is going to be complex. This is mainly because 1. Org's object syntax is very rudimentary and not "extensible" 2. "real-world" citations may need some annotations page number etc. I think it is good to *atleast make a move* in standardizing the cite elements. My gut feeling is that cite objects - for now - should be coded as \cite { } latex objects. This specifically means that link syntax for cite should NOT BE ENCOURAGED (or STRONGLY DISCOURAGED). ---------------------------------------------------------------- As an aside, I am inclined to think of cite objects as "special class" of "footnote" elements. Footnotes are unique in that it "interlinks" both object and element worlds. Elements can have attributes attached to them. Consider for example, a syntax like this. Joshu's "Mu" [cite: blyth_zen_1966] is a koan that a practioner must break through. #+ATTR_PAGE: :page 17 [cite:blyth_zen_1966] Zen and Zen Classics, Volume 4, Mumonkan Now what goes within the brackets - "blyth_zen_1966" - is just a label. The attributes of that object are set in a paragraph that is "introduced" with that label (as above). > However, I think it ought to be merged in ox-bibtex.el instead. Does the author have copyright assignments for contributing to Emacs? Taru Karttunen As a personal policy, I don't want to touch a file which wouldn't end up in Emacs proper. Any changes that I make to Emacs - that includes Org-mode - is *guaranteed* to end up in Emacs proper. It's going to happen in it's own time. > "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 These wouldn't be necessary if the reader syntax is improved. Why not create an ox-cite.el, make yourself the author and move your own changes to that file. You can also FAKE a `citation-reference' object so that the backend consumers are totally unaware of how these objects are represented in the Org document. We can have separate ox-bibtex.el and ox-jabref.el - I call them as "citation processors". They will be providing the "standard" transcoders - `org-CITATION-PROCESSOR-citation-reference' and `org-CITATION-PROCESSOR-bibliography'. As noted in previous mail, having first class transcoders will help, in switching an export backend to switch to someother citation processor. One just has to switch the translators. > 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 How about, making the keyword itself as a property, if the option string DOESN'T is not introduced by a symbol. #+keyword: :a val :b val2 => (:a "val" :b "val2") #+keyword: text :a b :c d => (:keyword text :a b :c d) > #+toc: headlines :levels 4 (:toc headlines :levels 4) > #+BEAMER_THEME: Madrid (:beamer-theme Madrid) > #+BEAMER_THEME: Rochester [height=20pt] (:beamer-theme Rochester [height=20pt]) These all will become "values" of a `keyword' element. > Regards,