From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id AB83MS+86WAHbgEAgWs5BA (envelope-from ) for ; Sat, 10 Jul 2021 17:26:39 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id GHytLC+86WCbCgAAbx9fmQ (envelope-from ) for ; Sat, 10 Jul 2021 15:26:39 +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 E17211E3F0 for ; Sat, 10 Jul 2021 17:26:38 +0200 (CEST) Received: from localhost ([::1]:33450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m2EsG-0001m1-Mv for larch@yhetil.org; Sat, 10 Jul 2021 11:26:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m2Erk-0001lq-5i for emacs-orgmode@gnu.org; Sat, 10 Jul 2021 11:26:04 -0400 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]:34734) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m2Eri-0006QL-56 for emacs-orgmode@gnu.org; Sat, 10 Jul 2021 11:26:03 -0400 Received: by mail-pg1-x52d.google.com with SMTP id 62so13189015pgf.1 for ; Sat, 10 Jul 2021 08:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:subject:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=1UKWznTlELf5uK1TwXb6gDuiNVdWMazfCMhJo98jM40=; b=R1v3MyMtxjcym6VNttIc07bwZv7DnywBSP7gov7SJXBLaBGWo8vhbKiwLwThi1oYkS pFHxlTBo/EoJRO7X8z6eWelt5dDvQf3LpCkNw2oPNQagj5DPhc+4sLMqv7iodmtjnWjE EN/Z57Ma2vJ4mU9a6juB5CK1ilQP5WEivlnUnoPiPhOtuXlKADACwaUw6xj15/t+AEOj 50eIwoRqjDvI5Xn4nPT5YPRyVazCnFaPq47AeVywNaj/rpPmNWaxNwHyfrwMXJ+3vehn qkWDN/vSEZ2JWacU1chPuT8KdWCZWv7Jlb5KKSZr1eH60hSgnmo3OFPXxFarAN7d9T9+ E1vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:subject:date :in-reply-to:message-id:mime-version:content-transfer-encoding; bh=1UKWznTlELf5uK1TwXb6gDuiNVdWMazfCMhJo98jM40=; b=oA8QGNrKmLqdhUwu6wUb0RNEyqzsUkbS5gJuERqT8f1D8JZkkX89eD8J+e7sxhkC8E wD9NBAAI04l+36/IZV56xPt4tRAp2vTYk2rVUFjgSKKYMDMR3CEQ2fR6z5yiwrLyOCJp jn0eeRdnWBzBq8vozSKAtJLrDEOpVIskR3Ortezvry5JzsJ0qLX+IcpbLUHk6taZzVm6 Bqx6Ouycm6vwzFFhLEPz3no8MyIxQJulJ4y0fmwy9xBuDwmsqehahrBy6OkRI5kbJa6B gQ5/pBNUgJrnM6EF9w8uYp7GTwItHYx9oEDEz7/fG4vAjuts065uQDguIE8BORsIWGbZ 4UzA== X-Gm-Message-State: AOAM53206iRELGl1hUmCVSH+hz54Yb5JcsRqp0nwiy+9pvymEbePBoGm VVdUwhbnX5DoR1kiSe3hntDVxEW3Fvg= X-Google-Smtp-Source: ABdhPJxcwrSEJfbLPx1W+Uwsj1afXHrOib0kygX+f65AuiRaHoc5Amxz/2hsBWySYdfa6EbAaMfHOg== X-Received: by 2002:a63:d44f:: with SMTP id i15mr12708931pgj.391.1625930760422; Sat, 10 Jul 2021 08:26:00 -0700 (PDT) Received: from tim-desktop (106-69-101-51.dyn.iinet.net.au. [106.69.101.51]) by smtp.gmail.com with ESMTPSA id 133sm10718663pfx.39.2021.07.10.08.25.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 Jul 2021 08:26:00 -0700 (PDT) References: <5A0DCCA5-7B49-46CC-BD49-B5F0D46DA5B8@traduction-libre.org> <87pmvq8ef2.fsf@posteo.net> <12C6E907-1ACB-4CB2-997D-20FEA64F8879@traduction-libre.org> <87lf6e8c9p.fsf@posteo.net> User-agent: mu4e 1.5.13; emacs 28.0.50 From: Tim Cross To: emacs-orgmode@gnu.org Subject: Re: org-mode export to (latex) PDF Date: Sun, 11 Jul 2021 00:59:19 +1000 In-reply-to: <87lf6e8c9p.fsf@posteo.net> Message-ID: <87zguutcl8.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=theophilusx@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, 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=1625930799; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=1UKWznTlELf5uK1TwXb6gDuiNVdWMazfCMhJo98jM40=; b=PAg5XoTrkeCeNLajq85wfPqcuN9X/roPoavdn1++CNDNOQmTDGQfXxU7o+jSnFhIfgjF+J 7kfQr6rnPKpAoibM8pbVvaSKCt08cB0AxvWS6BP79bg1e4Dvz6mwYGxOsdWkNV8DQZV3XT e/bPT4oXFUf5q6Zjgt6WHud8sg36jx5YoSP6fS3skKUhoANJCyve0OhBoRAGwCLX0IShW7 qpMrlO0ZzwCzI3q6EEdNaV25xUksp+rN80yzsz17CnZM3X+ZPhiDX1ZCZKsZIalQ+mLIVw Rt7yrx6ju5/EVLJ2wHbdl59fdliFUGcG7c+IdpuHDDFpwORv+Cghr6cbSHf6uQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625930799; a=rsa-sha256; cv=none; b=EdB15pVH8GrZeB0bz6P6OH1IuTGJhzB9jUY+UGkKhYIjReClbSGs1TCymQZYKSgoBlY5em NgZaehu/qnRo2ZztKFZHq5hmXGysMNk/9LnV1FWU4joKkFUg+3AUmaGzbW1qrAEz1NDUbW 5tcHBItADqLNZuzhruGuiJXcnKAXcMpWW1UOTWA6ggKfdTXZIcbNbIwaSmyE9K/Avvo4lu EFN0APcyArKqOBpZ2Ln+n4EYTRYjhS9F1wqQARdWvI5P/nRxDcmDZmIpt6ia4VYgcR0gRp uvEOO/t0H0mOKSpGlIFraY95n5WA2rMhIOMdBquXNBHVk64w9CoNFiNHoD2P/Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=R1v3MyMt; dmarc=pass (policy=none) header.from=gmail.com; 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: -3.10 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=R1v3MyMt; dmarc=pass (policy=none) header.from=gmail.com; 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: E17211E3F0 X-Spam-Score: -3.10 X-Migadu-Scanner: scn0.migadu.com X-TUID: Z+Gyf0gDdNJW Juan Manuel Mac=C3=ADas writes: > Hi Jean-Christophe, > > Jean-Christophe Helary writes: > >> I had given up on Latex because mixing languages sounded like a huge >> pain in the butt but I see that without some org-level infrastructure >> it is not possible to achieve much when exporting to Latex/PDF (unless >> I missed something). > > Well, LaTeX has excellent (typographic and orthotypographic) > multilingual support, using the babel or polyglossia packages. I > especially recommend babel: > http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf > > And LaTeX also has very good support for oriental languages or languages > with complex writing, especially in LuaTeX. In LuaTeX and XeTeX you can > also use opentype fonts and opentype features. > > The problem is how to translate that from Org --in an org-centric way-- > to LaTeX. Currently, you can apply LaTeX commands for multilingual > management directly in your Org document. For example: > > #+LaTeX_Header: \usepackage[several langs]{babel} > > @@latex:\begin{otherlanguage*}{german}@@ > > ... some text in german ... > > @@latex:\end{otherlanguage*}@@ > > Recently, I submitted a patch here that allows adding LaTeX attributes > to `quote' blocks. Then, you could do something like this: > > #+LaTeX_Header:\usepackage[german,english]{babel} > #+LaTeX_Header:\usepackage{quoting} > #+LaTeX_Header:\usepackage[babel=3Dtrue,autostyle=3Dtrue,german=3Dquotes]= {csquotes} > #+LaTeX_Header:\SetBlockEnvironment{quoting} Just FYI for those who don't know, you can use the org-latex-classes variable to define your own pseudo document classes, possibly using the DEFAULT_PACKAGES, PACKAGES, EXTRA_PACKAGES macros and other latex settings. So for example, you can add the babel or other packages you want and either make that the 'default' class or specify which class you want with the #+LATEX_CLASS header. I use this quite a bit because then I don't have to remember which LATEX_HEADER lines to include in the document, the specific option settings etc. I don't need support for multilingual documents, but I do have a number of 'special' documents (such as one with colours, logos and specific fonts for an employer to match their 'style guide'. I also have ones for generating project documents, letters, meeting minutes etc. They all use various different Latex extensions (particularly ones which don't mix well and cannot be included with other packages). The LATEX_HEADER: options are useful for 'one off' documents, but become a real pain to include all the time. however, I see this quite a lot and just wanted to highlight that when you need to customise the latex process, you do have these other options which can be very useful and I suspect would be good for things like setting up support for multilingual environments. I also use luatex rather than the default plain 'latex' (mainly because of better/more flexible font support).=20 I could be wrong as I've not looked at this in a long time, but one of the problems with multilingual support in Latex was that it was somewhat 'fragile'. There were a number of packages which did not work well when combined with certain fonts required for multilingual support and (from memory) issues with hyphenation and packages which extended some environments. While it was generally possible to tweak things to get them to work, it was somewhat challenging to get them to work 'across the board'. I don't know if this is still the case as it has been some years incde I've needed to dig into Latex (mainly because now I do almost everything just in org mode and don't need to!). This, combined with a smaller user base for multilingual documents, may partly explain the difficulty in gaining traction in this area. I do recall that getting a stable general latex environment working for org exports was somewhat challenging originally.