From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Ecay Subject: Re: contributing to work on citations Date: Wed, 04 Nov 2015 15:18:39 +0000 Message-ID: <87si4lvlm8.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ztzpn-00088e-8L for emacs-orgmode@gnu.org; Wed, 04 Nov 2015 10:18:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ztzpi-00027b-Fl for emacs-orgmode@gnu.org; Wed, 04 Nov 2015 10:18:47 -0500 Received: from mail-wi0-x22d.google.com ([2a00:1450:400c:c05::22d]:38160) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ztzpi-00027X-6i for emacs-orgmode@gnu.org; Wed, 04 Nov 2015 10:18:42 -0500 Received: by wicll6 with SMTP id ll6so34102778wic.1 for ; Wed, 04 Nov 2015 07:18:41 -0800 (PST) In-Reply-To: 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: Matt Price , Org Mode Hi Matt, Thanks for your willingness to help with the project. 2015ko urriak 30an, Matt Price-ek idatzi zuen: >=20 > So, from the "some projects" thread I have the sense there is a group of > users with some interest in improving citation support. What is the best > way to kickstart that process? it seems to me that, at a minimum, the > following is needed: >=20 > 1. Finalization of the citation syntax. >=20 > IIUC, This involves refining and merging the work in the wip-cite git > branch. There was a very voluminous discussion on this last time. Lots of people proposed various additions. I=E2=80=99d be inclined to go with what= ever syntax is implemented currently, and let any needed extensions sort themselves out through real-world testing. >=20 > 2. Choice of a citation creation tool >=20 > IIUC, the two main candidates are pandoc-citeproc and citeproc-js/node. > Pandoc-citeproc works well but requires users to install the whole pandoc > infrastructure, and needs to be wrapped in a thin tool for use with org. > Citeproc-node has fewer dependencies (I guess), but needs to be updated to > support additional output formats (e.g. latex, odt, and org) and is a > little more elaborate to run from the command line (runs as a service, can > only be communicated with over http). IIUC, citeproc-node just wraps citeproc-js, which has a =E2=80=9Cnormal=E2= =80=9D API. So it should be possible to write a CLI wrapper for citeproc-js. (But I have not studied citeproc-js at all, so I could be wrong). My plan is to create preliminary citation support based on Richard=E2=80=99s haskell tool, with the intention of moving to a JS-based tool when possible. So implementing a work-alike of Richard=E2=80=99s tool in JS wou= ld be a good development. >=20 > 3. Handling of citation links in the various export engines > Functions must be written to handle citations in, at minimum, latex, html, > and org >=20 > 4. Interface with backends > Org should be able to talk to bibtex and zotero databases, at least (and > maybe more). The code I wrote should have enough hooks to enable this. But I haven=E2= =80=99t looked at zotero at all. If zotero support is important to you, you could investigate the =E2=80=9Clookup types=E2=80=9D in the citation code I= wrote, see if they are adequate, and try to use them to implement zotero lookup. >From the docstring: "Types of citation lookup backends. Alist from type to list of: - Function called at the beginning of export, with the rest of the keyword line after #+BIBDB: type, and the info plist. Should cache whatever it needs in the info plist. - Function to lookup a citation. Called with the key and the info plist. Will be memoized by `org-export-cite--lookup' (TODO). Should return an alist of keys and values about the citation (author, year, title, etc.) - A boolean; non-nil =3D this lookup type is remote. All local lookups will be tried before any remote one is. TODO: not yet implemented" =20=20 >=20 > A lot of this work has already been done. Richard has written org-citeproc > as a wrapper for pandoc-citeproc https://github.com/wyleyr/org-citeproc . > Aaron has written some functions for org-citeproc in the wip-cite-awe > branch. Nicolas has developed the syntax in wip-cite. I even have a fork = of > citeproc-node that could be used to develop the missing features we need. > And of course John has org-ref ( > http://kitchingroup.cheme.cmu.edu/blog/2014/05/13/Using-org-ref-for-citat= ions-and-references/) The org-ref features provide a good aspirational horizon for us, I think. I.e. org=E2=80=99s core should aim to support almost all of them eventually= . But the support for citation syntax is not so far along that creating such support is an immediate prospect. > while Erik H has zotxt-emacs for Zotero integration ( > https://github.com/egh/zotxt-emacs). >=20 > What would be the best next move? It seems to me there are enough moving > parts that the process will be quite a bit easier if we co-ordinate. Based on the interests you=E2=80=99ve expressed, I think working on the JS citation processor and/or zotero integration would be good contributions you can make. But you can work on other things as well. I think the best way to coordinate will be to keep the list apprised of your progress. If you have push access, you can push WIP code as branches in the org-mode repository. (Otherwise, you can use github or some other git host, or ask for push access.) Thanks again, --=20 Aaron Ecay