From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id GDy5EMkgj2ByIAAAgWs5BA (envelope-from ) for ; Sun, 02 May 2021 23:59:37 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id 8CNnDMkgj2CzDAAA1q6Kng (envelope-from ) for ; Sun, 02 May 2021 21:59:37 +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 87164165BF for ; Sun, 2 May 2021 23:59:36 +0200 (CEST) Received: from localhost ([::1]:51532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldK7j-0006WM-OS for larch@yhetil.org; Sun, 02 May 2021 17:59:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldK7L-0006WD-OC for emacs-orgmode@gnu.org; Sun, 02 May 2021 17:59:11 -0400 Received: from mout-p-202.mailbox.org ([2001:67c:2050::465:202]:51162) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1ldK7I-0003IC-RD for emacs-orgmode@gnu.org; Sun, 02 May 2021 17:59:11 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4FYKkY5MMszQjjH; Sun, 2 May 2021 23:59:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mailbox.org; h= content-transfer-encoding:content-type:content-type:in-reply-to :mime-version:date:date:message-id:from:from:references:subject :subject:received; s=mail20150812; t=1619992737; bh=LLmnfr8SlVy9 RJ6nXKQn8Kfo4PDvbXVUlAkgD7x1tT8=; b=PHUTjNoTBC49/BManvtaq4dT/eAn REMABCXTY9dEzcNDazBIduLpb9G5+THfJ9Eh9pJLyv7S/AsoVyifRKGxiQDblvkP lL9HWwo8gy2A8ioH2uJZE+sKdcUR5MpI2kaMWMi8CZWOK5aXkXNbFTgmMSuQT5sb puw28Kw3UVkgg9UGNK8qXTG6icI7Cg1CEEj++YJup7r1HMm084RrDlxkl94zIS5u 95WzDmQJJJ3BBpWxTYry+ScDZLie/Sn/+hm7K8wwuz0K/WFayrIjlECD4JaKYIle /LSKtx6OqVOmoTQyXAJgIn4X7h1DuLuRHnTktLAKRDzblBjrugPXAiolkA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1619992739; h=from:from: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; bh=7ZBBNwT6jWqNMH7NQ1BzZM8VZ4gORx7R7tJu/Blva54=; b=X8Bx+hfVb8xSxpPDiUTezuvjGtwYjfhcuYo0V3awGf6O9mFGwj0qD4wfUDwzatf/llnbpg KMPcs/AmHfDTD0X4NhFeqJhC/J0PtKZP3fO4WqcKTHq3Hlb4SvwCZuuQNLDudBfgDFi85Y ejcIodsFIBZSqfXQlQjIbaEMYhfyVfGdq+8dVJw7EJhxWeFzKpYeb9MMji6Sv0TytUWkad dDqzaEvFfCoXqe7gW2Vd/PmaeXgqqwOPRIuq79bC5F2lx13dXypzxasnjTezCAvCFMB2p6 rWxMZbo1QRo5XMsLWuWgYjw0ac42pCVFm1ekd588pWTpVYe2zf0fZw3HPj8Ebg== X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp1.mailbox.org ([80.241.60.240]) by gerste.heinlein-support.de (gerste.heinlein-support.de [91.198.250.173]) (amavisd-new, port 10030) with ESMTP id H3-72n-S0fCN; Sun, 2 May 2021 23:58:57 +0200 (CEST) Subject: Re: wip-cite status question and feedback To: Bruce D'Arcus Cc: =?UTF-8?Q?Andr=c3=a1s_Simonyi?= , "emacs-orgmode@gnu.org" , Nicolas Goaziou References: <874ktu8gr9.fsf@nicolasgoaziou.fr> <20210324182751.GA8721@atlantis> <87czuzprmh.fsf@nicolasgoaziou.fr> <87sg3neo0k.fsf@nicolasgoaziou.fr> <87eef35h7n.fsf@nicolasgoaziou.fr> <87a6pr5g4m.fsf@nicolasgoaziou.fr> <877dkt2pce.fsf@nicolasgoaziou.fr> <878s57fubm.fsf@nicolasgoaziou.fr> <87mttfuck9.fsf@nicolasgoaziou.fr> <897892c5-db81-af4e-f265-c89f9d4974b1@mailbox.org> From: Denis Maier Message-ID: Date: Sun, 2 May 2021 23:58:59 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-MBO-SPAM-Probability: X-Rspamd-Score: -3.20 / 15.00 / 15.00 X-Rspamd-Queue-Id: 571A915F8 X-Rspamd-UID: bea06b Received-SPF: pass client-ip=2001:67c:2050::465:202; envelope-from=denismaier@mailbox.org; helo=mout-p-202.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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: , 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=1619992776; 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:dkim-signature; bh=7ZBBNwT6jWqNMH7NQ1BzZM8VZ4gORx7R7tJu/Blva54=; b=EzMgEsY4dddmS9aZiVviWgFORtH6d2aEVjKlW8LrUl4KvSubLoZS5ltz75sg59pv2ojTgk 3KYkX4L46tdiNtlADhxFIYMWblRq2C2GzanbX6u30OMbynj9GjSNqpbxEtR76gS1tSQeSD tTj08Ppt2AQ5NTAbflTlU9tqVazXZWrsDw53axBTYKL+tGCPP6qO1C6OxPFwI46TjzHApE 0dePpk5w0DQhxtEMuCaEZjBubhgJry30yZXY4SILtdrdauSczSrfdH7kZ5/98cJ83HgT3d caegb95+OoIKbRzvwDLonZcUgPQ3UQMl1CVt/cyxd2hBtARAxjQcNagHcPiwhg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1619992776; a=rsa-sha256; cv=none; b=Gn5sm5UXATrdHxgqrLLiwAAjwpgZDpUOcxkwDm57u3LgqjoEOmuE1Rsm7Huunknc6zy2fM /16+wVgaG4fkrEov822trn9HKbE8M8UxeKedt+JJLt1I18WclMW8oKYNdV7Wkboz+X/4jp mA1Mdq9oC6jee/3FpBlB92yfNzVpnfJ6Dc8c2T+s2Xc31GK4ssfzWl1Bf2/HZmDYc/7Kth GxaFJyhQhwM0n/3vhmRGMZyM1j5eJ4pOSTQAw/fmRO1qZUQYxOnQaiVeZi6ueg/TbK35Qy hqlntsluRN+cG3C+x9M5foOiHXPkRY5hrovXTD6yRCzzENgnaDk7zbf89Q6UKQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=PHUTjNoT; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=X8Bx+hfV; 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: -1.66 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=PHUTjNoT; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=X8Bx+hfV; dmarc=pass (policy=reject) header.from=mailbox.org; 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: 87164165BF X-Spam-Score: -1.66 X-Migadu-Scanner: scn0.migadu.com X-TUID: +OYsXwicMOM0 While evaluating different aspects of punctuation moving I had another look at the csquotes package. p. 21 f. and p. 27 ff. in the manual (http://mirrors.ctan.org/macros/latex/contrib/csquotes/csquotes.pdf) are quite instructive.[1] This package a structured representation of a quotation, final punctuation in the quotation, the citation, and trailing punctuation, which all can then be reassembled according to different rules. Now, I was wondering if something similar could be used for org as well. I'm thinking of something like this: 1. At first parse quotations and citations into lists '(quotation-content final-punct-in-quotation citation trailing-punctuation) 2. Fed that into a second function that reassembles the elements. In that case, the function org-cite-wrap-punctuation would take a object, info, a boolean and a function as arguments, the boolean would enable/disable the function, the last argument could specify how the elements should be reassembled, so: (defun org-cite-wrap-citation (citation info &optional move-punctuation move-punctuation-function) => (org-cite-wrap-citation citation info t American) Does that make sense? Would that be possible? I'm thinking whether this could make the system more flexible and adaptable. And it would remedy the need to come up with all possible patterns as it should be easy to add those later. WDYT? Denis [1]:  As it seems, french typography seems to place note symbols just before the closing quotation mark. Am 01.05.2021 um 15:26 schrieb Bruce D'Arcus: > On Fri, Apr 30, 2021 at 5:48 PM Denis Maier wrote: > >> Yes, this should be equivalent to the behaviour in pandoc. >> >> However, as I've said before, this behaviour is only correct in American >> English. > Denis and I are working on sorting out the details of how to address > this off-list ATM. > > But I'm tentatively thinking this could be addressed by splitting the > MOVE-PUNCTUATION parameter in two, so that we have: > > MOVE-PUNCTUATION: Move punctuation character following citation before > it, when applicable (for example [TODO]). > > PUNCTUATION-INSIDE-QUOTES: If a quotation mark precedes the citation, > move punctuation before it, too, unless [TODO] > > So for the examples Nicolas posted, this: > > (org-cite-wrap-citation citation info t) > > … would change to this: > > (org-cite-wrap-citation citation info t t) > > ... and to get the British/German output it would be: > > (org-cite-wrap-citation citation info t nil) > > More when we figure out if this is feasible, with example input/output, etc. > > Bruce