From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id MJh/F5/VN2KLYAAAgWs5BA (envelope-from ) for ; Mon, 21 Mar 2022 02:32:15 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id +ChHEJ/VN2JxSgAAG6o9tA (envelope-from ) for ; Mon, 21 Mar 2022 02:32:15 +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 9C28B44506 for ; Mon, 21 Mar 2022 02:32:14 +0100 (CET) Received: from localhost ([::1]:40302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nW6u5-0005Zn-An for larch@yhetil.org; Sun, 20 Mar 2022 21:32:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nW6sQ-0005YH-Q0 for emacs-orgmode@gnu.org; Sun, 20 Mar 2022 21:30:31 -0400 Received: from [2607:f8b0:4864:20::833] (port=44893 helo=mail-qt1-x833.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nW6sO-000630-2v for emacs-orgmode@gnu.org; Sun, 20 Mar 2022 21:30:30 -0400 Received: by mail-qt1-x833.google.com with SMTP id 10so10910570qtz.11 for ; Sun, 20 Mar 2022 18:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version; bh=Nlr84Dzg413IZjD4ulolfh5l0HqICWWe3Qphmd3x9TY=; b=fFzNOrtgrXFqmkom6jJ68NzC/fVbeKa9XGxBFWpwuNQmAHGKJ3+bu0C9KGbPap3SGv a3Oaw1ljglARQRyOPqiN3Spv778YIcvsyPjg5Tw+xzwBrSU7qW3BBuwtqXNR0LsCEZTj 1AS2G0UMk7LDNdzzCaJSZniRrQ0Y/tjTwDNCdiea9JWIxGjAPa4Pk53FU99xl5Ak+V9E zgY3gHAo/QU+KtVsYq8EousJfu7nVX+NeQTXL3Am/y6dOqb3z6Pau/TAYZNajA2Hj5DE bT9/gwdAmd7yRm9UlwQGRec8XbayHVNIo3itGQNzo6RHwUEfYqvArvzu6dsLMMoAnegh Vixw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:references:user-agent:from:to:cc:subject :date:in-reply-to:message-id:mime-version; bh=Nlr84Dzg413IZjD4ulolfh5l0HqICWWe3Qphmd3x9TY=; b=iNuCnb2d1wF6wqD/vYaEvfGQRysH7WL+AcH+KVX0VpbVbmwiYDmnL1jUva/tEe4cAb WSlob0rkGU7MoyTPGnU2N2L86szMkqYK+EDaGlF6cmlQRPy056WXmVdEDvEORDaIjZ8u QzN65Y1YB89/1kKxYli+nc1tQhAtueVhFerlMZNZ292mVLlQGAjksPdfa4g+Qz4bIAn5 ygpm1gH2AvHtjGj0jpd3YjaewU2VVJEs/I7rDcKjFmax28Z/rgzOp0dhg9vOpZ5gwI+D dkE7xrHCMuuTmrgoihSkmluU0UlgnGrYrmPVIwp7LvccL1cISouq3vf3vWbpLWg4QUYh Wcdw== X-Gm-Message-State: AOAM531vJko1EV7b7k/enF7iDmk9GtEI3oM8xze9TKBV8oSbnZ8N+p1P 20Cj7Cei63Oao00DcfbxkFnEvq1Mm+A= X-Google-Smtp-Source: ABdhPJy/bDg25n5wjzajmDja0TITxZOeHZ7+Y1pPVXEeY8TymenDxlDQYc7JJZIdRqtpOu5Q1gKpEA== X-Received: by 2002:ac8:66cc:0:b0:2e2:160d:7e06 with SMTP id m12-20020ac866cc000000b002e2160d7e06mr1100629qtp.673.1647826225128; Sun, 20 Mar 2022 18:30:25 -0700 (PDT) Received: from Johns-iMac.local ([2601:547:901:82e0:15dd:d6d8:2808:7987]) by smtp.gmail.com with ESMTPSA id 11-20020ac8590b000000b002e1e5c5c866sm11096865qty.42.2022.03.20.18.30.24 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 20 Mar 2022 18:30:24 -0700 (PDT) References: <87wngosqvm.fsf@nicolasgoaziou.fr> User-agent: mu4e 1.6.10; emacs 28.0.90 From: John Kitchin To: Nicolas Goaziou Subject: Re: citations: org-cite vs org-ref 3.0 Date: Sun, 20 Mar 2022 20:31:29 -0400 In-reply-to: <87wngosqvm.fsf@nicolasgoaziou.fr> Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::833 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::833; envelope-from=johnrkitchin@gmail.com; helo=mail-qt1-x833.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, 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 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=1647826335; 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=Nlr84Dzg413IZjD4ulolfh5l0HqICWWe3Qphmd3x9TY=; b=HJykMBhUYwv0ZBtBFl8BfkjmUu+o+ZW/2vrW4dssNjDkWr3sGFFy3zA5tvT2h9V8aT42R5 9jJrTgW7PdQfnQp7ns3a2+xGELi/mnvwEZM6k23uGSHUItjEoUOOqtiLOoU/8eoQQTqXNq ZOB+LfhZHc9Phi0PkRMD8f/tHSg7AqFOr9u0l+OfecsQUavNPV2fv5+4KhYIAYrSIKJ49C /eibXQ28YiybJ6kTbifnrit1RRJ5t566wVGy6tdmWm8fhMmnlbUWCRJQ1yfSKxNy+6Eg6z PtMA2CoONgS4lPR+wpkD+z5n2KirL2ARmlVXWbCTEa2YofnBp/UTRR1vvrD63Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1647826335; a=rsa-sha256; cv=none; b=XHGy5uW9jANBt99KwbWL1fBzHINvc5sPP3qcgkyCNMx3LF5oStpNyGqMkzGsmyJcUY1H6A vExh23vi0KCcVCZJwX4J0fuTacEEj+slNGbsgjUJ6tiGit4Qj00QRublYxcHB6HdiFobi3 mOBwb9wqdONYwLXw/jXKYMjTVtHB50tl/0XTAxx+qR8r+lbuxBPO0OhALrCokk9UgxuEbR 5zr4GlgiTyaeGt5ux/faie2iDVVguYLKniE8AEWQqu+Sp/poCWxDdiB/nf+Iz4bRNL1Hgn K7WmUUEeatjLFJHS+ZV2rbTyPC2+nLBOmwViObHBIB3YKrZTn3Amm+e6N5Smhw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=fFzNOrtg; dmarc=fail reason="SPF not aligned (relaxed)" header.from=andrew.cmu.edu (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: 6.08 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=fFzNOrtg; dmarc=fail reason="SPF not aligned (relaxed)" header.from=andrew.cmu.edu (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: 9C28B44506 X-Spam-Score: 6.08 X-Migadu-Scanner: scn0.migadu.com X-TUID: jKQnk4Myy5N6 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't share citation commands, or style information. It is inevitable 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't know the equivalent of \citenum 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'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 https://github.com/jkitchin/org-ref-cite, and I don't make these 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 (https://github.com/jkitchin/org-ref-cite/issues/16), 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 "what I do", that org is not LaTeX, and that others 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't 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't fully agree on some of these 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't see 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't want the dependencies 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 Nicolas Goaziou writes: > Hello, > > Vikas Rawal writes: > >> This obviously creates many problems including that two people using >> different citation systems cannot share org files. > > Indeed. >> >> What is the general view of the community about this? > > I don't know about the general view of the community, but, as a data > point, I find it very sad. > > That's not helpful, tho. > > Regards, -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu Pronouns: he/him/his