From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id kGo2JPzBAGXF4QAAG6o9tA:P1 (envelope-from ) for ; Tue, 12 Sep 2023 21:54:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id kGo2JPzBAGXF4QAAG6o9tA (envelope-from ) for ; Tue, 12 Sep 2023 21:54:36 +0200 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 3ECC75D0C4 for ; Tue, 12 Sep 2023 21:54:36 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=I2W4BzvE; 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"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1694548476; a=rsa-sha256; cv=none; b=MSn7TW2BE3x5FEqjjBAiaJUorVhdQcHN97kZnzX81k8LSljv0QSUtTEV6tDAyhtNQYjthl kC/DHBVcpQR6cK0XH2xz/uU9oDTwiaZDggMCLD4Eq2X2RePpBwKJxxj4ddpsy601ciQ180 /VjM9/dDs2cgzmG0PPhaBZwmhUqdjY39stOFuwZGIuhKoPCV36YCq7OT2SaQP7ls9opzbp Laj8nnG/3UBZBen4hgzyAuClyEEiNPB7TSJSmACTIypzGMC8XLESf15xttcZLBV+/HVwMq 2hbdYB9MIFVHyh1oq2S9emCEERERtG3J0tE5XhakH/q6ky0h35/knffp8artlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1694548476; 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=bsu/+NmMhFL0XeT8cR4i7Z1pe8oS2vVVhRNJ7ZOHrfU=; b=ljyk3hrCDkKzlIlxKMeGTtns27VszgtEv88/AJ9XNcBai27JiAFDtIUHgdTEOeP/bhTmqD kdA1pcCYGVwaqXohGA3osJZ6wl/r+vWZuJwJ/Terku4nzVqtybFsNkAP4IbQh1zo6FpCfp DTaFdhwoZjqTmZx6SyR1q9c/qzpeUi/0vG50bu1DqBv4JukWcl6v8V+Z6p7MK4XIVyP+yj LEfFH3mSx2IONTd8WpIb+S7LdqAcbOyXe3+eXdUSDDub+jG1Arb6Gqho/WIJr5yUBd59te KzV61JK016vqPn7kL/dBwb/EZGsBPku7Tw4DhzGfV1539Pp+tU4yki/+gecrqA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=I2W4BzvE; 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"; dmarc=pass (policy=none) header.from=posteo.net Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qg7sX-0002k6-AT; Tue, 12 Sep 2023 14:12:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qg7sT-0002gf-P6 for emacs-orgmode@gnu.org; Tue, 12 Sep 2023 14:12:45 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qg7sN-0008CM-Dw for emacs-orgmode@gnu.org; Tue, 12 Sep 2023 14:12:45 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 3F8E4240105 for ; Tue, 12 Sep 2023 20:12:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1694542356; bh=bsu/+NmMhFL0XeT8cR4i7Z1pe8oS2vVVhRNJ7ZOHrfU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=I2W4BzvE5nh21W5QwjnnOzm0kQehyVHjEMiqvdWVrsUMs9aS5/t33qk3FWIpIp28U gZ/omTrTPvgYUd5T4/Otmcm19UE5ZVkw7j/LaxNSVgj+PmD7WUe1eAHKsFBOUHwUuw CTbxLeVtpS0iJxqV10+TXH19uc2OHFRbovizN7q2j4ifctNvUloww99DZjntigEva7 4my4MkMm9Y4yiMwb4gRLTJ9NJS46w8gZUZMZiCRyf5W+9CYXTjwMt2SwRvUJ93qzTU QVxSOzBvIuzVxIWenNin1eqeaSoh660B86sQI5L9vELFykiEkoWC9mMcd7QtO1l95g GUDrIciSJDr2w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RlWrz4WB6z9rxD; Tue, 12 Sep 2023 20:12:35 +0200 (CEST) From: =?utf-8?Q?Juan_Manuel_Mac=C3=ADas?= To: Max Nikulin Cc: emacs-orgmode@gnu.org, Ihor Radchenko Subject: Re: [patch] Fixes and improvements in org-latex-language-alist In-Reply-To: (Max Nikulin's message of "Tue, 12 Sep 2023 22:22:00 +0700") References: <87v8cneyfu.fsf@posteo.net> <87edjanqxb.fsf@localhost> <87o7ieukum.fsf@posteo.net> <877cp0ybdg.fsf@posteo.net> <8734zoxzd0.fsf_-_@posteo.net> <87tts37lsx.fsf@localhost> <877coy9djg.fsf@localhost> <878r9biwwm.fsf@localhost> Date: Tue, 12 Sep 2023 18:12:33 +0000 Message-ID: <87sf7j2rce.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.66; envelope-from=maciaschain@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham 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: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.92 X-Spam-Score: -6.92 X-Migadu-Queue-Id: 3ECC75D0C4 X-Migadu-Scanner: mx2.migadu.com X-TUID: dnl9NYZz1c8S Max Nikulin writes: >>> Every piece of code accessing this public constant must implement >>> fallback from e.g. "de-ch" (or de_CH) to "de". Or to "en" for an >>> unsupported language. >> Not necessarily. I mostly thought about some unconventional code >> that >> uses the constant for some reason unexpected to us. We do not want to >> break that. > > My point is that direct usage of `org-latex-language-alist' should be > discouraged. I understand that org-latex-language-alist is a temporary patch waiting for something better, and is very dependent on org-latex-guess-babel-language and org-latex-guess-polyglossia-language[1], two functions that (IMHO) should be made obsolete in the future. Keep in mind that the old org-latex-babel-language-alist was more focused on the old babel ldf files, which is a limited number of languages. Polyglossia also has a rather limited number of supported languages. The ini files system is more extensive and more flexible. One can even define new "virtual" languages using \babelprovide, or write new custom ini files. With this scenario a closed list like org-latex-language-alist doesn't make much sense. I actually think that there would be no need for any ad hoc list of this type for latex, and everything should be delegated to a global language name translation system like the one Ihor is developing. I think that would be the first stone to build native Org multilingual support. [1] I think also that in this function there was an unhappy decision: using a syntax that is not from polyglossia but from babel leaves the user with little freedom of action, since polyglossia has more 'keyval' options, not only language variants. For example, this (real polyglossia code): \usepackage{polyglossia} \setmainlanguage{spanish} \setotherlanguage[numerals=3Darabic]{chinese} cannot be translated from (fake polyglossia code): #+language: es #+LaTeX_Header: \usepackage[chinese,AUTO]{polyglossia} -- Juan Manuel Mac=C3=ADas https://juanmanuelmacias.com https://lunotipia.juanmanuelmacias.com https://gnutas.juanmanuelmacias.com