From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id IJaYOHxKAWFRDgEAgWs5BA (envelope-from ) for ; Wed, 28 Jul 2021 14:15:56 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id WFMMNHxKAWFLVgAAbx9fmQ (envelope-from ) for ; Wed, 28 Jul 2021 12:15:56 +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 5A1201991 for ; Wed, 28 Jul 2021 14:15:56 +0200 (CEST) Received: from localhost ([::1]:59280 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m8iTa-0003xs-IC for larch@yhetil.org; Wed, 28 Jul 2021 08:15:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33224) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8iRj-0002eS-6n for emacs-orgmode@gnu.org; Wed, 28 Jul 2021 08:13:59 -0400 Received: from ciao.gmane.io ([116.202.254.214]:54426) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m8iRd-0008LP-Se for emacs-orgmode@gnu.org; Wed, 28 Jul 2021 08:13:58 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1m8iRT-0002EO-K9 for emacs-orgmode@gnu.org; Wed, 28 Jul 2021 14:13:43 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Maxim Nikulin Subject: Re: Multilingual quotes inside paragraphs Date: Wed, 28 Jul 2021 19:13:37 +0700 Message-ID: References: <87mtq9zatr.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <87mtq9zatr.fsf@posteo.net> Content-Language: en-US Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 25 X-Spam_score: 2.5 X-Spam_bar: ++ X-Spam_report: (2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-0.277, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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=1627474556; 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; bh=I3g4p/WwzkmxySIbBU89ULKti1/FW3lQoL6xS+DeCGY=; b=EQ6SY7RvlCIGGhHsnC0X5Ue1WT95HfrMDSPBHYtnpVuKY8v2FUAqAB0gw8SKWdVkMMK6Mm +BOZDQljq66xceRoi6HEV0weo+222uaoco9SqQHOZwjvbgELQ4NmnjwEsO66lajnqGAiiE g77rYPCj1lySkJnPZwHHehw7vDxWTF2m0qk4g3DDRm9IAoCUK8NwjgYpCwZEJlIUe07QLg 0Fj36EmVt4og3KuNGuR9OXM1vCU0nx3nUtvy1dyKdBRH7NLZfieQkMEiH7t4w0D7aVnDqQ X8yEL0Oj8kO2ALyjEWZbFrf35IU0PHkV9YjwlKy7OByeaSnm+Tth63LfuO5CmA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1627474556; a=rsa-sha256; cv=none; b=dCDsfbl1+ZvfpdjkIXZxdfQZL2i7yvxrQAJc3dHTyRw7os07E+8DQiou2xI/Lj3zpiNTZc 1BmQ1bJVxEwS4HhnEibAgI6fQCAjK7+b6/8zXVor/eGeNxaIDOXepfFYpomZQJzaN4IGZE qnuuGAmTxmNaUotRzgbwVLeN8z57L/rjJ7Z8yc9nKZVMpSqfSacVt4nzEDXEtSISSfBF7T E/YhvETiSmdOhTThnEmsfW9eXMge3YypD0LUMU4EcN9y6fqrtLnUaH6w92X+Scv9ZpYFmf hsGspV3KBES0gqGdRctBNDLMeU5U7Ctn4ff7kwAYln13n+PzUF5uN81QdFCvew== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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: -1.82 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none); 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: 5A1201991 X-Spam-Score: -1.82 X-Migadu-Scanner: scn0.migadu.com X-TUID: 13J2pOzW5mJK On 26/07/2021 16:25, Juan Manuel Macías wrote: > > I'm experimenting with `org-link-set-parameters' to create multilingual > quotes (chunks of text) inside paragraphs. Although I focus mainly on > the export to LaTeX with babel and csquotes packages, I also want extend > support for HTML and odt output. I leave here some sketches. Are you intentionally avoiding macros {{{lang(ru, текст)}}}? It seems, you are abusing links a bit. Though it allows to hide "target" part and thus to reduce "noise" in the text. On the other hand, links may be broadly considered as customizable element ("interactive" property is not necessary for such snippets) since there are no other similar objects in Org syntax. One problem is support in 3rd party tools: pandoc, various renderers, e.g. (ruby?) on github. Another issue is that someone will almost immediately want to put such quote inside link or vice versa to make some fragment of a quote a regular link. A workaround is possible: lang:de?href=https%3A%2F%2Forgmode.org%2F with some code for handling of unescaped target. I expect complains that it is not user-friendly to require splitting fragment at the borders of inner link. Org does not support nested objects of the same type. > or explicitly preceded by > a "!": "!german" (the reason for the latter is that in babel we can > define new languages): Unsure that ODT and HTML allows to define languages. I would consider some lisp structures describing mapping of customizable languages codes to some set of properties.