emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: Citation processing via Zotero + zotxt
Date: Tue, 01 Dec 2015 15:36:34 +0100	[thread overview]
Message-ID: <87egf62q31.fsf@gmx.us> (raw)
In-Reply-To: 87wpt1yj5k.fsf@berkeley.edu

Hi Richard,

First, thank you for looking into this.  I learned something new from this
post.

Richard Lawrence <richard.lawrence@berkeley.edu> writes:

> 1) It is really easy for users.

I generally don’t buy the arguments a reference manager being nice per
see.

Also, last I checked Zotero also existed as a standalone manager.  If this
also works re your points below, using Zotero is a non-issue.  There
exists a plugin to keep a bibtex file up to date.  I don’t know if it’s
two way, though.

> 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.

I don’t think this is relevant.

> 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.

I think this is *very* important.

> 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.

I don’t think this is relevant.

> 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]

This sounds amazing, but also dangerous.  Do you know whether stabilizing
the API has been discussed upstream?

> 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.

Could you give an example of the sort of input you give?  I.e. is it based
on keys?  From my bibtex-centric world view I imagine something like:

   I send key or pointer @K to a DB entry as well as a CSL-file pointer C,
   and maybe a desired output format F.  I get a string back that is the
   formatting of the data behind @K formatted according to the rules in C,
   adapted to F.

Is that correct?  If so, does it support html, text and odt?

> 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.

This is a very strong argument.

At some point Matt talked about adding support for org citation syntax in
citeproc-js.  Would this be advantageous if going this route?  I guess not.

> 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.

I guess we’d need to convince Erik to move it to GELPA.  Fortunately (from
that point of view), neither zotxt nor zotxt-emacs seems to have too many
contributors.

> 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. 

Indeed.

> 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 think this solves part of that issue.  Again it could be a dangerous
solution.  Alternatively, perhaps it’s possible to feed-in a bibtex file
to Zotero via an API.  This would also limit the damage.

IMO we can leverage zotero as a tool, but we cannot enforce it as a
bibliography manager.

> 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?

+1, though re zotxt we should make sure Erik would want to move it to
GELPA.

Rasmus

-- 
The right to be left alone is a human right

  parent reply	other threads:[~2015-12-01 14:37 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-28 20:16 Citation processing via Zotero + zotxt Richard Lawrence
2015-11-30  8:12 ` Martin Yrjölä
2015-12-01  0:32   ` John Kitchin
2015-12-01  2:59     ` Richard Lawrence
2015-12-03  0:27       ` Matt Lundin
2015-12-03  1:41         ` Christian Wittern
2015-12-03 14:25           ` Matt Lundin
2015-12-03  4:32         ` Richard Lawrence
2015-12-03 15:27           ` Matt Lundin
2015-12-03 17:56             ` Richard Lawrence
2015-12-03 19:14               ` Thomas S. Dye
2015-12-03 22:05                 ` Rasmus
2015-12-03 20:45               ` Matt Lundin
2015-12-03 21:04                 ` Matt Lundin
2015-12-03 23:31         ` John Kitchin
2015-12-04  0:03           ` Rasmus
2015-12-04  1:49             ` John Kitchin
2015-12-05 21:18               ` Matt Lundin
2015-12-05 22:23                 ` John Kitchin
2015-12-04  2:06           ` Matt Lundin
2015-12-04 11:22             ` John Kitchin
2015-12-04 14:13               ` Matt Lundin
2015-12-05  1:23                 ` John Kitchin
2015-12-04  9:20           ` Eric S Fraga
2015-12-01  9:34     ` Ramon Diaz-Uriarte
2015-11-30 11:35 ` Eric S Fraga
2015-11-30 12:02   ` Ramon Diaz-Uriarte
     [not found] ` <CAN_Dec-JCmwQ2bc=U93rRaPMYyXOiN_PRbtyya9x396r3qqMrg@mail.gmail.com>
2015-12-01 12:12   ` Fwd: " Matt Price
2015-12-01 15:28     ` Eric S Fraga
2015-12-01 15:51       ` Richard Lawrence
2015-12-01 19:20         ` Matt Price
2015-12-01 21:34         ` Eric S Fraga
2015-12-01 21:51     ` Matt Lundin
2015-12-02 15:21       ` Richard Lawrence
2015-12-01 14:36 ` Rasmus [this message]
2015-12-01 19:37   ` Matt Price
2015-12-02 15:58   ` Richard Lawrence

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87egf62q31.fsf@gmx.us \
    --to=rasmus@gmx.us \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).