From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id WMTJAOyn+2J+bAEAbAwnHQ (envelope-from ) for ; Tue, 16 Aug 2022 16:21:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OEbRAOyn+2Io1gAA9RJhRA (envelope-from ) for ; Tue, 16 Aug 2022 16:21:32 +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 719AC278C7 for ; Tue, 16 Aug 2022 16:21:31 +0200 (CEST) Received: from localhost ([::1]:35270 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNxRi-00036v-E0 for larch@yhetil.org; Tue, 16 Aug 2022 10:21:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNxN7-0007Fc-2W for emacs-orgmode@gnu.org; Tue, 16 Aug 2022 10:16:45 -0400 Received: from mout01.posteo.de ([185.67.36.65]:40029) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNxN3-0002vo-Cq for emacs-orgmode@gnu.org; Tue, 16 Aug 2022 10:16:44 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id A71EF240026 for ; Tue, 16 Aug 2022 16:16:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1660659396; bh=yeUriujuimmUmBjWIRP9ImADImk72oyjkYYcHbsTKL4=; h=From:To:Cc:Subject:Date:From; b=W3v8z0LOnvSW4rVznpt9lNpnwtuOqs5AKZusW6R8Ga/50OBfV06mYuo7MkC3kLmKQ u0hnqGNfqd4acb7765JGR/o601lWTMSq1GxqK0XrNZlQtxPdvDZQ0CxcvjuSVEjEoR /JG1XKj2A0I6VjFsC3hKYoh1IScWfcp0fB6RH/24VOIuwAYGmobZpujECgnntamTH+ qA10O8qllnWmCt5UxQOCCcRv3PaUUAvKIQBQGyAJNylYt4Y/lMvmo659NV0SFUDxwU 5LYizrg5Ish80mYMPgKNLU8l5lJp/KVUGeIV1EODr61PQa6jRT/0caFYw2MbwdYysg We4uH5q+kxjJA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4M6Y9Z5lLVz9rxW; Tue, 16 Aug 2022 16:16:34 +0200 (CEST) From: =?utf-8?Q?Juan_Manuel_Mac=C3=ADas?= To: Ihor Radchenko Cc: orgmode , Maxim Nikulin Subject: Re: [PATCH] Documentation and NEWS for ` org-latex-language-alist' References: <87iln2dckv.fsf@posteo.net> <87y1vx4p7g.fsf@localhost> Date: Tue, 16 Aug 2022 14:16:31 +0000 In-Reply-To: <87y1vx4p7g.fsf@localhost> (Ihor Radchenko's message of "Tue, 09 Aug 2022 19:43:31 +0800") Message-ID: <87sflwqnnk.fsf@posteo.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=185.67.36.65; envelope-from=maciaschain@posteo.net; helo=mout01.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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" 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=1660659691; 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=FXujtgOTW9Cakr8otovdpEqNDU6mXtgM+JsRLvaonIQ=; b=Afu5nY+fl4509JQ3iiCKUTu3nmZBNbR0PquZIQmMGCJamI01O/evR8nnCBMad+3osKm8c+ xBvSbuR+mvfs3rpj52mmWLx81ki+BtLEyNA0bjNoQt8uTS5fV0jMUPdIbk2mV8jAp+Uf2Q MAQ74wb6exxChjIF+wnRhJ9KYvNR3jVmKNHMuD7v7rene8kA0DHIxh5VcoG8JJIcF9yNxa bBLZo+VRVpGWJCJDw8W5m+YRTeIFjbY7k1KjdyJ69g4SZHh6ElbIW9NdK6uf9GldLlWIWy T5QtLGm1HKXxKppTdQHmZPeLrDLzQK2tv+UCes7+w91Wp1paYpzPsmuP0ykrFQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660659691; a=rsa-sha256; cv=none; b=nGBDYyoqqFb3BmPBZzIDc0lVbHbbaW+psVVtWUu71PI4HOcqfT40ybpBnKVSuHW7PXgW6i Vo7V+8fCLzFU17Yia7dMj0dXV5fYdc3mfl8ezhV+IasMj4MHdmOC3haLPTTXKuM9ixpb2Z ixTaDma3Ag0DkR38QBBF4bBtFBv1QLelHhVFZffFm4p97elz05qOhIdbJ3I6CEVuYECiCB gz7kvf3mIN4Nh307e0t8kzC4rEjMQwKopB4EKdSsQrN2AluE8ybpXKgSzxQuNl4MYKRmO0 /YIYtvyK4m26OV6Skvmo7xMb7fHyTGmS5CGtvSjfBI5c21P9D6j4b+/KXGGXWw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=W3v8z0LO; dmarc=pass (policy=none) header.from=posteo.net; 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: -5.86 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=W3v8z0LO; dmarc=pass (policy=none) header.from=posteo.net; 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: 719AC278C7 X-Spam-Score: -5.86 X-Migadu-Scanner: scn0.migadu.com X-TUID: cVjL35ybJbwp --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Ihor. Sorry for my late reply. These last few days have been a bit complicated for me due to work issues. Ihor Radchenko writes: > I feel like we should first describe what #+LANGUAGE keyword does and > go into the gory details of LaTeX language support a bit later. > > Basically, I am asking you to reshuffle paragraphs a bit possibly moving > some parts to more relevant 13.10.3 LaTeX header and sectioning > structure. People have no idea about #+LATEX_HEADER when reading 13.10.2 > LaTeX specific export settings (coming before the 13.10.3). I am attaching a new version of the patch. Addendum: Just as I was going to send this email, I saw the other email from Maxim in this thread, who says: > Firefox may block downloading of a file through unencrypted http: > protocol if a link is opened from a https: page (HTML version of the > Org manual served from orgmode.org this case). The problem with CTAN > mirrors is that not all hosts have TLS certificates including their > CTAN names. I can't figure out how to link to the babel documentation in a way other than a link to CTAN. If this might be an inconvenience (due to https issues), perhaps we could simply put in the documentation something like 'see the Babel docs', or referencing the command 'texdoc -M babel', which opens the locally installed babel documentation. The problem is that not all GNU/Linux distributions include the documentation in their versions of TeX live. For example, Arch Linux does not include documentation in the official repos and must be installed separately via an AUR package. Best regards, Juan Manuel=20 --=20 -- ------------------------------------------------------ Juan Manuel Mac=C3=ADas=20 https://juanmanuelmacias.com https://lunotipia.juanmanuelmacias.com https://gnutas.juanmanuelmacias.com --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-doc-org-manual.org-documentation-for-org-latex-langu.patch >From 46192df70cd00e2eca2e8e059e9d39723b9d32d8 Mon Sep 17 00:00:00 2001 From: Juan Manuel Macias Date: Tue, 16 Aug 2022 15:41:22 +0200 Subject: [PATCH] doc/org-manual.org: documentation for `org-latex-language-alist' * etc/ORG-NEWS: update the news with the new variable. --- doc/org-manual.org | 58 ++++++++++++++++++++++++++++++++++++++++++++-- etc/ORG-NEWS | 13 +++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/doc/org-manual.org b/doc/org-manual.org index 466718e6e..8973f08ce 100644 --- a/doc/org-manual.org +++ b/doc/org-manual.org @@ -13370,15 +13370,21 @@ general options (see [[*Export Settings]]). - =LANGUAGE= :: #+cindex: @samp{LANGUAGE}, keyword #+vindex: org-latex-packages-alist + #+vindex: org-latex-language-alist + + The list of languages supported by Org is stored in the variable + ~org-latex-language-alist~. + In order to be effective, the =babel= or =polyglossia= packages---according to the LaTeX compiler used---must be loaded with the appropriate language as argument. This can be accomplished by modifying the ~org-latex-packages-alist~ variable, e.g., with the - following snippet: + following snippet (note that =polyglossia= does not work with + pdfLaTeX): #+begin_src emacs-lisp (add-to-list 'org-latex-packages-alist - '("AUTO" "babel" t ("pdflatex"))) + '("AUTO" "babel" t ("pdflatex" "xelatex" "lualatex"))) (add-to-list 'org-latex-packages-alist '("AUTO" "polyglossia" t ("xelatex" "lualatex"))) #+end_src @@ -13508,6 +13514,54 @@ A sample Org file with the above headers: some more text #+end_example +#+cindex: @samp{LANGUAGE}, keyword +#+vindex: org-export-default-language +LaTeX packages =babel= or =polyglossia= can also be loaded in a +document. The "AUTO" string will be replaced in both cases by the +appropiate value for the =LANGUAGE= keyword, if present in the +document, or by the value of ~org-export-default-language~. Let's see +some examples in one or another case. + +=Babel= accepts the classic syntax and (in addition) the new syntax +with the =\babelprovide= command to load the languages using the new +=INI= files procedure. Keep in mind that there are a number of +languages that are only served in babel using =INI= files, so they +cannot be declared using the classic syntax, but only using the +=\babelprovide= command (see +http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf). +Valid usage examples could be: + +#+begin_example +,#+LATEX_HEADER: \usepackage[french,italian,AUTO]{babel} +#+end_example + +where "AUTO" is the main language. But it can also be loaded using +the =\babelprovide= command: + +#+begin_example +,#+LATEX_HEADER: \usepackage[french,italian]{babel} +,#+LATEX_HEADER: \babelprovide[import, main]{AUTO} +#+end_example + +=Polyglossia=, for this procedure to be effective, must be loaded +using the same =babel= classic syntax (but note that /this is not/ +the actual polyglossia syntax). For example, suppose a document +declares Polytonic Greek as the primary language, and French as the +secondary language. In this case, it would be expressed as: + +#+begin_example +,#+LANGUAGE: el-polyton +,#+LATEX_HEADER: \usepackage[french,AUTO]{polyglossia} +#+end_example + +This would produce in LaTeX (with the actual =polyglossia= syntax): + +#+begin_example +\usepackage{polyglossia} +\setmainlanguage[variant=polytonic]{greek} +\setotherlanguage{french} +#+end_example + *** Quoting LaTeX code :PROPERTIES: :DESCRIPTION: Incorporating literal @LaTeX{} code. diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 00fe101dc..fc9ac688a 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -431,6 +431,19 @@ prompting for a link description. It can be a string (used as-is) or a function (called with the same arguments as ~org-make-link-description-function~ to return a string to use). +*** New list of languages for LaTeX export: ~org-latex-language-alist~ + +~org-latex-language-alist~ unifies into a single list the old language +lists for the =babel= and =polyglossia= LaTeX packages: +~org-latex-babel-language-alist~ and +~org-latex-polyglossia-language-alist~, respectively, which are +declared obsolete. + +This new list captures the current state of art regarding language +support in LaTeX. The new =babel= syntax for loading languages via +=ini= files and the new command =\babelprovide= (see: +http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf) +are also supported. * Version 9.5 ** Important announcements and breaking changes -- 2.37.2 --=-=-=--