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 ms11 with LMTPS id OULlBVecjV5QSQAA0tVLHw (envelope-from ) for ; Wed, 08 Apr 2020 09:41:43 +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 ODF2L1ecjV4dNgAAbx9fmQ (envelope-from ) for ; Wed, 08 Apr 2020 09:41:43 +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 683D6688E5C for ; Wed, 8 Apr 2020 09:41:41 +0000 (UTC) Received: from localhost ([::1]:33380 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jM7DH-00036w-91 for larch@yhetil.org; Wed, 08 Apr 2020 05:41:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39853) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jM74U-0000TG-W3 for emacs-orgmode@gnu.org; Wed, 08 Apr 2020 05:32:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jM74T-0006hN-7e for emacs-orgmode@gnu.org; Wed, 08 Apr 2020 05:32:34 -0400 Received: from relay10.mail.gandi.net ([217.70.178.230]:33861) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jM74S-0006gj-Bl for emacs-orgmode@gnu.org; Wed, 08 Apr 2020 05:32:33 -0400 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay10.mail.gandi.net (Postfix) with ESMTPSA id 1C9B224000E; Wed, 8 Apr 2020 09:32:27 +0000 (UTC) From: Nicolas Goaziou To: "Bruce D'Arcus" Subject: Re: wip-cite status question and feedback References: <87o8s389r0.fsf@nicolasgoaziou.fr> Mail-Followup-To: "Bruce D'Arcus" , emacs-orgmode@gnu.org, Joost Kremers , John Kitchin , =?utf-8?Q?Andr=C3=A1s?= Simonyi Date: Wed, 08 Apr 2020 11:32:26 +0200 In-Reply-To: (Bruce D'Arcus's message of "Tue, 7 Apr 2020 14:27:42 -0400") Message-ID: <874ktu8gr9.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.178.230 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: , Cc: Joost Kremers , emacs-orgmode@gnu.org, =?utf-8?Q?Andr=C3=A1s?= Simonyi , John Kitchin 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=1586338902; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=gCXv+sZsKrOpx88Cp0OEdKxVo90pHthrWFyh1P1iz4o=; b=FCFCrLYGr0B/2e9zuJklBF0unQslsopFo1usWz+idP9pyE26wnFh5Ttuvi1iHq36NxDgF1 LWh04fyUqhIwDlHktGxpR643iCeXy0NJcT4RnHvxoTzXCv5wOVl41jZl2suHBC/6//XwKR tpmFIlJSkKD3AG65cD5F1zgyHwoIrvI= ARC-Seal: i=1; s=default; d=yhetil.org; t=1586338902; a=rsa-sha256; cv=none; b=UMHyxVStjVyf5rIbf91tB4LXq0E4pQdKIKQ7DV/5yJE3E4sJSV8oJG8dIpakvpZod5SMLY DoGvLdTfDLV90jJENcZJku08qWBFJmM2GX4J0ETVvVnC5AvzMBGa9dr9pyDaBu2CBklgD8 BN5kHaUF8MxzsZmMrietV9CQVLXvS2s= ARC-Authentication-Results: i=1; aspmx2.migadu.com; dkim=none; dmarc=none; 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: 0.49 Authentication-Results: aspmx2.migadu.com; dkim=none; dmarc=none; 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 [0.49 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.58214925215456]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.31), country: US(-0.01), ip: 209.51.188.17(-0.58)]; ARC_SIGNED(0.00)[i=1]; RCPT_COUNT_FIVE(0.00)[5]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MAILLIST(-0.20)[mailman]; FREEMAIL_TO(0.00)[gmail.com]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; TAGGED_FROM(0.00)[larch=yhetil.org]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; ARC_NA(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; FROM_NEQ_ENVFROM(0.00)[mail@nicolasgoaziou.fr,emacs-orgmode-bounces@gnu.org]; FROM_HAS_DN(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[nicolasgoaziou.fr]; HAS_LIST_UNSUB(-0.01)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_CC(0.00)[fastmail.fm,gnu.org,gmail.com,andrew.cmu.edu]; FORGED_SENDER_MAILLIST(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-TUID: wx9WNSyGmF61 Hello, "Bruce D'Arcus" writes: > Note that in CSL processors, the locators are meaningful key-values, > basically; not plain text strings. OK, but it is enough for Org to feed a CSL processor with, e.g., key -> "@doe99" prefix -> "see " suffix -> ", pp. 33-35" Then CSL processor does its job to extract whatever information it needs. Am I right? > 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. I hope so, too. But it would help if developers could chime in and tell what API Org should provide. This is particularly important since Org will only provide the API, without any specialized implementation. More on this at the end of the message. > 1. just have a super simple citation export formatter, with (per > above) room to configure an external one Sure. Org should provide default export for citations in LaTeX, ASCII, HTML, Texinfo and ODT. Suggestions are more than welcome. > 2. while I don't know its status, include citeproc-org in org and > emacs I think citeproc-el should ship with Emacs, but I cannot speak for Emacs; it would be nice to ask Emacs developers about it. > 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. Option 2 makes a lot of sense if citeproc-el is integrated with Emacs. Until them, I agree that option 1 is the way to go at the moment. > WDY about that? Sounds like a plan. Let me summarize it a bit : 1. [ ] Finalize Org citation syntax. It is mostly good, but we need to decide about the following points: - [ ] Should it include both "(cite):" and "cite:", i.e., does it make sense to provide a (very limited) style specification piece wise? - [ ] Should it include /global/ prefix and suffix? - [ ] Should we keep the short specification, i.e., "[@key]"? - [ ] What kind of markup do we allow in a citation? At the moment the exhaustive list is: bold, code, entity, italic, latex-fragment, strike-through, subscript, superscript, underline, verbatim and line breaks. 2. [ ] Decide about API Org should provide for it to be useful. Here are some low hanging fruits: - [ ] List all ".bib" files associated to the document, - [ ] List all citations, - [ ] Return citation key at point, if any. - Anything else? Moreover, we need to decide about how external processors could plug into the export framework. - [ ] For example, it could be a simple variable bound to a list of functions. Each function accepts three arguments: the export back-end, as a symbol, the full citation, as a list of triplets (key, prefix, suffix) along with global prefix/suffix, and the usual INFO communication channel. Does it need more? - [ ] Also, the prefix/suffix may contain some Org markup, so this needs to be also processed. Should it happen before, or after the external processor does its job? I.e., should the function translate into Org or target format? 3. [ ] Specify the kind of basic translation that be done out of the box? Ideally, every non-derived back-end should do something, even basic. Therefore, we need to propose some translation pattern for each of the following: - [ ] ASCII - [ ] HTML - [ ] LaTeX - [ ] ODT - [ ] Texinfo 4. Anything else? We need help, or at least opinion, from actual implementors to go further. I'm CC'ing some of them. I can take care of the implementation (with some time, my plate is full at the moment), but I'm mostly incompetent about design issues. So, what about ticking off some items? Regards, -- Nicolas Goaziou