From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Price Subject: Fwd: Citation processing via Zotero + zotxt Date: Tue, 1 Dec 2015 07:12:24 -0500 Message-ID: References: <87wpt1yj5k.fsf@berkeley.edu> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=94eb2c07f9400e539a0525d5121e Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3jnH-0000TZ-Al for emacs-orgmode@gnu.org; Tue, 01 Dec 2015 07:12:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3jnF-0005LD-Di for emacs-orgmode@gnu.org; Tue, 01 Dec 2015 07:12:27 -0500 Received: from mail-io0-x231.google.com ([2607:f8b0:4001:c06::231]:35255) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3jnF-0005L6-7w for emacs-orgmode@gnu.org; Tue, 01 Dec 2015 07:12:25 -0500 Received: by ioc74 with SMTP id 74so6712127ioc.2 for ; Tue, 01 Dec 2015 04:12:24 -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: Org Mode --94eb2c07f9400e539a0525d5121e Content-Type: text/plain; charset=UTF-8 On Sat, Nov 28, 2015 at 3:16 PM, Richard Lawrence < richard.lawrence@berkeley.edu> wrote: > Hi everyone, > > For the past few days, I've been looking more closely at using the > combination of Zotero [1] with Erik Hetzner's zotxt plugin [2] as a > means of processing citations when exporting to non-LaTeX backends. I > am now thinking that this is probably our best option, but I'd like to > know what other people think before I sink a lot of work into it. > > Here are the reasons I think this is the best option: > > 1) It is really easy for users. > > For those unfamiliar, Zotero is a reference manager, and zotxt is a > Zotero plugin that makes it easier to work with Zotero from plain text > documents. Both are Firefox plugins, which means they can be installed > by a non-technical user with a couple of clicks. It also means that > users get updates automatically. I think this is *really* important. > > Pretty much all the other options we have talked about seem like they > will require multi-step, non-trivial installation procedures ("First > install {Node.js/Haskell/JVM ...}, then install > {citeproc-node/pandoc-citeproc/citeproc-java...}, then install our > wrapper script..."). Updating could require other manual operations of > similar complexity. Avoiding that kind of procedure will make citations > a lot more usable from Org for everyone. > > Also, unlike the other options, Zotero is a full-featured reference > manager, not just a batch processor. So we as users get a useful piece > of software with a simple installation procedure; the other options > require a complex installation procedure for a less-useful program. > > 2) It is quite complete. > > Previously, I thought that it would be a similar amount of work to > communicate with Zotero from Emacs as any of the other CSL > implementations out there. However, after looking at zotxt a bit more > closely, I discovered that it has an (undocumented) API endpoint [3] > that pretty much does exactly what we need: it accepts a list of > citation objects, and returns a list of formatted citations and a > formatted bibliography, which can be inserted into the exported > document. > > This endpoint still needs a little bit of work, to generalize it and > make it easier to get the data in the format we need. (That is probably > why it is undocumented in the README.) But it requires much less work > than I thought it would, and much less work than it would be to get a > full-featured setup with something like citeproc-node. > > Erik has also written a package for communicating with zotxt from Emacs, > zotxt-emacs [4], which is available on MELPA. This package already > contains a lot of useful functions for querying the Zotero database and > inserting reference data into documents, including links in Org > documents. I think it would be pretty straightforward to extend this > package to provide a nice UI for writers who are inserting citations > into Org documents, including search-based lookups of keys, etc. > Perhaps org-ref could also be taught to communicate with zotxt (with or > without zotxt-emacs) without too much work. > > 3) It uses citeproc-js. > > In previous discussions, I think we agreed that it would be best for us > to use citeproc-js as a CSL processor, since it is the `canonical' CSL > implementation, as opposed to pandoc-citeproc or citeproc-java. Zotero > just uses citeproc-js internally to process citations, so it meets this > requirement. > > > I know that many people (perhaps especially the `power users' who have > been active in the citations discussion so far) prefer to maintain their > reference database without the aid of a GUI reference manager like > Zotero. I still think Zotero + zotxt is the best option for non-LaTeX > citation processing, even for these folks. The ease of installation > (and removal) of the required programs alone makes it worth it, even if > you never actually populate a Zotero database. So given what I know at > the moment, I think our efforts would best be directed at making the > in-progress org-cite library communicate with Zotero via zotxt. What do > you think? > > Best, > Richard > > [1] https://www.zotero.org/ > [2] https://gitlab.com/egh/zotxt/ > [3] See the bibliographyEndpoint function in: > https://gitlab.com/egh/zotxt/blob/master/extension/bootstrap.js > [4] https://gitlab.com/egh/zotxt-emacs > > I love Zotxt. my only concern is for those people who run a remote Emacs. If, say, you run emacs on a server that you access by ssh, it will not be possible to process your citations with org. I personally don't use this method, though I have occasionally had to work off of a server via some randome computer when my laptop breaks down. For me, this is a veyr rare case. Is there anyone on the list who might actually be negatively affected by this? --94eb2c07f9400e539a0525d5121e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sat, Nov = 28, 2015 at 3:16 PM, Richard Lawrence <richard.lawrence@berkel= ey.edu> wrote:
Hi everyone,=

For the past few days, I've been looking more closely at using the
combination of Zotero [1] with Erik Hetzner's zotxt plugin [2] as a
means of processing citations when exporting to non-LaTeX backends.=C2=A0 I=
am now thinking that this is probably our best option, but I'd like to<= br> know what other people think before I sink a lot of work into it.

Here are the reasons I think this is the best option:

1) It is really easy for users.

For those unfamiliar, Zotero is a reference manager, and zotxt is a
Zotero plugin that makes it easier to work with Zotero from plain text
documents.=C2=A0 Both are Firefox plugins, which means they can be installe= d
by a non-technical user with a couple of clicks.=C2=A0 It also means that users get updates automatically.=C2=A0 I think this is *really* important.<= br>
Pretty much all the other options we have talked about seem like they
will require multi-step, non-trivial installation procedures ("First install {Node.js/Haskell/JVM ...}, then install
{citeproc-node/pandoc-citeproc/citeproc-java...}, then install our
wrapper script...").=C2=A0 Updating could require other manual operati= ons of
similar complexity.=C2=A0 Avoiding that kind of procedure will make citatio= ns
a lot more usable from Org for everyone.

Also, unlike the other options, Zotero is a full-featured reference
manager, not just a batch processor.=C2=A0 So we as users get a useful piec= e
of software with a simple installation procedure; the other options
require a complex installation procedure for a less-useful program.

2) It is quite complete.

Previously, I thought that it would be a similar amount of work to
communicate with Zotero from Emacs as any of the other CSL
implementations out there.=C2=A0 However, after looking at zotxt a bit more=
closely, I discovered that it has an (undocumented) API endpoint [3]
that pretty much does exactly what we need: it accepts a list of
citation objects, and returns a list of formatted citations and a
formatted bibliography, which can be inserted into the exported
document.

This endpoint still needs a little bit of work, to generalize it and
make it easier to get the data in the format we need.=C2=A0 (That is probab= ly
why it is undocumented in the README.) But it requires much less work
than I thought it would, and much less work than it would be to get a
full-featured setup with something like citeproc-node.

Erik has also written a package for communicating with zotxt from Emacs, zotxt-emacs [4], which is available on MELPA.=C2=A0 This package already contains a lot of useful functions for querying the Zotero database and
inserting reference data into documents, including links in Org
documents.=C2=A0 I think it would be pretty straightforward to extend this<= br> package to provide a nice UI for writers who are inserting citations
into Org documents, including search-based lookups of keys, etc.
Perhaps org-ref could also be taught to communicate with zotxt (with or
without zotxt-emacs) without too much work.

3) It uses citeproc-js.

In previous discussions, I think we agreed that it would be best for us
to use citeproc-js as a CSL processor, since it is the `canonical' CSL<= br> implementation, as opposed to pandoc-citeproc or citeproc-java.=C2=A0 Zoter= o
just uses citeproc-js internally to process citations, so it meets this
requirement.


I know that many people (perhaps especially the `power users' who have<= br> been active in the citations discussion so far) prefer to maintain their reference database without the aid of a GUI reference manager like
Zotero.=C2=A0 I still think Zotero + zotxt is the best option for non-LaTeX=
citation processing, even for these folks.=C2=A0 The ease of installation (and removal) of the required programs alone makes it worth it, even if
you never actually populate a Zotero database.=C2=A0 So given what I know a= t
the moment, I think our efforts would best be directed at making the
in-progress org-cite library communicate with Zotero via zotxt.=C2=A0 What = do
you think?

Best,
Richard

[1] https://www.zotero.org/
[2] https://gitlab.com/egh/zotxt/
[3] See the bibliographyEndpoint function in:
=C2=A0 =C2=A0 https://gitlab.com/egh/= zotxt/blob/master/extension/bootstrap.js
[4] https://gitlab.com/egh/zotxt-emacs

I love Zotxt. my only concern is for those p= eople who run a remote Emacs. If, say, you run emacs on a server that you a= ccess by ssh, it will not be possible to process your citations with org. <= br>
I personally don't use this met= hod, though I have occasionally had to work off of a server via some random= e computer when my laptop breaks down.=C2=A0 For me, this is a veyr rare ca= se. Is there anyone on the list who might actually be negatively affected b= y this?


--94eb2c07f9400e539a0525d5121e--