From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id oGmdODg2OGLB2AAAgWs5BA (envelope-from ) for ; Mon, 21 Mar 2022 09:24:24 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id gNUpMDg2OGK/OwEAG6o9tA (envelope-from ) for ; Mon, 21 Mar 2022 09:24:24 +0100 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 399892CF5E for ; Mon, 21 Mar 2022 09:24:23 +0100 (CET) Received: from localhost ([::1]:56578 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nWDKv-0005RA-Uu for larch@yhetil.org; Mon, 21 Mar 2022 04:24:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nWDK7-0005Oj-Ry for emacs-orgmode@gnu.org; Mon, 21 Mar 2022 04:23:31 -0400 Received: from [2a00:1450:4864:20::333] (port=42695 helo=mail-wm1-x333.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nWDK5-0003bt-Bc for emacs-orgmode@gnu.org; Mon, 21 Mar 2022 04:23:31 -0400 Received: by mail-wm1-x333.google.com with SMTP id r190-20020a1c2bc7000000b0038a1013241dso7948355wmr.1 for ; Mon, 21 Mar 2022 01:23:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:references:user-agent:in-reply-to :message-id:mime-version; bh=Z2yCVLa/GtLRMpHg1KOiQwljG3q2RxFxzSySm+Ypz5c=; b=aSQjFq4bTj6L+5b0xJa8hV7sBEv1sPdRULi3H/tJ1Irq6RPYDs2l0yt9qiqITnp4NI NcM517np3f8RHyXScY7ive5E3G7nUX+ZlxDvIQYpNoqbrB2VR6e42Tq7Bg6cBqycdMs0 PhQu9OG+chQ3nr5Grs4Awy7O33HQN4Rxn+UyHLHBdUV2AtBM9J1h36TurZ3MLFsJI++Y tmg67NrXDXSxFftuLN5Fmk1Vh6QMdZMw/htb8mqoBWy31qMnESi0wBBuTbTcpM11JeCc pynhFgZAAIJyCULVGUjRnVJ+8R23ZRLCD0cYstJIS3elL6CoKUCwS6tfMCX88FWsf/vR wiQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:references:user-agent :in-reply-to:message-id:mime-version; bh=Z2yCVLa/GtLRMpHg1KOiQwljG3q2RxFxzSySm+Ypz5c=; b=FNgFdMyELgljF2WUJTVJ2MZchW73HwW+36YIksCgYKsgic62LdctLmTewQiejIbTS0 Nj8E0FxWq1AYX2QrQDLZ4kb0hC0+hO6km6M8sEDdsYLBWBc4AMzRKuOTQ6vNjWleirWH B3GoOsfl3SHohethnWcvqI5s+EQHgBNhNAH/soR+i/9YFGztKUxHw0mjVcnAXLSNJlUy /8fBbaQLvr/w3pvspgCJ1CyKFHWhuY/fbpRw3iMoI2jqvBxihMpWyWu9Vsif8gJ/xfgT bO8U2vbOZ9i+BnDMTe1/6baS6OIvDIwAEZGfp6rgWuM1cgI/dWyvoNJmXDllq14Bf7Qs oE/A== X-Gm-Message-State: AOAM531212F0qsNXi/bkc9Psm6vbP12dRk4YcpUu9RRzAyhgs8oIqH15 hp26NgAlYurZS8qcrHpSaA== X-Google-Smtp-Source: ABdhPJz8MPMuFqiC7CaasQruvjK27zpPMHUF2xMpZ53FmOmh+gJKC9xZye9L9oGvw+Uda840PansEg== X-Received: by 2002:a05:600c:1550:b0:389:d623:cb7f with SMTP id f16-20020a05600c155000b00389d623cb7fmr26207697wmg.183.1647851007489; Mon, 21 Mar 2022 01:23:27 -0700 (PDT) Received: from localhost (070-207.dynamic.dsl.fonira.net. [178.251.70.207]) by smtp.gmail.com with ESMTPSA id k12-20020a5d628c000000b00203e2fbb2absm11841473wru.113.2022.03.21.01.23.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Mar 2022 01:23:26 -0700 (PDT) From: Dominik Schrempf To: Timothy Subject: Re: citations: org-cite vs org-ref 3.0 Date: Mon, 21 Mar 2022 09:16:35 +0100 References: <87wngosqvm.fsf@nicolasgoaziou.fr> <87r16wukx0.fsf@gmail.com> User-agent: mu4e 1.6.10; emacs 28.0.91 In-reply-to: <87r16wukx0.fsf@gmail.com> Message-ID: <87v8w7u32a.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::333 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=dominik.schrempf@gmail.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vikas Rawal , emacs-orgmode@gnu.org, Nicolas Goaziou , John Kitchin Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1647851063; 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:dkim-signature; bh=Z2yCVLa/GtLRMpHg1KOiQwljG3q2RxFxzSySm+Ypz5c=; b=DTqeBsSn76xTmyhOZZ9GqCYQ2Q6zLCY4QG863D3qmbXqAsvdtEH0Xa4aFsTf8mbBit9Uo2 yNSANdi5QlZu727yaNU5IBmFZoJcIHddn7CbOH7DwpLUfrJ/V+W42VwsInQ96Rj9oT8yUH VlRugxeSuJsaXpDgW9yxsbNrEIZ9VXx7a6GZ4lR68L+eSRAAqIoT7iIUEUzEPuT75jYGSU U5uWZbYxIEm8A03iFcLXcch9iyje937geyTj+K3mWM97WUtJz+o2Y2BEOLBMuMRjS6Kfor DE0luRculCOepyaPYdoZzhPNkyBHd0OBmrFkdIdyR1+tO01tTxBhBDYHaTIrdg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1647851063; a=rsa-sha256; cv=none; b=AXq76eQvnjBWEkDf7KM5VkM49Wu8zsKwkyRYi621XMLr93WEjQE4wY6zrQpICOKZwLXwrv yIHBaqKIKqjcKdSDsZgS3zBJk3O1yKlqTocG9HQcFwb8bCC4RdIuWeoopnMFEl4FFGAS8I upPp3e2BlFMEXjb1XHaeiVhBSvhiYU9IHwNbQTwxNYTNBVIGlSefC2PF0X6D1eNSI7hAF7 gwNow5sZPRQwCPkLc+Pj9cWkY4a+eB+okmRLXS1aVro6d7myPFIrBDYv1WxPHKEVNLBklV WQI8lfeeiCVmXTsFhKhrWzhwfAPoR0knKZpi6RK05Xavj/w2dsOcw5FC/4Dg+g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=aSQjFq4b; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 7.08 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=aSQjFq4b; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 399892CF5E X-Spam-Score: 7.08 X-Migadu-Scanner: scn0.migadu.com X-TUID: UlMFQfwHJ7CA --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, I am trying out `org-cite' right now. It works much better than the last ti= me (I am using the `biblatex' backend right now). However, I can not find any documentation about the available /styles/. They are mentioned here: But no styles are provided. For example, I need citations in the text (showing up as =E2=80=9CAuthor(s)= (Year)=E2=80=9D). With BibTeX, this would be `\citet{}' (or `\textcite{}' with BibLaTeX). But there is a lot more. See: ). Thank you for working on `org-cite', and `org-ref'! Dominik Timothy writes: > Hi John, > > Thanks for your considered response. > > When you contrast org-cite and org-ref, you say: > >> With org-ref, bib(la)tex export is almost fully supported, and is easy, > > I find this odd as org-cite supports bib(la)tex export, and rather easily. > > =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > =E2=94=82 #+bibliography: references.bib > =E2=94=82 #+cite_export: biblatex authortitle/authortitle-ibid > =E2=94=82 > =E2=94=82 (NO_ITEM_DATA:key) etc. > =E2=94=82 > =E2=94=82 #+print_bibliography: > =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 > > The limitation which I think is on your mind is that not all bib(la)tex c= ommands > are supported, and not in the =E2=80=9Cusual=E2=80=9D form. For instance,= to get `pnotecite=E2=80=99 one > would use `[cite/locators:]=E2=80=99. However, to get a 1-to-1 name mappi= ng, you can just > customise `org-cite-biblatex-styles=E2=80=99. For instance, `parencite=E2= =80=99 is not currently > available, but if I just add `(=E2=80=9Cparencite=E2=80=9D nil =E2=80=9Cp= arencite=E2=80=9D nil nil)=E2=80=99 I can then do > `[cite/parencite:]=E2=80=99 or if I replace the first `=E2=80=9Cparencite= =E2=80=9D=E2=80=99 with `=E2=80=9Cparen=E2=80=9D=E2=80=99, just > `[cite/paren:]=E2=80=99. > > A package could be created, say `org-cite-literal-biblatex=E2=80=99 which= is just a copy > of `oc-biblatex.el=E2=80=99 with a different default `org-cite-biblatex-s= tyles=E2=80=99 and > `org-cite-biblatex-style-shortcuts=E2=80=99 (or just sets those variables= in > `org-cite-biblatex=E2=80=99). As far as I can tell this would provide exa= ctly the > functionality you say org-cite can=E2=80=99t provide but org-ref does. > > You can already use `.bib=E2=80=99 files, and so frankly I cannot myself = see the point in > org-ref=E2=80=99s existence beyond bifurcating the community on this. At = this point the > only remaining motivation I see is old documents and current users, and f= or this > a migration tool seems more appropriate. > > I don=E2=80=99t mean to be overly critical, however this is my current ho= nest assessment > of the situation. > > =E2=80=93 > All the best, > Timothy > > John Kitchin writes: > >> I do not think it is productive for the community to say or consider it >> is a sad situation. Many good things have emerged from these >> discussions, even if it is not yet consensus on a solution. It is a >> complex problem, with many years of effort by many people on each side. >> That is an indication of how ambitious this project is and that there >> may be more than one solution that is needed. It pains me quite a bit >> there is a sentiment of fractionation, and that I may be contributing to >> it. >> >> My regular job workload the past few years has been crushing, and I have >> not had the time to participate in this that I wish I had. I am not sure >> I can add much here without sounding or feeling defensive about org-ref, >> and my decision to continue supporting and developing it. I have thought >> about this for most of the day, and in the (very long, apologies in >> advance) response that follows I will do my best to provide a balanced >> perspective (from my point of view) on the situation. >> >> Some specific context that is important to me is that I wrote org-ref >> long ago to solve a specific problem for me in the preparation of >> scientific publications that are destined for LaTeX export. I intended >> it to provide nearly equivalent bib(la)tex citation export, and as >> reasonable an export as possible for everything else. I use org-ref >> professionally, and it is a complete solution for me. I simply cannot >> compromise on the capability org-ref provides me, or wait for an >> alternative complete solution in org-mode. I have work I have to do now, >> and org-ref lets me do it. This alone is reason enough for me to >> continue using, developing and supporting org-ref. I understand org is >> not intended to be a substitute for writing LaTeX, but it is a fact of >> my job that I have to do that. >> >> There are more than 8 years of legacy org-ref documents. I have written >> 40+ scientific papers with it, and countless technical documents with >> more than 8000 cite links among them. org-ref has exceeded 190K >> downloads from MELPA, so I feel obligated to maintain org-ref for >> myself, and those users. org-ref may be heavyweight in bundling a lot of >> capability together that could be separated into individual packages, >> but it is also convenient for people who need it, and a GitHUB issue or >> pull request away from new features. I remain committed to supporting >> this, and I do it in a way I can manage, hence the monolithic package >> design. >> >> org-cite was also developed to solve some specific citation problems for >> others that org-ref did not address well at the time it was started. I >> believe those were issues like better pre/post note support, and >> integration with CSL. >> >> I think org-ref and org-cite have different priorities, they solve >> different problems with different approaches, and they have different >> pros and cons. I believe there are mutually incompatible compromises one >> must make here because the specific choices you make determine what is >> easy and what is possible. There is not a direct mapping of bib(la)tex >> and CSL as a citation processor. They are different programs and they >> don=E2=80=99t share citation commands, or style information. It is inevi= table >> that something will be lost in the translation between these from a >> single source like org, and whether that loss is acceptable depends on >> what you need. For many things, close enough is ok for me, but for >> manuscripts and proposals, they must be perfect, and in bib(la)tex form >> for the journals I publish in. It is not that one thing is possible in >> one and not the other; it is that you have to compromise one to do the >> other no matter what you choose and that typically makes one thing or >> the other easier to do. I am not even sure it is possible to do >> everything one can do in bib(la)tex with CSL, for example, I don=E2=80= =99t know >> the equivalent of in CSL. org-ref sides on making bib(la)tex >> easy, and CSL is possible. >> >> With org-cite, CSL can be readily used across export backends, more >> bibliography database formats are supported, and it is also possible to >> get LaTeX export, although there is no goal to fully support all of >> bib(la)tex. A pure org approach (e.g. org-files as bibliography >> database) can be used, there are a lot of CSL styles to work with, and >> you can develop or adapt your own style if needed. With reasonable >> defaults this should be a straightforward introduction to using >> citations for new users that works out of the box. I support that. >> >> With org-ref, bib(la)tex export is almost fully supported, and is easy, >> and other exports via CSL are possible. Of course, you must have a >> working LaTeX installation, only bibtex databases are supported, and >> working knowledge of bib(la)tex is required to leverage this. Whether >> you want it or not, you get a lot of extra utilities for getting bibtex >> entries from a DOI, and support for cross-references, indexes, >> glossaries and acronyms. This is a lot to ask of people who don=E2=80=99= t need >> it, and convenient for those who do. I support this. >> >> Which one of these approaches is right depends on what you want to be >> easy. Neither is right or wrong, that is determined by what you need at >> the time and what you prioritize in your solution. It is even possible >> you need both approaches at different times. The two approaches are not >> compatible, but it is org-mode after all, and you can certainly convert >> back and forth between them for the most part. >> >> Both projects have benefited from this discussion a lot. org has >> org-cite now, and org-ref now handles pre/post notes like org-cite does, >> it supports CSL much better, and is even a little more modular, lighter >> weight, and more easily integrated with other completion backends than >> ivy or helm. That should broadly be viewed as a win-win situation. >> >> Here are some factors that have prevented me from deprecating org-ref. I >> spent about a month and half trying to get a solution to this at >> , and I don=E2=80=99t make the= se >> observations lightly. That solution was complete and highly functional >> for org-cite, but as I describe below not a replacement for org-ref at >> this time. I still welcome a new maintainer for this code. >> >> Cross-references are critical for me; without them, there is no path >> forward for me with org-cite. I did work on a cross-reference approach >> that leveraged org-cite syntax >> (), but there was not >> much appetite for the approach so I abandoned that. There are >> cross-reference capabilities in org, that may be suitable for some >> applications, but they do not come close to what org-ref offers, and >> that the kind of technical documents I write require. For me, any >> cross-reference capability would also have to support what is possible >> in LaTeX, and preferrably look similar to the LaTeX commands. It has not >> been possible to write an orthogonal package that could co-exist with >> org-ref to address this; this would require a new syntax for >> cross-references in my opinion. My opinion is that practically citations >> and cross-references are just links to a place in your document (either >> a figure/table/section/etc, or an entry in a bibliography). In org-ref, >> both are represented by links; of course, they have different types and >> functions, but they both have follow like actions. My opinion seems to >> be in the minority on this. >> >> I do not like the abstraction away from LaTeX cite commands in org-cite. >> This is an example of a compromise between LaTeX and CSL. They do not >> share common citation commands, so you can either choose one or the >> other, or make a new abstraction that generalizes them. I strongly favor >> the LaTeX commands because I write for LaTeX export, and there is >> extensive documentation for how to cite in LaTeX and what to expect. >> Clearly org-cite favors using the standardized abstractions in org-cite, >> and then mapping them to the LaTeX commands I think. My perspective on >> this is partially one of an educator; I have taught a lot of people how >> to use org-mode for technical writing. This layer of abstraction adds >> additional complexity to documentation, and in teaching people what to >> do. As a LaTeX-centric user, that abstraction adds an additional >> cognitive load while writing I find unwelcome. I concede that it also >> reflects =E2=80=9Cwhat I do=E2=80=9D, that org is not LaTeX, and that ot= hers may have a >> more CSL centric perspective. org-cite is for them. I can see that the >> abstraction away from the LaTeX cite commands strengthens the org is not >> LaTeX philosophy, and will serve part of the community well. If I wasn= =E2=80=99t >> required to generate LaTeX documents, and teach others how to do it, I >> would not feel so strongly. >> >> It is my opinion that the modularity of org-cite is a challenge. I think >> it is too difficult to configure, and difficult to support, even more so >> than org-ref. I know my opinion differs from many on the list who want >> modularity and configurability. I have supported org-ref since around >> 2014, and even the modularity there (helm or ivy) has been a challenge >> to support. org-ref has always been configurable, but monolithic. Still, >> I learned a lot from Bruce (thank you!) that pushed me to redesign parts >> of org-ref to be more modular and more easily pluggable to other >> completion backends, and less specific on ivy/helm where practical. >> There are limitations to this I learned about, compromises one has to >> choose in doing it, and consequences in maintenance, support and >> documentation from them. We still don=E2=80=99t fully agree on some of t= hese >> points, but org-ref is closer to that ideal than it was. Maybe one day I >> will abandon ivy like I did helm many years ago and feel differently >> about this, but that day is sufficiently far away that I don=E2=80=99t s= ee it >> now. >> >> Finally, the org-cite code is magnificent, and written at a level well >> above my coding skills. I am grateful to those who wrote it, and >> especially to Nicolas, for the opportunity to learn from it. The code I >> wrote in org-ref-cite was challenging. org-cite uses (IMO) advanced >> emacs-lisp techniques, and more complex data structures than I am >> accustomed to. I learned a lot studying the org-cite code, but I will be >> honest that I find it difficult to make contributions to. That gave me >> pause in continuing to develop it. It is fair to say that org-cite >> showed me some ways to address limitations of org-ref that I did not see >> before, org-ref is better for it, and the writing community that uses >> pre/post notes and biblatex is much better served as a result. >> >> Where does this leave me, org-ref and org-cite? I still have differences >> of opinion on design choices between them, and those differences are >> likely irreconcilable. These differences arise from my experiences in >> writing, teaching, using, developing and supporting org-ref. For those >> who need high fidelity LaTeX export like I do, I think org-ref is still >> a superior solution. For everyone else, and especially if you do not >> need sophisticated cross-references and don=E2=80=99t want the dependenc= ies of >> org-ref, org-cite is likely the better solution. >> >> I am content to agree to disagree on these points and move forward with >> both packages because they solve different problems, are suitable for >> different communities, and they continue to benefit each other. I can >> see not everyone sees this as a positive situation though, and that has >> weighed heavily upon me lately. These times are heavy enough. Anyway, >> this turned out much longer than I expected, so thanks everyone who has >> contributed to making org better, I hope I got things mostly correct, >> you found it a fair assessment, we might still be friends, and thanks >> for reading to the end. >> >> j --=-=-=--