From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 6OppMSB1kWA+VAEAgWs5BA (envelope-from ) for ; Tue, 04 May 2021 18:24:00 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id mNglLSB1kWBaCwAA1q6Kng (envelope-from ) for ; Tue, 04 May 2021 16:24:00 +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 aspmx1.migadu.com (Postfix) with ESMTPS id 2F35F16973 for ; Tue, 4 May 2021 18:24:00 +0200 (CEST) Received: from localhost ([::1]:38542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldxq3-0004Sz-Bu for larch@yhetil.org; Tue, 04 May 2021 12:23:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59586) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldxpA-0004P3-JU for emacs-orgmode@gnu.org; Tue, 04 May 2021 12:23:04 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:13701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldxp7-0001HC-NX for emacs-orgmode@gnu.org; Tue, 04 May 2021 12:23:04 -0400 X-Originating-IP: 185.131.40.67 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 8650524000B; Tue, 4 May 2021 16:22:56 +0000 (UTC) From: Nicolas Goaziou To: Joost Kremers Subject: Re: Question about citation processors [wip-cite branch] References: <87bl9qmxy3.fsf@fastmail.fm> Mail-Followup-To: Joost Kremers , emacs-orgmode@gnu.org Date: Tue, 04 May 2021 18:22:55 +0200 In-Reply-To: <87bl9qmxy3.fsf@fastmail.fm> (Joost Kremers's message of "Tue, 04 May 2021 12:41:11 +0200") Message-ID: <87r1im5uzk.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=217.70.183.193; envelope-from=mail@nicolasgoaziou.fr; helo=relay1-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1620145440; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=zSwBxUp37yxcNAxKBcyVKJ30ZwoyeXTT95Fyg1a0H5M=; b=MG1Vq5K5lm1NgZ6AU4XCJ4F8lwq5aSviPfRixTulTimYA1FkmWMUIN5VSp7iRBOg2GPPb1 OzDTcn7HmWqOinx4yIF4jNXtEV1O6GonQDnzwfZEvnWDRPm50ymm36cnxQf/Cn6ONAjnvs tskIuZCZYKumWtO5o0wuoy3sOIT4ec5wY2MLEryJOa87Uqp/PzrJFz5pwrLmTiZTFRWkNC +HSroAIXEHqEUpAMtmpFyomj/CI7TDksLvSlUtVk+lC33BXgan10qWHMfzd8GO3UeFYTTL 5R3qtv7pMCRzWAVMhMcb6X6shlCbbQ5CU0LYxCPX1eFummJ5rwT0xYDQNIa13w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1620145440; a=rsa-sha256; cv=none; b=PS0BuWS6xtkF7VZp9ZkOrh7c3yBA2iEzJjOEVCSI8SNfC7kYhzthSwRmX1B1xhJOSy1JoY fhRvz5U3W7iRLbGlq2Ss0W8C8PZl9DxaQ2/+BZwg+/E0mwXC8nlCrK6NT0IW/V+D2kZLoD 8qPPdnVC8DHz00NxKUdpmOBPj/vrB4MQlPvpgdXkwFolXqb1LQy9K/bJ0d4xBdkH0N2Q9W 3yRBnjAcnaDsoTEbPJmLlFWVFW+X/cczOyfuqD7OgXTOR/y84LXiyUm9sEWw8TqpLaHhjm jPvumWS4hPFTnQpK9ZAQFTFMZxA7eObCc1CrpJnpJQd0LfIUqw6ILlGzV/d3jA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.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-Migadu-Spam-Score: -2.46 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.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-Migadu-Queue-Id: 2F35F16973 X-Spam-Score: -2.46 X-Migadu-Scanner: scn0.migadu.com X-TUID: /PhRgvrGJ4uF Hello, Joost Kremers writes: > - A user should be able to insert citations into an Org document. IIUC no= thing > in org-cite provides any functionality for this, right? Is there a defa= ult > list of styles a user would expect to be supported, or does this depend= solely > on the bibliography style one uses? Org Cite does not provide anything in that area because there nothing to provide. You can write your own function inserting citations without plugging it anywhere in Org. For others capabilities (activate, follow, export), you need Org to cooperate. If you think my assumption is incorrect, please let me know what kind of hook would be required. > - =3D:active=3D just means "font-lock", right? Yes, with the emphasis that more than faces could be provided (e.g., help-echo, specific keymap, =E2=80=A6). I think that Org Ref only needs this property (barring its export part). > - Since I don't plan on writing an exporter, I assume that it is possible= to > mix and match processors? Say, have one for the =3D:follow=3D property,= another > for =3D:activate=3D and a third one for =3D:export-*=3D? Exactly! A processor may only provide an :activate property. > - What kind of data structure do the =3D:follow=3D and =3D:activate=3D fu= nctions take? > Should I just look at =3Doc-basic.el=3D or is this written down > somewhere? Processors must be registered using `org-cite-register-processor' function from "oc.el". See its docstring for details. All arguments are detailed. As an example, "oc-basic.el" is a citation processor. It calls the function above at the end of the file and registers all three capabilities (activate, follow and export). At some point, we will need to write some documentation in the manual, too... > - Is there a function or buffer-local variable that gives me a list of al= l the > bibliography files of a buffer? Related to that: if a user has set > =3Dorg-cite-global-bibliography=3D and also provides a =3D#+bibliograph= y=3D keyword, > are both sources used, or only the keyword? "oc.el" provides a number of hopefully useful tools. Among them, `org-cite-list-bibliography-files' function returns what you're asking for. Global variable and keywords are cumulative. HTH! Regards, --=20 Nicolas Goaziou