From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1 with LMTPS id sK82BVDHjF5PKQAAk0OIDg (envelope-from ) for ; Tue, 07 Apr 2020 18:32:48 +0000 Received: from aspmx2.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id yJasJk7HjF5GYwAAbx9fmQ (envelope-from ) for ; Tue, 07 Apr 2020 18:32:46 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx2.migadu.com (Postfix) with ESMTPS id 4941968E861 for ; Tue, 7 Apr 2020 18:32:44 +0000 (UTC) Received: from localhost ([::1]:51896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jLt1e-0005TA-75 for larch@yhetil.org; Tue, 07 Apr 2020 14:32:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40514) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jLt15-0005Sy-O6 for emacs-orgmode@gnu.org; Tue, 07 Apr 2020 14:32:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jLt14-0004l2-6k for emacs-orgmode@gnu.org; Tue, 07 Apr 2020 14:32:07 -0400 Received: from mail-vs1-xe29.google.com ([2607:f8b0:4864:20::e29]:38278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jLt14-0004kk-0n for emacs-orgmode@gnu.org; Tue, 07 Apr 2020 14:32:06 -0400 Received: by mail-vs1-xe29.google.com with SMTP id x206so2932063vsx.5 for ; Tue, 07 Apr 2020 11:32:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=7IJhTBV+A4ZmG5GglFvcyp5XVLZ/pxBhATwLkKlXkRM=; b=NmDeBeKLxpvw2E1Y4zYt4VkmffMkGU+j9nzy5GD6SUL3GMrlnnxz+zQkntbg2pEYbD tOueGm5u3mpgJ//joHjC61h2gc8p89gkZGyG22+AeBTkTyMpQ3l34Yv1A2yawYJv5zxa PVCQaTIaey0PwbUDWwhZHyX5xZDY2UopAE7eaAtzfTMaf45ekEsB9u179YzYFoBi1HaB nBUwD+JvzaEO9hKD6eJSL09uqfDjYr59uqvCvI9TNgQOWRmcHEty1nm8AtUv2FLfFMx2 nle6a33tO6LRfCvBg1EuJGVsDFoi/X9CrSmfqkYPzZKnuczVKzWwTGfJ+rLk3NoFt/Vk ZTSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=7IJhTBV+A4ZmG5GglFvcyp5XVLZ/pxBhATwLkKlXkRM=; b=HlQwdaPUlXwZb1rNCSXdR7RLzyUoPh3/MQ+LWcdM6tLMXMPf+iw/HjwAb0ACgu4X3N cGla4efefJVc/stli+iVQA9UIVwZnrjt8nw3YLSr8+jIJgGzISPITw+TmOpLdbBfenBn oV5OnhQMLasIoHbzd3xnqeKMVCuxYo4qvP3Squ/BXcoYnBNRAjhrCEcOiQIdZqXql+OL FpyB3qM+Uqgp7fpKru3PjiibbGvdtLUKV/HIMAij17vtUSdk2tf1bhBA+MscVKWN71DW 8MJH7B77dR7OXh+4LpZbZnUL9xHbIW73AfOB3ler3OiwYUi3S+fPAU5M3BCrS77Z5jr0 CpJg== X-Gm-Message-State: AGi0PubMHqlow1TtOjPMnTALLU9Dq9XYiax4gwvyj4NMLzfgWNHMJy5N M4xnXHc4k8DnenB68k13nb2Hai18dQ82aRSVPhU= X-Google-Smtp-Source: APiQypLkbRim+umRt/YHMdt2G2YSC4TmcE/uDsfb+5qlowq2unIqjLlbmXG7poPnVMrdmXpOm7TRz0CJ7aFm9FzlXMc= X-Received: by 2002:a67:2247:: with SMTP id i68mr2937864vsi.19.1586284325075; Tue, 07 Apr 2020 11:32:05 -0700 (PDT) MIME-Version: 1.0 References: <87o8s389r0.fsf@nicolasgoaziou.fr> In-Reply-To: From: "Bruce D'Arcus" Date: Tue, 7 Apr 2020 14:31:53 -0400 Message-ID: Subject: Re: wip-cite status question and feedback To: "Bruce D'Arcus" , emacs-orgmode@gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::e29 X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=default; t=1586284365; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=7IJhTBV+A4ZmG5GglFvcyp5XVLZ/pxBhATwLkKlXkRM=; b=gIDuDHlOVwqSG+TC12axz+WkR5HFnRF4Td3kdG1nIoEyoXLfiaCYhRwu0AbfSevOvI5wxf Pog/gdvzqW4I2Y+Ty4PoqxTQYPTMYwduSkPvx9O7gQDA0fnAMkrZoUaYfzo5PXPheQXfHf l9lB6ZfPwLxYmioRCDLZGln1zabB7L0= ARC-Seal: i=1; s=default; d=yhetil.org; t=1586284365; a=rsa-sha256; cv=none; b=ls8faC9u/dVvzbrd7XULPA7cax0NWe/EzgLnasmYqtWUxjSpHeB/MpKM+ECM/z5Tv5izyL Y5QyIGKgBeyi6SWaBOE2Ev0bLlf0EVFBMwPFwhdSBHui8PxHh2SZ+85KHZxUm4MHy+YW/l C3jc7+GqqpuhncF5XxGKSOcraA5oUKk= ARC-Authentication-Results: i=1; aspmx2.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=NmDeBeKL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx2.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Scanner: scn0 X-Spam-Score: -1.71 Authentication-Results: aspmx2.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=NmDeBeKL; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx2.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Scan-Result: default: False [-1.71 / 13.00]; GENERIC_REPUTATION(0.00)[-0.58226330936896]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; FREEMAIL_FROM(0.00)[gmail.com]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.32), country: US(-0.01), ip: 209.51.188.17(-0.58)]; ARC_SIGNED(0.00)[i=1]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MAILLIST(-0.20)[mailman]; FREEMAIL_TO(0.00)[gmail.com,gnu.org]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; TAGGED_FROM(0.00)[larch=yhetil.org]; FROM_NEQ_ENVFROM(0.00)[bdarcus@gmail.com,emacs-orgmode-bounces@gnu.org]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; RCVD_COUNT_FIVE(0.00)[6]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[emacs-orgmode@gnu.org]; HAS_LIST_UNSUB(-0.01)[]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: hSYYtvAvhM8H Sorry for the typos, and also a more important mistake: a didn't mean citeproc-hs, but citeproc-rs. https://github.com/cormacrelf/citeproc-rs On Tue, Apr 7, 2020 at 2:27 PM Bruce D'Arcus wrote: > > Thank you for this thorough reply, Nicholas! > > See below. > > On Tue, Apr 7, 2020 at 1:51 PM Nicolas Goaziou w= rote: > > > > Hello, > > > > "Bruce D'Arcus" writes: > > > > > Hi everyone; first post. > > > > Welcome! > > > > > I see from the archive there was an encouraging thread from April of = 2018 > > > > > > (so, two years ago) that seemed to suggest merging to master was clos= e, > > > with perhaps some uncertainty around syntax being the primary hold up= ? > > > > > > My main question: how do we get this done? > > > > Good question. I don't think syntax is the primary hold up. It seems to > > me that the glue part between the parser and the export back-ends is > > missing. If we merge wip-cite branch in master, where do we plug it? Ho= w > > do Org folks use it, out of the box? It also need tooling. For example, > > citations could be a link to a database. > > OK, gotcha. That does explain the "hold up." > > I'll come back to this below, but for now simply say that ideal would > probably be a default formatting library and database, with room to > replace with other options. > > For the database, it would make to do as existing tools do; allow > users to define default bib(la)tex files. > > [snip] > > > Actually, barring the "cite:" prefix, you can use the exact same syntax > > as Pandoc, i.e.: > > > > [cite:see @doe99, pp. 33-35; also @smith04, chap. 1] > > [cite:@doe99, pp. 33-35, 38-39 and *passim*] > > [cite:@smith04; @doe99] > > > > Only the semicolon is meaningful in there, not the commas. Also, for > > readability, spacing after the "cite:" prefix is ignored, so one can > > write, e.g., > > > > [cite: see @doe99, pp. 33-35; also @smith04, chap. 1] > > OK, that's good. > > Note that in CSL processors, the locators are meaningful key-values, > basically; not plain text strings. > > This is because different citation styles have different requirements > for rendering them. > > Description from the spec: > > a cite-specific pinpointer within the item (e.g. a page number within > a book, or a volume in a multi-volume work). Must be accompanied in > the input data by a label indicating the locator type (see the > Locators term list), which determines which term is rendered by > cs:label when the =E2=80=9Clocator=E2=80=9D variable is selected. > > And this is the list of CSL locators keys: > > http://docs.citationstyles.org/en/stable/specification.html#locators > > > > Or the first one might treat the =E2=80=9Csee=E2=80=9D as a prefix fo= r the list, though I=E2=80=99m > > > not sure what the practical benefit of that more hierarchical modelli= ng is. > > > > No, IIRC, the common prefix is the part before the first semicolon, but > > only if that part contains no citation key. IOW, in the example above, > > "see " is the prefix of the first citation reference, not a global > > prefix. > > > > > While I do wonder if the syntax could be simplified, my main hope is = that > > > it actually gets merged to master and deployed, to harmonize the vari= ety of > > > different ways emacs tools (org-ref, ebib, pandoc, etc.) are dealing = with > > > citation links in org currently. > > > > If the syntax is practical, we could merge it, yes. Maybe that's the wa= y > > forward, after all. But then? What library is going to use it? > > > > Org Ref is well established and is unlikely to switch to the new syntax= . > > It would be nice if both syntax could converge at some point, though. > > The point of the new syntax is to make it easier for this kind of > > extension. > > While I of course can't speak for John, I would hope and expect org > ref to support the new syntax. > > I would hope and expect the same of other packages (like ebib) that > use their own custom syntax. > > > "citeproc-el" is not included in Emacs, so integrating "citeproc-org" i= n > > Org may not be helpful at this point. Since Org is bundled with Emacs, > > it cannot use external libraries. > > I hadn't considered that. > > I'm thinking two options: > > 1. just have a super simple citation export formatter, with (per > above) room to configure an external one > > 2. while I don't know its status, include citeproc-org in org and emacs > > I'd say if citeproc-org is far along and free of substantial bugs, 2 > might make sense. I am, of course, biased, but CSL's been widely > deployed in the wild for more than a decade, and there are thousands > of available styles. > > Otherwise, and more likely, 1 would be the best path; users get basic > output formatting for citations, but then can plug in more elaborate > tools (citeproc-org, citeproc-hs*, etc.) if they need them. > > Obviously, if a user is exporting to LaTeX, the formatting is > straightforward, because you're just exporting to the latex cite code, > as pandoc does (though it also has an option to use citeproc to > produce "cooked" formatted output in latex). > > For HTML, the output doesn't need to be anything fancy. > > So the #1 path is the more iterative approach to implementing the functio= nality. > > WDY about that? > > Bruce > > * citeproc-hs is a newer effort, funded by zotero, to create a very > high performance, fully compliant, CSL implementation, that is easy to > embed and use pretty much anywhere; I haven't checked on the status > recently, but I'm optimistic this will be the best option long-term > > Bruce